کروم 120 بتا

پوشاندن CSS، قوانین آرام برای تودرتوی CSS، ایجاد الگوهای آکاردئونی با عنصر <details> ، عمل enterpictureinpicture برای Media Session API.

تغییرات توضیح داده شده در جدیدترین کانال بتا Chrome برای Android، ChromeOS، Linux، macOS و Windows اعمال می‌شود، مگر اینکه خلاف آن ذکر شده باشد. از طریق پیوندهای ارائه شده یا از فهرست موجود در chromestatus.com درباره ویژگی های فهرست شده در اینجا اطلاعات بیشتری کسب کنید. Chrome 120 از 1 نوامبر 2023 نسخه بتا است. می‌توانید آخرین نسخه را در Google.com برای دسک‌تاپ یا در فروشگاه Google Play در Android بارگیری کنید.

CSS

این نسخه هفت ویژگی جدید CSS را اضافه می کند.

دستور CSS <image> برای ویژگی های سفارشی ثبت شده

از دستور <image> برای ویژگی های سفارشی ثبت شده با @property یا registerProperty() پشتیبانی می کند. دستور <image> را می توان برای محدود کردن مقادیر ویژگی سفارشی به مقادیر url() و تصاویر تولید شده مانند گرادیان استفاده کرد.

دستور CSS <transform-function> و <transform-list> برای خواص سفارشی ثبت شده

از دستورات <transform-function> و <transform-list> برای ویژگی‌های سفارشی ثبت‌شده با @property یا registerProperty() پشتیبانی می‌کند.

از نحو می‌توان برای محدود کردن مقادیر ویژگی سفارشی برای نمایش تبدیل‌ها استفاده کرد. این همچنین امکان استفاده از انتقال ها و انیمیشن ها را مستقیماً در این ویژگی های سفارشی ثبت شده امکان پذیر می کند.

پرسش های رسانه ای: ویژگی اسکریپت نویسی

ویژگی رسانه اسکریپت برای بررسی اینکه آیا زبان های برنامه نویسی مانند جاوا اسکریپت در سند فعلی پشتیبانی می شوند یا خیر استفاده می شود. گزینه‌های معتبر «فعال»، «فقط اولیه» و «هیچ‌کدام» هستند. با این حال، «فقط اولیه» هرگز با یک مرورگر مطابقت ندارد.

انتخابگر شبه کلاس :dir().

انتخابگر شبه کلاس :dir() CSS عناصر را بر اساس جهت‌گیری، که بر اساس ویژگی HTML تعیین می‌شود، مطابقت می‌دهد.

:dir(ltr) جهت متن از چپ به راست مطابقت دارد. :dir(rtl) عناصر را با جهت متن از راست به چپ مطابقت می دهد.

این معادل با انتخابگرهای ویژگی [dir] نیست زیرا با جهت‌های به ارث رسیده از یک اجداد با ویژگی dir مطابقت دارد، و به دلیل اینکه با جهت محاسبه‌شده از استفاده از dir=auto (که جهت‌گیری را از نویسه اول متن با مشخص می‌کند) مطابقت دارد. جهت گیری قوی).

توابع نمایی CSS

توابع نمایی CSS را اضافه می کند: pow() ، sqrt() ، hypot() ، log() و exp() از مشخصات CSS Values ​​و Units Level 4.

پوشش CSS

mask CSS و ویژگی‌های مرتبط مانند mask-image و mask-mode برای پنهان کردن یک عنصر (جزئی یا کامل) با پوشاندن یا برش تصویر در نقاط خاص استفاده می‌شوند.

این ویژگی ویژگی های -webkit-mask* را حذف می کند و آنها را با مشخصات فعلی مطابقت می دهد. این شامل mask-image ، mask-mode mask-repeat ، mask-position ، mask-clip ، mask-origin mask-size ، و mask-composite ، و همچنین خلاصه‌نویسی mask است. ارجاعات محلی mask-image پشتیبانی می شوند، سریال سازی اکنون با مشخصات مطابقت دارد و مقادیر پذیرفته شده اکنون با مشخصات مطابقت دارند (به عنوان مثال، add به جای source-over برای mask-composite .)

تودرتوی CSS آرام

این تغییر در پیاده‌سازی تودرتوی CSS به قوانین سبک تودرتو اجازه می‌دهد تا با یک عنصر شروع شوند، برای مثال h1 به جای نیاز به نماد & در جلو، یا پیچیده شدن با is() . مثال زیر اکنون در مشخصات معتبر است و در کروم 120 کار می کند.

.card {
  h1 {
    /* h1 does not start with a symbol */
  }
}

HTML

الگوی آکاردئونی با استفاده از ویژگی نام در <details>

این ویژگی توانایی ساخت آکاردئون با استفاده از دنباله ای از عناصر HTML <details> را اضافه می کند. یک ویژگی نام به عنصر <details> اضافه می کند. هنگامی که از این ویژگی استفاده می شود، چندین عنصر <details> که نام یکسانی دارند یک گروه را تشکیل می دهند. حداکثر یک عنصر در گروه می تواند به طور همزمان باز شود.

API های وب

اجازه انتقال ArrayBuffer به سازنده های VideoFrame، AudioData، EncodedVideoChunk، EncodedAudioChunk، ImageDecoder

این امکان جدا کردن بافرهای آرایه و استفاده از بافرهای مربوطه را در داخل VideoFrame، ImageDecoder، EncodedVideoChunk، EncodedAudioChunk، AudioData بدون کپی می دهد.

CSS Font Loading API FontFaceSet: روش check().

روش check() FontFaceSet بررسی می‌کند که آیا امکان نمایش متن با استفاده از فونت‌های مشخص شده بدون تلاش برای استفاده از فونت‌هایی در FontFaceSet وجود دارد که بارگذاری کامل نشده‌اند. این به کاربران این امکان را می‌دهد تا با خیال راحت از فونت استفاده کنند بدون اینکه بعداً جایگزین فونت شوند.

بستن درخواست ها و CloseWatcher

درخواست‌های بستن مفهوم جدیدی است که شامل درخواست‌های کاربر برای بستن چیزی است که در حال حاضر باز است، با استفاده از کلید Esc روی دسک‌تاپ یا ژست یا دکمه برگشت در اندروید. ادغام آنها در کروم با دو تغییر همراه است:

  • CloseWatcher ، یک API جدید برای گوش دادن مستقیم و پاسخ به درخواست های بسته.
  • برای استفاده از چارچوب درخواست بسته جدید، به <dialog> و popover="" ارتقا دهید تا به دکمه بازگشت Android پاسخ دهند.

کارگران اختصاص داده شده و API دسترسی به فضای ذخیره سازی

کارگران اختصاص داده شده وضعیت دسترسی به فضای ذخیره سازی زمینه والد را به ارث خواهند برد. بنابراین، اگر یک سند از طریق document.requestStorageAccess() دسترسی به فضای ذخیره‌سازی را به دست آورد و سپس یک Worker اختصاصی ایجاد کند، کارگر نیز به ذخیره‌سازی دسترسی خواهد داشت (و می‌تواند به کوکی‌های پارتیشن نشده دسترسی داشته باشد.)

FedCM: خطای API و AutoSelectedFlag API

API های اختصاصی برای کمک به توسعه دهندگان و کاربران برای درک بهتر جریان احراز هویت. هر دو API پس از ارسال مجوز کاربر برای ورود به یک وب سایت یا برنامه (در این زمینه به عنوان یک طرف متکی (RP) شناخته می شود) با ارائه دهنده هویت فعال می شوند. به عبارت دیگر پس از کلیک کاربر بر روی دکمه Continue as .

با Error API، اگر تلاش کاربر برای ورود به سیستم ناموفق باشد، ارائه‌دهنده هویت می‌تواند دلایل را با مرورگر به اشتراک بگذارد تا هم کاربران و هم توسعه‌دهندگان RP را به‌روز نگه دارد.

با AutoSelectedFlag API، هم ارائه‌دهنده هویت و هم توسعه‌دهندگان RP می‌توانند درک بهتری درباره UX ورود به سیستم داشته باشند و بر این اساس عملکرد و معیارهای بخش را ارزیابی کنند.

در پست وبلاگ FedCM Chrome 120 بیشتر بیاموزید.

به روز رسانی عملکرد فریم های حصاردار

یک گزینه قالب اضافی برای ماکروهای اندازه تبلیغ مخاطب محافظت شده در API مخاطب محافظت شده در جعبه ایمنی حریم خصوصی وجود دارد. یک ویژگی Opt-in به شما امکان می دهد از ماکروها برای تعیین اندازه تبلیغی که برنده حراج می شود در URL آگهی استفاده کنید، به عنوان مثال:

https://ad.com?width={/%AD_WIDTH%}&height={/%AD_HEIGHT%}

برای سازگاری بیشتر با انواع دیگر ماکروها در مخاطب محافظت شده، مانند ماکروهایی که توسط deprecatedReplaceInURN و registerAdMacro() استفاده می‌شوند، در Chrome 120، ما توانایی استفاده از ${AD_WIDTH} و ${AD_HEIGHT} را به‌عنوان قالب ماکروها اضافه می‌کنیم. علاوه بر فرمت فعلی

چراغ های خودکار اکنون به همه URL های ثبت شده ارسال می شوند. قبلاً، تنها مقصدهایی که هنگام فراخوانی setReportEventDataForAutomaticBeacons() مشخص شده بودند، چراغ‌های خودکار دریافت می‌کردند، حتی اگر آن مقصد به نام registerAdBeacon() برای reserved.top_navigation در کار خود. اکنون، هر مقصدی که registerAdBeacon() را برای reserved.top_navigation فراخوانی می‌کند، یک فانوس دریایی خودکار دریافت می‌کند، اما تنها مقصدهایی که در setReportEventDataForAutomaticBeacons() مشخص شده‌اند، داده‌های خودکار خودکار را همراه با بیکن دریافت می‌کنند. پارامتر once در setReportEventDataForAutomaticBeacons() اکنون تعیین می کند که آیا داده ها یک بار ارسال می شوند یا خیر، به جای اینکه تعیین کند که آیا کل بیکن یک بار ارسال شده است یا خیر.

حاشیه پیمایش ناظر تقاطع

Intersection Observer scrollMargin به توسعه دهندگان اجازه می دهد تا اهدافی را در داخل ظروف اسکرول تو در تو مشاهده کنند که در حال حاضر توسط کانتینرهای اسکرول بریده شده اند. این امر با بزرگ کردن راسته برش ظرف توسط scrollMargin هنگام محاسبه تقاطع به دست می آید.

گزارش نقض خط مشی مجوزها

این API خط‌مشی مجوزها را با API گزارش ادغام می‌کند و به توسعه‌دهندگان وب اجازه می‌دهد تا نقاط پایانی را پیکربندی کنند که گزارش‌های نقض خط‌مشی مجوزها به آن‌ها ارسال می‌شود، و به مالکان سایت اجازه می‌دهد ببینند چه زمانی ویژگی‌های غیرمجاز در صفحاتشان در فیلد درخواست می‌شود.

همچنین شامل هدر Permissions-Policy-Report-Only است که امکان ارسال گزارش ها بر اساس یک خط مشی پیشنهادی (مشابه Content-Security-Policy-Report-Only ) را فراهم می کند تا تغییرات خط مشی را بتوان از نظر شکستگی احتمالی قبل از اجرای آنها ارزیابی کرد. در حالت عادی و اجباری

Media Session API: enterpictureinpicture action

یک اکشن enterpictureinpicture را به Media Session API اضافه می کند. وب‌سایت‌ها می‌توانند یک کنترل‌کننده عمل ثبت کنند که می‌تواند برای باز کردن پنجره تصویر در تصویر یا سند تصویر در تصویر استفاده شود.

در تصویر در تصویر خودکار برای برنامه های وب بیشتر بیاموزید.

پشتیبانی از WebGPU f16

امکان استفاده از نیمه دقیق نوع ممیز شناور f16 در سایه زن های WebGPU (WGSL).

توسعه دهندگان می توانند از ویژگی 'shader-f16' از مشخصات WebGPU و پسوند 'f16' از مشخصات WGSL برای دسترسی به متغیرهای ممیز شناور 16 بیتی و APIها در سایه زن خود استفاده کنند.

قابلیت های Media: پشتیبانی از HDR را با decodingInfo() پرس و جو کنید

API قابلیت‌های رسانه را گسترش می‌دهد تا امکان تشخیص پشتیبانی از رندر HDR را از طریق سه فیلد فرهنگ لغت پیکربندی ویدیوی جدید: hdrMetadataType ، colorGamut ، و transferFunction . کروم الگوریتم‌های نگاشت آهنگ خود را پیاده‌سازی می‌کند، بنابراین همیشه برای ابرداده‌های ثابت HDR10 (smpteSt2086) true خواهد بود. ابرداده‌های دینامیک HDR10+ (smpteSt2094-10) و Dolby Vision (smpteSt2094-40) در حال حاضر پشتیبانی نمی‌شوند، بنابراین false برمی‌گردند. ما پیش‌بینی می‌کنیم در آینده پشتیبانی از ابرداده پویا اضافه شود، بنابراین این API به توسعه‌دهندگان اجازه می‌دهد محتوای مناسب را برای کاربران دارای پشتیبانی انتخاب کنند.

آمار MediaStreamTrack (ویدئو)

یک API که شمارنده‌های فریم (تحویل‌شده، دور انداخته‌شده، کل) را برای ویدیوهای نوع MediaStreamTracks نشان می‌دهد. آمارهای صوتی با راه اندازی ویژگی جداگانه Chrome پوشش داده می شود.

Private Aggregation API: انتخاب هماهنگ کننده تجمع

تغییر در Private Aggregation API برای ارائه مکانیزمی برای انتخاب هماهنگ کننده برای رمزگذاری بار (از فهرست مجاز مشخص شده توسط فروشنده). انتخاب سرویس با یک گزینه اضافی در فراخوانی های SharedStorage run() و selectURL() و در تماس های runAdAuction() و joinAdInterestGroup() Protected Audience انجام می شود. رویکرد گسترده تا حد زیادی با رویکرد Attribution Reporting API هماهنگ است.

Login Status API در FedCM

Login Status API (که قبلاً IdP Sign-in Status API نامیده می شد) به ارائه دهندگان هویت اجازه می دهد زمانی که کاربران خود وارد یا خارج می شوند به مرورگر سیگنال دهند.

این مورد توسط FedCM برای رسیدگی به یک حمله زمان‌بندی بی‌صدا استفاده می‌شود، و با انجام این کار، به FedCM اجازه می‌دهد بدون کوکی‌های شخص ثالث به طور کامل کار کند.

در آینده این API ممکن است برای موارد استفاده بیشتر در دسترس باشد.

در پست وبلاگ اطلاعیه بیشتر بدانید.

مشاهده انتقال ها: غیر قابل تهی کردن تماس برگشتی

تماس startViewTransition در حال حاضر یک نوع پاسخ به تماس اختیاری با مقدار پیش‌فرض null دریافت می‌کند: startViewTransition(optional UpdateCallback? callback = null) .

این ویژگی این را به یک نوع غیر قابل تهی تغییر می دهد: startViewTransition(optional UpdateCallback callback) .

محصور کردن کلید X25519Kyber768 برای TLS

با استقرار الگوریتم توافقنامه کلید مقاوم در برابر کوانتومی Kyber768، از ترافیک فعلی Chrome TLS در برابر تحلیل رمزنگاری کوانتومی آینده محافظت کنید. این یک توافق کلید هیبریدی X25519 + Kyber768 بر اساس استاندارد IETF است. این مشخصات و راه اندازی خارج از محدوده W3C است. این قرارداد کلیدی به عنوان رمز TLS راه اندازی می شود و باید برای کاربران شفاف باشد.

آزمایش های مبدا در حال انجام است

در Chrome 120 می‌توانید آزمایش‌های اصلی جدید زیر را انتخاب کنید.

سرصفحه درخواست HTTP "اولویت".

این ویژگی هدر درخواست priority برای تمام درخواست های HTTP با اطلاعات اولویت درخواست در زمان ارسال اضافه می کند.

RFC 9218 (طرح اولویت‌بندی توسعه‌یافته برای HTTP) یک هدر درخواست HTTP «اولویت‌دار» را برای ارسال سیگنال اولویت درخواست به مبدا (و واسطه‌ها) تعریف می‌کند. همچنین فرآیندهای مذاکره و فریم های سطح پروتکل را برای HTTP/2 و HTTP/3 برای حمل اطلاعات اولویت یکسان تعریف می کند. هدر فقط می تواند اولویت اولیه یک منبع را زمانی که برای اولین بار درخواست شده است نشان دهد، در حالی که مکانیسم های مبتنی بر فریم امکان تغییر اولویت را پس از واقعیت فراهم می کند. هدر می‌تواند سرتاسر سرورهای مبدأ را کار کند (و مکانیزمی را برای مبدا فراهم کند تا اولویت را در صورت شناسایی توسط واسطه‌ها لغو کند) در حالی که فریم‌ها محدود به عملکرد در سطح پیوند هستند. این ویژگی به طور خاص برای پشتیبانی از طرح اولویت بندی مبتنی بر هدر است.

ما یک برنامه افزودنی از Storage Access API (سازگار با عقب) را پیشنهاد می‌کنیم تا امکان دسترسی به فضای ذخیره‌سازی پارتیشن نشده (کوکی و غیرکوکی) در زمینه شخص ثالث را فراهم کند.

مجوز دسترسی به شبکه خصوصی برای آرام کردن محتوای ترکیبی

به منظور برقراری اتصال به دستگاه‌هایی در یک شبکه محلی که نام‌های منحصربه‌فرد جهانی ندارند و بنابراین نمی‌توانند گواهی‌های TLS را دریافت کنند، این ویژگی گزینه جدیدی برای fetch() برای اعلام قصد توسعه‌دهندگان برای صحبت با چنین دستگاهی معرفی می‌کند. ویژگی جدید کنترل شده توسط سیاست برای دسترسی هر سایت به این قابلیت و سرصفحه های جدید برای پاسخ پیش از پرواز سرور برای ارائه ابرداده های اضافی.

برای آزمایش اولیه مجوز دسترسی به شبکه خصوصی ثبت نام کنید .

دسترسی نامحدود به performance.measureUserAgentSpecificMemory()

() performance.measureUserAgentSpecificMemory مشخص شده است که فقط در محیط های جدا شده با منبع متقاطع (در پشت COOP/COEP) در دسترس باشد. این ویژگی محدودیت COOP/COEP را حذف می‌کند تا آزمایش‌های رگرسیون و اندازه‌گیری تأثیر را در زمانی که قادر به استقرار کامل COOP/COEP نیستید، مجاز می‌سازد. توجه داشته باشید که performance.memory (API قدیمی) نمی تواند برای این منظور استفاده شود زیرا هرگز در کارگران فعال نشده است.

performance.measureUserAgentSpecificMemory()

این ویژگی یک تابع performance.measureUserAgentSpecificMemory() اضافه می کند که میزان استفاده از حافظه صفحه وب را تخمین می زند. برای استفاده از API، وب‌سایت باید از مبدأ متقابل جدا باشد.

محرومیت ها و حذف ها

این نسخه از Chrome موارد منسوخ و حذف فهرست شده در زیر را معرفی می کند. برای مشاهده لیستی از لغو برنامه ریزی شده، منسوخ شدن فعلی و حذف قبلی، از ChromeStatus.com دیدن کنید.

این نسخه از Chrome یک ویژگی را منسوخ می‌کند.

پشتیبانی Theora را منسوخ و حذف کنید

Chrome به دلیل خطرات امنیتی در حال ظهور، پشتیبانی از کدک ویدیویی Theora را در کروم دسک‌تاپ منسوخ و حذف خواهد کرد. استفاده کم (و اکنون اغلب نادرست) Theora دیگر پشتیبانی برای اکثر کاربران را توجیه نمی کند.

این نسخه کروم دو ویژگی را حذف می کند.

حذف داده ها: URL در SVGUseElement

اختصاص دادن یک داده: URL در SVGUseElement می تواند باعث XSS شود. و این نیز منجر به دور زدن Trusted Types شد. بنابراین، ما در نظر داریم که پشتیبانی از آن را منسوخ و حذف کنیم.

اجباری همان مبدأ را در CSPEE حذف کنید

یک درمان ویژه برای iframe های یکسان را از CSP Embedded Enforcement حذف می کند. این رفتار اجرای CSP Embedded Enforcement را برای iframe های متقاطع و iframe های با مبدا همسو می کند.