منتشر شده: ۳ ژوئن ۲۰۲۶
مگر اینکه خلاف آن ذکر شده باشد، تغییرات زیر در جدیدترین نسخه کانال بتای کروم برای اندروید، ChromeOS، لینوکس، macOS و ویندوز اعمال میشود. برای کسب اطلاعات بیشتر در مورد ویژگیهای ذکر شده در اینجا، از طریق لینکهای ارائه شده یا از لیست موجود در ChromeStatus.com اقدام کنید. کروم از تاریخ ۲ ژوئن ۲۰۲۶ در نسخه بتا است. میتوانید آخرین نسخه را برای دسکتاپ از Google.com یا برای اندروید از فروشگاه گوگل پلی دانلود کنید.
سیاساس و رابط کاربری
رنگهای سیستم AccentColor و AccentColorText
رنگهای سیستمی AccentColor و AccentColorText میتوانند در CSS برای دسترسی به رنگ سیستمی مشخص شده در دستگاه کاربر استفاده شوند. این قابلیت به توسعهدهندگان اجازه میدهد تا در زمینههایی که کاربران انتظار ادغام تم سیستم عامل را دارند، مانند یک برنامه وب نصب شده، سبکدهی شبیه به برنامه را به محتوای وب خود اعمال کنند. کاربران باید در یک برنامه وب نصب شده در نمایه اولیه باشند تا رنگ سیستمی رندر شده را ببینند.
پارامتر گرد کردن اختیاری را برای polygon() مجاز کنید
به شما امکان میدهد یک پارامتر اختیاری برای گرد کردن گوشهها در تابع شکل polygon() در CSS تعیین کنید. توسعهدهندگان میتوانند بدون محاسبه دستی منحنیهای bezier، یک مقدار طول برای گرد کردن گوشههای چندضلعی تعیین کنند.
بزرگنمایی متحرک
ویژگی zoom در CSS قابل انیمیشن است و به صورت یک <number> درونیابی میشود. توسعهدهندگان میتوانند بزرگنمایی را به صورت متحرک و انتقالی انجام دهند تا عناصر و طرحبندی آنها به راحتی مقیاسبندی شوند و مقیاسبندی مبتنی بر تبدیل موجود را تکمیل کنند.
اصلاحکنندههای درخواست URL در CSS
توابع url() در CSS، اصلاحکنندههای درخواست اختیاری را پس از رشته URL نقلقولشده میپذیرند: cross-origin() ، integrity() و referrer-policy() . این اصلاحکنندهها رفتار واکشی منبع ارجاعشده را مستقیماً از CSS کنترل میکنند، بدون اینکه نیازی به تغییر در نشانهگذاری HTML یا جاوا اسکریپت باشد.
برای مثال، background-image: url("image.png" cross-origin(anonymous)) تصویر را با استفاده از حالت ناشناس CORS دریافت میکند.
ویژگی text-fit در CSS
اندازه فونت گرههای متنی را طوری تغییر میدهد که کاملاً با عرض کادر حاوی آنها متناسب شود.
این ویژگی به توسعهدهندگان اجازه میدهد تا مطمئن شوند که تیترها یا محتوای پویا، فضای افقی موجود را بدون محاسبات دستی اندازه فونت یا راهحلهای پیچیده جاوا اسکریپت، پر میکنند. این ویژگی یک راهحل قوی و مبتنی بر CSS برای تایپوگرافی واکنشگرا ارائه میدهد که ترازبندی بصری را در اندازههای مختلف صفحه نمایش و طول متن متغیر حفظ میکند.
background-clip: border-area
مقدار border-area را برای ویژگی background-clip در CSS پیادهسازی میکند، همانطور که در CSS Backgrounds سطح ۴ تعریف شده است. مقدار background-clip پسزمینه یک عنصر را به ناحیهای که توسط خطوط حاشیه آن رنگآمیزی شده است، میچسباند و border-width و border-style در نظر میگیرد و شفافیت border-color را نادیده میگیرد. این مقدار به شما امکان میدهد حاشیههای گرادیان بدون border-image ایجاد کنید.
تابع image(<color>)
تابع image() به توسعهدهندگان اجازه میدهد تا از هر رنگی، یک تصویر تکرنگ ایجاد کنند. سینتکس آن به صورت زیر است: image() = image( <color> ) .
light-dark() در CSS با مقادیر تصویر
تابع light-dark() در CSS را بسط میدهد تا مقادیر تصویر، مانند url() ، image-set() و none در stylesheetهای نویسنده بپذیرد و به ویژگیهای تصویر مانند background-image ، list-style-image ، border-image-source ، cursor و content اجازه دهد تا به طور خودکار بین تصاویر بر اساس طرح رنگ ترجیحی کاربر تغییر کنند. پیش از این، این رفتار فقط در stylesheetهای User Agent مجاز بود. این تغییر با مشخصات CSS Color 5 همسو است و با پیادهسازی موجود فایرفاکس مطابقت دارد.
کپی کردن در تمام عناصر فرزند selectedcontent
چندین تغییر کوچک در حروف کوچک و بزرگ عنصر selectedcontent اعمال میشود:
- وقتی چندین عنصر
selectedcontentبه طور همزمان در یک عنصر<select>قرار میگیرند، همه آنها به جای اینکه فقط اولین عنصر در ترتیب DOM بهروز نگه داشته شود، بهروز نگه داشته میشوند. - بهروزرسانی عنصر
selectedcontentهنگام اجرای مراحل درج، حذف یا جابجایی برای رفع مشکلات امنیتی به تعویق میافتد. بهروزرسانی با استفاده از مراحل پس از درج یا ریزوظایف به تعویق میافتد.
کوئریهای کانتینر جدا شده با کاما
از چندین پرسوجو به ازای هر قانون @container پشتیبانی میکند. قانون @container در صورتی اعمال میشود که حداقل یکی از پرسوجوها مطابقت داشته باشد.
این قابلیت، امکان داشتن کوئریهای جایگزین برای ویژگیهایی که در همه مرورگرها پشتیبانی نمیشوند را فراهم میکند.
مثال:
@container --name1 not-supported(--foo: bar), --name2 (width > 600px) {}
علاوه بر پشتیبانی از چندین پرسوجو، مدل شیء برای پشتیبانی از ویژگی conditions در رابط برنامهنویسی کاربردی CSSContainerRule توسعه داده شده است.
نمایش قسمتهای غیرقابل چاپ به CSS
چاپگرها معمولاً در هر یک از چهار لبه یک ورق کاغذ، ناحیه کوچکی دارند که معمولاً به دلیل مکانیسم جابجایی کاغذ چاپگر، قادر به علامتگذاری قابل اعتماد آن نیستند. انتظار میرود حاشیههای پیشفرض صفحه بزرگتر از این نواحی باشند، اما اگر نویسندگان حاشیهها را خودشان تنظیم کنند و حتی بخواهند کادرهای حاشیه @page را اضافه کنند، مثلاً برای سرصفحهها و پاورقیهای سفارشی، به روشی نیاز دارند تا مشخص کنند چاپ در کجا امن است.
میتوان از توصیفگر CSS به نام page-margin-safety برای جلوگیری از چنین نواحی غیرقابل چاپ استفاده کرد.
ویژگی focusgroup
به نویسندگان اجازه میدهد تا به صورت اعلانی، ناوبری با کلید جهتنما، توقف تب تضمینشده و حافظه آخرین-متمرکز را به ویجتهای ترکیبی اضافه کنند و جایگزین اسکریپتهای فهرستبندی تبِ متحرکِ کدنویسیشدهی دستی شوند. مثال:
<div focusgroup="toolbar wrap" aria-label="Formatting">
<button>Bold</button>
<button>Italic</button>
<button>Underline</button>
</div>
شبه کلاسهای عنصر رسانه
شبه کلاسهای CSS :playing ، :paused ، :seeking ، :buffering ، :stalled ، :muted و :volume-locked با عناصر <audio> و <video> بر اساس وضعیت آنها مطابقت دارند.
این ویژگی یکی از حوزههای تمرکز در Interop 2026 است.
تغییرات رفتار popover=hint
این تغییر، یک مدل پشتهسازی اصلاحشده و سادهشده را برای ویژگی popover=hint و تعاملات آن با popover=auto پیادهسازی میکند. پیش از این، تعاملات بین این دو نوع popover میتوانست در برخی موقعیتهای خاص، مانند تودرتو کردن popover=auto درون popover=hint ، پیچیده باشد و میتوانست منجر به رفتار غیرمنتظرهای شود. تحت مدل جدید، باز کردن یک popover=hint دیگر بهطور ناخواسته عناصر popover=auto نامرتبط را نمیبندد. popoverهای Hint فقط زمانی پنهان میشوند که popover=auto اجدادی آنها پنهان باشد، یا زمانی که یک popover=auto جدید و نامرتبط باز شود. علاوه بر این، توسعهدهندگان میتوانند با خیال راحت یک popover auto را درون یک popover hint تودرتو کنند. به جای ایجاد استثنا یا شکستن پشته، popover=auto تودرتو به طرز زیبایی تنزل رتبه داده و مانند یک popover=hint رفتار میکند. این قابلیت به توسعهدهندگان اجازه میدهد یک <select> قابل تنظیم را درون یک popover=hint قرار دهند.
برای بهبود بیشتر پیشبینیپذیری و جلوگیری از جهشهای پیچیده در وضعیت، کروم همچنین رفتار مربوط به باز و بسته کردن popoverها را از درون رویداد beforetoggle سختتر میکند. پیش از این، برای برخی از موارد ممکن، اما نه همه آنها، محافظهایی وجود داشت. این تغییر، مکانیسم مورد استفاده برای تشخیص این موارد را اصلاح میکند تا InvalidStateError ها را برای همه این موارد با اطمینان بیشتری ارسال کند. این تغییر تضمین میکند که مدیریت وضعیت popover پایدار باقی بماند و از اشکالات ورود مجدد حلقهای جلوگیری شود.
این تغییرات ناشی از گفتگوهای استاندارد با موزیلا در مورد درخواست انتشار مشخصات HTML در GitHub بود.
رنگهای آلفای نسبی
رنگهای آلفای نسبی یک روش مستقیم CSS برای استخراج یک نسخه شفاف از یک رنگ موجود بدون بازنویسی کانالهای رنگی آن ارائه میدهند. در حال حاضر، توسعهدهندگان وقتی میخواهند رنگ یکسانی با شفافیت متفاوت داشته باشند، باید مقادیر اجزا را کپی کنند یا توکنهای از پیش محاسبهشده جداگانهای ایجاد کنند. تابع alpha() در CSS Color 5 اجزای رنگ اصلی را حفظ میکند و فقط آلفا را تغییر میدهد، که سربار نوشتن را کاهش میدهد و استفاده مجدد و نگهداری توکنهای رنگ را آسانتر میکند.
flex-wrap:balance
flex-wrap:balance به توسعهدهندگان اجازه میدهد محتوا را بین خطوط flex توزیع کنند تا متعادلتر به نظر برسد، مشابه text-wrap:balance .
تابع named-feature() برای CSS @supports
تابع named-feature() به قوانین @supports در CSS اجازه میدهد تا مجموعهای کوچک از ویژگیهای خاص با نام را جستجو کنند که آزمایش آنها با استفاده از سایر مکانیسمهای @supports امکانپذیر نیست، اما آزمایش آنها بسیار ارزشمند تلقی میشود.
overscroll-behavior: chain
overscroll-behavior سه مقدار دارد: none ، auto و contain . این مقادیر بر دو اثر مستقل تأثیر میگذارند: انتشار اسکرول و اثر حاشیه محلی. برای مثال، overscroll stretch.
-
none: بدون انتشار اسکرول، بدون اثرات مرزی محلی. -
auto: انتشار اسکرول، اثرات مرزی محلی. -
contain: بدون انتشار اسکرول، اثرات مرزی محلی.
این نسخه مقدار جدیدی را برای تکمیل مجموعه دنبال میکند: chain : انتشار اسکرول، بدون اثرات مرزی محلی.
این مقدار برای جلوههایی مانند منوهای کناری که به صورت اسکرول پیادهسازی شدهاند مفید است. میتوانید منو را بیاورید و وقتی به لبه میرسد، بیش از حد اسکرول نمیشود، یا کشیده و جابجا نمیشود. با این حال، اسکرول به والد خود زنجیر میشود.
API های وب
فیلترهای SVG را در افزونهها و فریمهای cross-origin یا limited غیرفعال کنید.
کروم ۱۵۰ از اعمال فیلترهای گرافیک برداری مقیاسپذیر (SVG) بر روی iFramesهای cross-origin یا limited، مانند iFramesهای sandboxed و افزونههای تعبیهشده، مانند PDFها، جلوگیری میکند. هنگامی که یک فریم یا افزونه با جلوه فیلتر SVG رنگآمیزی میشود، درخت جلوهها برای یافتن بالاترین جد بدون فیلترهای SVG پیمایش میشود و آن جلوه به جای آن اعمال میشود.
IndexedDB: بکاند SQLite
پیادهسازی IndexedDB کرومیوم بر پایه SQLite بازنویسی شده است تا جایگزین پیادهسازی قبلی شود که از ترکیبی از LevelDB و فایلهای مسطح استفاده میکرد. این تغییر بر API وب تأثیری ندارد.
انتظار میرود این بازنویسی، قابلیت اطمینان و تا حد کمتری، عملکرد را بهبود بخشد.
فعلاً، این تغییر برای انبارههای داده جدید اعمال میشود. این تغییر مرحله ۲ از یک انتشار تدریجی چند مرحلهای است. برای مشاهده زمینههای درون حافظهای SQLite که مرحله ۱ را دنبال میکند، به صفحه ویژگی ChromeStatus مراجعه کنید.
شمارندههای فریم MediaStreamTrackProcessor
ویژگیهای discardedFrames و totalFrames را به رابط MediaStreamTrackProcessor اضافه میکند. این شمارندهها به توسعهدهندگان وب اجازه میدهند تا با ردیابی تعداد فریمهای دریافتی و حذفشده توسط پردازنده، سلامت خطوط لوله پردازش رسانه خود را کنترل کنند.
منشأ مبهم data: URLها
کروم ۱۵۰ نحوهی مدیریت data: DedicatedWorker و SharedWorker را بهروزرسانی میکند: URLها. این workerها به جای اینکه به طور خودکار از مبدأ امنیتی اسکریپت یا صفحهای که آنها را ایجاد کرده است، ارثبری کنند، یک مبدأ مات منحصر به فرد به آنها اختصاص داده میشود.
این تغییر با مشخصات HTML مربوط به worker همسو است و با ایزوله کردن این workerها از حالت same-origin مربوط به سازنده، امنیت را افزایش میدهد و از دسترسی آنها به دادههای حساس از طریق مکانیسمهایی مانند BroadcastChannel یا فضای ذخیرهسازی same-origin جلوگیری میکند. برای حفظ مرزهای صحیح ایزولهسازی، این workerها همچنان در همان پارتیشن ذخیرهسازی (به عنوان مثال، با حفظ سایت سطح بالا یا nonce) به عنوان سازنده خود قرار دارند.
این تنظیم امنیتی به طور پیشفرض در پلتفرمهای دسکتاپ و موبایل فعال است. مدیران میتوانند از طریق پیکربندیهای متمرکز خود، مرزهای امنیتی را بررسی یا تأیید کنند. برای جزئیات پیادهسازی فنی و مراجع مشخصات، به مرحله 3 تنظیمات کارگر استاندارد زندگی HTML مراجعه کنید.
مهاجرت مبدا PWA
وقتی کاربری یک برنامه وب پیشرونده (PWA) نصب میکند، هویت و زمینه امنیتی آن به شدت به مبدأ وب آن، مثلاً app.example.com ، وابسته است. این وابستگی، چالش مهمی را برای توسعهدهندگانی ایجاد میکند که به دلیل تغییر نام تجاری، تغییر ساختار دامنه یا تغییر معماری فنی، نیاز به تغییر مبدأ PWA خود دارند. چنین تغییری کاربران را مجبور میکند تا برنامه قدیمی را به صورت دستی حذف نصب کرده و برنامه جدید را دوباره نصب کنند که منجر به یک تجربه مختلکننده و از دست دادن احتمالی کاربر میشود. کروم ۱۵۰ مکانیزمی را برای توسعهدهندگان معرفی میکند تا یک PWA نصب شده را به یک مبدأ جدید در همان سایت منتقل کنند و اعتماد و مجوزهای کاربر را حفظ کنند.
سیاست WebAppInstallForceList مانع از مهاجرت میشود. از آنجایی که سیاستهای سازمانی پیرامون برنامههای وب عمدتاً مبتنی بر URLها و مبدأها هستند، این خطر وجود دارد که یک مهاجرت، سیاستهای خاصی را که ممکن است یک مدیر پیکربندی کرده باشد، دور بزند. کروم وقتی یک برنامه توسط مدیر سازمانی به زور نصب میشود، مهاجرت را به کاربر ارائه نمیدهد و در عوض بنری را نمایش میدهد که این موضوع را برای کاربر توضیح میدهد.
دستورالعملهای پردازش را در HTML تجزیه کنید
دستورالعملهای پردازش (syntax: <?target data> ) یک ساختار DOM موجود هستند که در XML نمایش داده میشوند و به اشیاء گرهای که عنصر نیستند اما میتوانند دارای معانی معنایی برای پردازش یک سند باشند، اجازه میدهند.
برای مثال، میتوانید از آنها برای مشخص کردن محدودههایی برای استریمینگ یا هایلایت کردن بدون نیاز به عناصر DOM جدید و تغییر ساختار DOM تا آنجا که به CSS مربوط میشود، یا به عنوان دستورالعملهایی برای تجزیهکننده HTML در مورد نحوه بافر کردن و استریمینگ استفاده کنید.
پخش خارج از ترتیب
استریمینگ خارج از ترتیب به شما امکان میدهد از <template for> و محدودههای دستورالعمل پردازش ( <?start> و <?end> ) برای ارائه HTML به ترتیب غیرترتیبی و بهروزرسانی بخشهای موجود سند بدون جاوا اسکریپت استفاده کنید.
وعدههای اسکرول برنامهریزیشده
این قابلیت، سیگنال قابل اعتمادی برای وضعیت تکمیل یک اسکرول روان برنامهنویسیشده فراهم میکند. تمام متدهای اسکرول در Element و Window ، اشیاء Promise را برمیگردانند که پس از تکمیل اسکرول، حل میشوند و مقدار حلشده نشان میدهد که آیا اسکرول قطع شده است یا خیر.
WebGPU بلافاصله
یک فضای آدرسدهی فوری جدید در WGSL و یک متد setImmediateData() روی رمزگذارهای render pass، compute pass و render bundle اضافه میکند که امکان ارسال مقادیر کمی از دادههای مرتباً بهروز شده را مستقیماً به shaderها بدون ایجاد اشیاء بافر GPU یا گروههای bind فراهم میکند. این امر بهویژه برای برنامههایی که نیاز به بهروزرسانی پارامترهای per-draw مانند شاخصهای شیء، شاخصهای مواد یا ماتریسهای تبدیل در هر فراخوانی draw دارند، مفید است و با جلوگیری از سربار مدیریت گروه بافر و bind، بهبودهای قابل توجهی در عملکرد ایجاد میکند.
API گفتار وب: کیفیت تشخیص روی دستگاه
رابط SpeechRecognition را با افزودن یک ویژگی quality به SpeechRecognitionOptions گسترش میدهد. این ویژگی به توسعهدهندگان اجازه میدهد تا با استفاده از processLocally: true قابلیت معنایی مورد نیاز برای تشخیص روی دستگاه را مشخص کنند.
شمارش quality پیشنهادی از سه سطح - command ، dictation و conversation - پشتیبانی میکند و با افزایش پیچیدگی وظایف و نیازهای سختافزاری تطبیق مییابد. این قابلیت به توسعهدهندگان اجازه میدهد تا تعیین کنند که آیا دستگاه محلی میتواند موارد استفاده با ریسک بالا (مانند رونویسی جلسات) را مدیریت کند یا اینکه باید به سرویسهای ابری روی آورند و ماهیت مبهم قابلیتهای مدل روی دستگاه را حل کنند.
آزمایشهای منشأ جدید
در کروم ۱۵۰ میتوانید در آزمایشهای جدید زیر شرکت کنید.
پروتکل تأیید ایمیل ( EVP )
پروتکل تأیید ایمیل ( EVP ) با ارائه یکپارچه اثبات مالکیت رمزنگاری شده به جای ارسال دستی رمز یکبار مصرف (OTP) از طریق ایمیل، به کاربران در ایجاد، دسترسی و بازیابی حسابها کمک میکند.
منسوخها و حذفها
این نسخه از کروم، موارد منسوخشده و حذفشدهی زیر را معرفی میکند.
حذف [LegacyNoInterfaceObject] از FontFaceSet IDL
IDL مربوط به FontFaceSet کرومیوم قبلاً به اشتباه از [LegacyNoInterfaceObject] استفاده میکرد که FontFaceSet به عنوان یک ویژگی سراسری پنهان میکرد و ویژگی سازنده را از نمونه اولیه آن حذف میکرد. این رفتار از مشخصات بارگذاری فونت CSS منحرف شده و با رفتار سافاری و فایرفاکس متفاوت بود.
این حذف، [LegacyNoInterfaceObject] را از FontFaceSet IDL حذف میکند و باعث میشود FontFaceSet به عنوان یک ویژگی سراسری به درستی قابل دسترسی باشد. از آنجایی که هیچ constructor() در IDL تعریف نشده است، فراخوانی صحیح new FontFaceSet() از جاوا اسکریپت، TypeError: Illegal constructor را ایجاد میکند که با رفتار تعیینشده توسط مشخصات مطابقت دارد.