مگر اینکه غیر از این ذکر شده باشد، تغییرات زیر در جدیدترین نسخه کانال بتا Chrome برای Android، ChromeOS، Linux، macOS و Windows اعمال میشود. از طریق پیوندهای ارائه شده یا از فهرست موجود در ChromeStatus.com درباره ویژگی های فهرست شده در اینجا بیشتر بیاموزید. Chrome 121 از 6 دسامبر 2023 در نسخه بتا است. میتوانید آخرین نسخه را در Google.com برای دسکتاپ یا در فروشگاه Google Play برای Android بارگیری کنید.
CSS
این نسخه شش ویژگی جدید CSS را اضافه می کند.
وراثت برجسته CSS
با CSS Highlight Inheritance، کلاس های شبه برجسته CSS، مانند ::selection
و ::highlight
، ویژگی های خود را از طریق زنجیره برجسته شبه به ارث می برند تا زنجیره عنصر. نتیجه یک مدل بصری تر برای به ارث بردن خواص در هایلایت است.
این الزامات CSS Pseudos Level 4 را پیاده سازی می کند:
"وقتی به هر ویژگی پشتیبانی شده مقداری توسط آبشار داده نمی شود ... مقدار مشخص شده آن با ارث بردن از شبه عنصر برجسته متناظر عنصر اصلی عنصر اصلی تعیین می شود."
نوارهای پیمایش CSS: scrollbar-color
و scrollbar-width
مشخصات CSS Scrollbars به توسعه دهندگان این امکان را می دهد تا با تعیین رنگ و ضخامت نوارهای پیمایشی، استایل دهند. این مشخصات دو ویژگی زیر را اضافه می کند. ویژگی scrollbar-color
قابلیت تغییر طرح رنگ اسکرولبارها را فراهم میکند تا بهتر با سبک خاص یک صفحه وب سازگار شوند. ویژگی scrollbar-width
امکان استفاده از نوارهای پیمایش باریک تری را فراهم می کند که ممکن است برای برخی موارد استفاده مناسب تر باشد، یا حتی برای پنهان کردن کامل نوارهای اسکرول بدون تأثیر بر قابلیت اسکرول، مناسب تر باشد.
انیمیشن font-palette
CSS برای فونت های رنگی
ویژگی CSS font-palette
امکان انتخاب یک پالت خاص را برای ارائه یک فونت رنگی فراهم می کند. با پشتیبانی جدید اضافه شده برای متحرک سازی این ویژگی ، انتقال بین پالت ها دیگر یک مرحله گسسته نیست، بلکه تبدیل به یک انتقال صاف بین دو پالت انتخاب شده می شود. این در همه جا در انیمیشن ها و انتقال های CSS کار می کند.
ویژگی های املا و دستور زبان CSS
CSS عناصر کاذب را برای استایل دادن به متن برجسته میکند که عامل کاربر آنها را بهعنوان غلط املایی یا دستوری نادرست پرچمگذاری کرده است، و تزئینات خطی که تزئینات پیشفرض عامل کاربر را برای اشتباهات املایی و دستوری نشان میدهد. این ویژگیها به توسعهدهندگان اجازه میدهد تا رنگهای خواناتری را برای اشتباهات املایی و دستوری پیشفرض انتخاب کنند، کلمات غلط املایی را با رنگهای پسزمینه یا تزئینات دیگر برجسته کنند و املای سفارشی را که با تجربه دستگاه ترکیب میشود، اجرا کنند.
پوشش CSS بهبود یافته برای SVG
این ادامه پشتیبانی بهبودیافته ماسک CSS در کروم 120 است و پشتیبانی ماسک جدیدی را به SVG اضافه میکند (ماسکهای متعدد و همچنین mask-mode
، mask-composite
، mask-position
و mask-repeat
). علاوه بر این، ماسک های SVG راه دور (به عنوان مثال، mask: url(masks.svg#star)
) اکنون پشتیبانی می شوند.
مقادیر نمایشگر مخصوص روبی
مقادیر ویژگی های نمایش CSS جدید، ruby
و ruby-text
اضافه شده است. مقادیر نمایش پیشفرض <ruby>
و <rt>
به ترتیب به ruby
و ruby-text
تغییر میکنند و طرح ruby به این مقادیر نمایشی احترام میگذارد. نویسندگان وب می توانند از هر عنصری مانند <div>
برای رندر روبی با تنظیم مقادیر نمایش جدید استفاده کنند.
API های وب
بسته ویژگی گزارش انتساب: کاهش تاخیرهای کل، فیلد اپسیلون گزارش سطح رویداد، کلیدهای رزرو شده
Chrome شامل تغییراتی در Attribution Reporting API متمرکز بر موارد زیر است:
- کاهش تلفات انتقال با حمایت از کاهش تاخیرهای گزارش کل.
- قابلیت پیکربندی API اضافی با پشتیبانی از یک فیلد اپسیلون گزارش در سطح رویداد.
- توسعه پذیری API با عدم ثبت نام در هنگام مواجهه با کلیدهای رزرو شده بهبود یافته است.
Back/Forward cache notRestoredReason API
notRestoredReason API فهرستی از دلایل عدم ارائه صفحه از bfcache را با استفاده از PerformanceNavigationTiming API گزارش میکند.
نیاز به اشاره کاربر برای تغییر اندازه APIها در Document picture-in-picture
این روشهای resizeBy()
و resizeTo()
را در پنجرههای تصویر در تصویر سند فعال میکند، اما با اضافه شدن محدودیت نیاز به اشاره کاربر برای کاهش پتانسیل سوء استفاده.
EditContext API
EditContext API فرآیند یکپارچهسازی یک برنامه وب با روشهای پیشرفته ورودی متن مانند شکلنویسی VK، پانلهای دستنویس، تشخیص گفتار و ترکیبهای IME را ساده میکند. دسترسی و عملکرد را بهبود می بخشد و قابلیت های جدیدی را برای ویرایشگرهای مبتنی بر وب باز می کند.
تشخیص ویژگی برای فرمت های کلیپ بورد پشتیبانی شده
اکنون می توانید با فراخوانی تابع new supports()
و ارسال نوع MIME به عنوان آرگومان، مانند ClipboardItem.supports('image/png')
بررسی کنید که آیا API Async Clipboard از نوع MIME خاصی پشتیبانی می کند یا خیر.
HTMLSelectElement showPicker()
متد showPicker()
از HTMLSelectElement به توسعه دهندگان راهی می دهد تا به صورت برنامه نویسی انتخابگر گزینه عنصر <select>
را بر اساس الگوی input.showPicker()
باز کنند.
قابلیت های Media: پشتیبانی از HDR را با decodingInfo()
پرس و جو کنید
API قابلیتهای رسانه را گسترش میدهد تا امکان تشخیص پشتیبانی از رندر HDR را از طریق سه فیلد فرهنگ لغت پیکربندی ویدیوی جدید: hdrMetadataType، colorGamut، transferFunction.
Chromium الگوریتمهای نگاشت آهنگ خود را پیادهسازی میکند، بنابراین همیشه برای ابردادههای استاتیک HDR10 (smpteSt2086) true خواهد بود. ابردادههای پویا smpteSt2094-40 (HDR10+) و smpteSt2094-10 در حال حاضر پشتیبانی نمیشوند، بنابراین false برمیگردد.
Private Aggregation API: انتخاب هماهنگ کننده تجمع
این اصلاح در Private Aggregation API مکانیزمی را برای انتخاب هماهنگ کننده ای که برای رمزگذاری بار استفاده شود (از فهرست مجازهای مشخص شده توسط فروشنده) فراهم می کند. انتخاب سرویس با یک گزینه اضافی در فراخوانی run()
ذخیره سازی مشترک و selectURL()
و در فراخوانی runAdAuction()
و joinAdInterestGroup()
's Protected Audience انجام می شود. رویکرد گسترده تا حد زیادی با رویکرد Attribution Reporting API مطابقت دارد.
Remote Playback API روی دسکتاپ
این API HTMLMediaElement
را گسترش می دهد که امکان کنترل پخش از راه دور رسانه را از یک صفحه وب فراهم می کند. این در Android در Chrome 56 ارسال شد و در دسکتاپ از Chrome 121 در دسترس است.
Speculation Rules API
ویژگی های جدیدی برای Speculation Rules API وجود دارد.
پشتیبانی از قوانین سند: این افزونه ای برای نحو قوانین حدس و گمان است که به مرورگر اجازه می دهد لیست URL ها را برای بارگذاری گمانه زنی از عناصر <a>
در یک صفحه بدست آورد. آنها ممکن است شامل معیارهایی باشند که کدام یک از این پیوندها را می توان استفاده کرد. این، همراه با یک فیلد جدید "اشتیاق" برای قوانین حدس و گمان به توسعه دهندگان این امکان را می دهد که به طور خودکار پیوندها را در صفحات بلافاصله، با شناور یا با ماوس به پایین واکشی یا از قبل اجرا کنند.
یک تغییر جداگانه اجازه می دهد تا قوانین حدس و گمان را با استفاده از هدر پاسخ Speculation-Rules
HTTP به عنوان جایگزینی برای استفاده از عناصر <script>
درون خطی مشخص کنید. مقدار این هدر باید یک URL باشد که به یک منبع متنی با نوع MIME "application/speculationrules+json"
اشاره می کند. قوانین منبع به مجموعه قوانین سند اضافه خواهد شد.
در نهایت، اشاره No-Vary-Search
واکشی های پیش فرضی را قادر می سازد حتی اگر پارامترهای جستجوی URL تغییر کنند، مطابقت داشته باشند. سربرگ پاسخ HTTP No-Vary-Search
اعلام میکند که برخی یا همه بخشهای جستجوی URL را میتوان برای اهداف تطبیق نادیده گرفت. می تواند اعلام کند که ترتیب کلیدهای پارامتر پرس و جو نباید از تطابق ها جلوگیری کند، پارامترهای پرس و جو خاص نباید از تطابق جلوگیری کنند، یا اینکه فقط برخی از پارامترهای پرس و جو شناخته شده باید باعث عدم تطابق شوند.
اشیاء رابط SpeechSynthesis و SpeechSynthesisVoice
اشیاء رابط SpeechSynthesis
و SpeechSynthesisVoice
را به ویژگی های پشتیبانی شده از قبل اضافه می کند. این امر تشخیص ویژگی با استفاده از SpeechSynthesisVoice.prototype را امکان پذیر می کند.
Storage Buckets API
Storage Buckets به سایتها این امکان را میدهد که دادههای روی دستگاه را در «سطلهای» جداگانه سازماندهی کنند، به عوامل کاربر اجازه میدهد تا دادههای گروهبندیشده را مستقل از دادههای موجود در سطلهای دیگر خارج کنند و سایتها را قادر میسازد تا دادههای مرتبط معنایی را به صورت ارگونومیک مدیریت کنند. هر سطل ذخیره سازی می تواند حاوی داده های مرتبط با API های ذخیره سازی تاسیس شده مانند IndexedDB و CacheStorage باشد.
URLPattern: به ارث بری سمت چپ، حروف عام سمت راست
رفتار به الگوهایی که با استفاده از URL پایه، نحو رشته سازنده یا هر دو ساخته میشوند تغییر میکند - اما نه هر الگوی که صراحتاً مؤلفهها را بدون URL پایه مشخص میکند.
اگر مؤلفه «پیشتر» به صراحت مشخص شده باشد، مؤلفهها از URL پایه به ارث نمیرسند. در قالب رشته، مؤلفههای «آخر» نامشخص بهطور ضمنی به جای خالی بودن (به استثنای پورت، که همیشه وقتی نام میزبان مشخص میشود، مشخص میشود) به طور ضمنی علامتگذاری میشوند. نام کاربری و رمز عبور هرگز به طور ضمنی مشخص یا به ارث نمی رسد.
این باعث میشود که الگوها در مواردی که احتمالاً علامتهای عام مطلوب هستند، گستردهتر از قبل شوند.
URLPattern: به جای u
پرچم RegExp v
URL Pattern API به توسعه دهندگان اجازه می دهد تا رشته های الگو را مشخص کنند. آن ها در داخل به عبارات منظم تبدیل می شوند.
زمانی که API برای اولین بار پیاده سازی شد، این عبارات منظم با پرچم u
کامپایل شدند. Chrome 121 آن را به پرچم v
به روز می کند و مجموعه های یونیکد را فعال می کند.
موارد اضافه شده به WebGPU
WebGPU اکنون به توسعه دهندگان این امکان را می دهد که هنگام ایجاد خط لوله، نقاط ورودی به ماژول های سایه زن را حذف کنند و ارگونومی را بهبود بخشند. اگر نقطه ورودی پیشفرض پیدا نشد، یک GPUValidationError طبق معمول راهاندازی میشود.
پرسوجوهای مهر زمانی WebGPU به برنامههای WebGPU این امکان را میدهند که دقیقاً (تا نانوثانیه) مدت زمان اجرای دستورات GPU آنها را اندازهگیری کنند، مخصوصاً در ابتدا و انتهای پاسها. پرس و جوهای مهر زمانی به شدت برای به دست آوردن بینش در مورد عملکرد و رفتار بارهای کاری GPU استفاده می شوند.
در حالی که مشخصات WebGPU به دلیل نگرانیهای مربوط به حمله زمانبندی، پرسوجوهای مهر زمانی را به یک ویژگی اختیاری تبدیل میکند، ما معتقدیم که کوانتیزه کردن پرسوجوهای مهر زمانی با کاهش دقت تایمرها با وضوح 100 میکروثانیه، میانه خوبی را فراهم میکند.
محصور کردن کلید X25519Kyber768 برای TLS
با استقرار الگوریتم توافقنامه کلید مقاوم در برابر کوانتومی Kyber768، از ترافیک فعلی Chrome TLS در برابر تحلیل رمزنگاری کوانتومی آینده محافظت کنید. این یک توافق کلید هیبریدی X25519 + Kyber768 بر اساس استاندارد IETF است. این مشخصات و راه اندازی خارج از محدوده W3C است. این قرارداد کلیدی به عنوان رمز TLS راه اندازی می شود و باید برای کاربران شفاف باشد.
آزمایش های مبدا در حال انجام است
در Chrome 121 میتوانید آزمایشهای اصلی جدید زیر را انتخاب کنید.
Element Capture API
Element Capture API روش هایی را برای گرفتن زیردرخت از DOM ارائه می کند.
با توجه به ویدئویی MediaStreamTrack که از طریق ابزارهای از قبل موجود برای شروع ضبط برگه به دست آمده است، Element Capture اجازه می دهد تا آهنگ را تغییر دهید تا فقط یک زیردرخت از DOM را که از یک عنصر مشخص شروع می شود، ضبط کند.
API شباهتهایی با Region Capture API دارد، اما انعطافپذیری بیشتری برای برنامهها فراهم میکند، زیرا محتوای مسدود و مسدود شده هر دو از ضبط حذف میشوند.
برای آزمایش اولیه ElementCapture ثبت نام کنید
تغییرات در رفتار موجود
Chrome 121 شامل تغییرات زیر در رفتار موجود است که در اینجا گنجانده شده است تا توسعه دهندگان از این تغییر آگاه باشند.
رویدادهای ورودی را به فریمهای متقاطع منتقل شده اخیر کنار بگذارید
اگر یک iframe متقاطع اخیراً در صفحه جاسازی خود جابجا شده باشد، Chrome بیصدا رویدادهایی را که iframe را هدف قرار میدهند کنار میگذارد. منطق این است که اگر iframe اخیراً جابجا شده باشد، احتمالاً کاربر قصد کلیک یا ضربه زدن روی آن را نداشته است.
این تغییر به شکل محدود در سال 2019 ارسال شد: فقط بر روی iframeهای حاوی اسکریپت با استفاده از ویژگیهای نسخه 2 IntersectionObserver (یعنی انسداد یا تشخیص افکت) تأثیر گذاشت. این راهاندازی این رفتار را به همه iframeهای متقاطع گسترش میدهد و بهعنوان یک آزمایش محدود در Chrome 121 شروع میشود و سپس افزایش مییابد.