کروم 135 بتا، کروم 135 بتا

تاریخ انتشار: 05 مارس 2025

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

CSS و UI

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

موقعیت لنگر افست اسکرول را به یاد آورد

برای مفهوم افست اسکرول به خاطر سپردن پشتیبانی اضافه کنید. هنگامی که یک عنصر موقعیت‌یافته دارای یک لنگر پیش‌فرض است، و در یک لبه به این لنگر متصل می‌شود، و در لبه دیگر در برابر بلوک حاوی اصلی، هنگام اندازه‌گیری اندازه عنصر، افست اسکرول در نظر گرفته می‌شود. این بدان معناست که شما می توانید از تمام فضای قابل مشاهده (با استفاده از position-area ) برای عنصر لنگردار استفاده کنید، زمانی که سند در یک افست اسکرول معین پیمایش می شود. به منظور اجتناب از طرح بندی (تغییر اندازه عنصر) هر بار که سند پیمایش می شود، مرورگر به جای استفاده از افست پیمایش فعلی، از افست پیمایش به خاطر سپرده شده استفاده می کند. افست اسکرول به خاطر سپرده شده در یک نقطه محاسبه مجدد لنگر به‌روزرسانی می‌شود، که یا موقعیتی است که عنصر موقعیت‌یافته در ابتدا نمایش داده می‌شود، یا زمانی که یک گزینه موقعیت متفاوت ( position-try-fallbacks ) انتخاب می‌شود.

بی اثر بودن CSS

بی اثر کردن یک عنصر بر روی فوکوس، ویرایش، انتخاب و جستجو با جستجو در صفحه تأثیر می گذارد. همچنین بر قابل مشاهده بودن آن در درخت دسترسی تأثیر می گذارد. ویژگی interactivity مشخص می کند که آیا یک عنصر و نوادگان درخت مسطح آن (از جمله اجرای متن) بی اثر هستند یا نه. ویژگی interactivity یکی از دو مقدار را می پذیرد: auto یا inert .

خواص سرریز منطقی

ویژگی های CSS overflow-inline و overflow-block به شما امکان می دهد سرریز را در جهت درون خطی و بلوک نسبت به حالت نوشتن تنظیم کنید. در حالت نوشتن افقی overflow-inline نقشه‌های overflow-x ، در حالی که در حالت نوشتن عمودی به overflow-y نگاشت می‌شود.

توابع مرتبط با علامت ​abs() و sign() توابع مختلف مربوط به علامت آرگومان خود را محاسبه می کنند.

ویژگی dynamic-range-limit

به صفحه اجازه می دهد حداکثر روشنایی محتوای HDR را محدود کند.

تابع shape() .

تابع shape() به اشکال آزاد پاسخگو در ویژگی clip-path اجازه می دهد. به شما امکان می دهد یک سری دستورات معادل دستورات موجود در path() تعریف کنید. با این حال، دستورات واحدهای پاسخگو (به عنوان مثال، % یا vw )، و همچنین هر مقدار CSS مانند ویژگی های سفارشی را می پذیرند.

شبه عنصر ::column

یک شبه عنصر ::column ، که امکان اعمال مجموعه محدودی از سبک ها را برای قطعات تولید شده فراهم می کند. به طور خاص، این به سبک‌هایی محدود می‌شود که روی طرح‌بندی تأثیر نمی‌گذارند، و بنابراین می‌توانند پس از طرح‌بندی اعمال شوند.

::scroll-button() شبه عناصر

اجازه ایجاد دکمه‌های اسکرول تعاملی را به عنوان شبه عناصر بدهید. به عنوان مثال:

.scroller {
  overflow: auto;
}

.scroller::scroll-button(inline-start) {
  content: "<";
}

.scroller::scroll-button(inline-end) {
  content: ">";
}

اینها باید قابل تمرکز باشند و مانند یک دکمه رفتار کنند (از جمله سبک UA آنها). هنگامی که فعال می شود، یک اسکرول باید در جهت مقداری انجام شود. هنگامی که امکان پیمایش در آن جهت وجود ندارد، آنها باید غیرفعال شوند (و با :disabled استایل دهی شوند)، در غیر این صورت فعال می شوند (و با :enabled استایل دهی می شوند). انتخابگر به شما امکان می دهد دکمه ها را در چهار جهت منطقی تعریف کنید: block-start ، block-end ، inline-start ، inline-end . و همچنین چهار جهت فیزیکی: up ، down ، left ، right .

::scroll-marker و ::scroll-marker-group

گروه ::scroll-marker و ::scroll-marker-group برای اسکرول ظروف اضافه می کند. این شبه عناصر به شما امکان می دهد مجموعه ای از نشانگرهای قابل تمرکز را برای همه موارد مرتبط در ظرف پیمایش ایجاد کنید.

یک ظاهر طراحی شبه عناصر تو در تو

حالت دادن به شبه عناصر را که در داخل عناصر شبه دیگر قرار گرفته اند را فعال می کند. تا کنون پشتیبانی برای: ::before::marker و ::after::marker تعریف شده است که ::column::scroll-marker در آینده پشتیبانی می شود.

برای حذف نشت‌های تاریخچه مرور کاربر، عناصر لنگر فقط در صورتی که قبلاً از این سایت سطح بالا و مبدا قاب کلیک شده باشند، به صورت :visited استایل داده می‌شوند. تنها با ایجاد پیوندهایی که قبلاً روی این سایت و فریم کلیک شده اند، بسیاری از حملات کانال جانبی که برای به دست آوردن اطلاعات سبک پیوندهای :visited اکنون منسوخ شده اند، زیرا دیگر اطلاعات جدیدی در مورد کاربران در اختیار سایت ها قرار نمی دهند.

یک استثنا برای خود پیوندها وجود دارد، که در آن پیوندها به صفحات خود سایت را می توان به صورت :visited استایل کرد، حتی اگر قبلاً روی آنها دقیقاً در این سایت سطح بالا و مبدا فریم کلیک نشده باشد. این معافیت فقط در فریم‌های سطح بالا یا فریم‌های فرعی که منشأ یکسانی با قاب سطح بالایی دارند، فعال می‌شود. مزایای حفظ حریم خصوصی همچنان به دست می آید زیرا سایت ها از قبل می دانند که کاربر از کدام یک از صفحات فرعی آن بازدید کرده است، بنابراین هیچ اطلاعات جدیدی در معرض دید قرار نمی گیرد. این یک استثنای درخواستی جامعه بود که تجربه کاربر را بهبود می بخشد.

نمادهای عملکردی پیشرفت درون یابی: توابع CSS *progress() .

نمادهای عملکردی progress() ، media-progress() و container-progress() نشان دهنده فاصله متناسب یک مقدار معین (مقدار پیشرفت) از یک مقدار (مقدار شروع پیشرفت) به مقدار دیگر (مقدار پایان پیشرفت) است. آنها به ترتیب به ترسیم نسبت پیشرفت از توابع ریاضی، ویژگی های رسانه و ویژگی های ظرف اجازه می دهند.

safe-area-max-inset- * متغیرها

علاوه بر متغیرهای محیط safe-area-inset ، کروم اکنون از انواع max-area-safe-inset- * از این متغیرها نیز پشتیبانی می کند. بر خلاف ورودی‌های دینامیک، حداکثر ورودی‌ها تغییر نمی‌کنند و نشان‌دهنده حداکثر ورودی منطقه امن ممکن است.

این مقادیر هنگام ایجاد تجربیات وب لبه به لبه کارآمد ضروری هستند.

API های وب

پشتیبانی MediaStreamTrack به Web Speech API اضافه کنید

پشتیبانی MediaStreamTrack را به Web Speech API اضافه کنید. Web Speech API یک API استاندارد وب است که به توسعه دهندگان اجازه می دهد تا تشخیص و ترکیب گفتار را در صفحات وب خود بگنجانند. در حال حاضر Web Speech API از میکروفون پیش فرض کاربر به عنوان ورودی صوتی استفاده می کند. پشتیبانی MediaStreamTrack به وب‌سایت‌ها اجازه می‌دهد تا از Web Speech API برای زیرنویس کردن منابع صوتی دیگر از جمله آهنگ‌های صوتی راه دور استفاده کنند.

Blob URL Partitioning: واکشی و پیمایش

به عنوان ادامه پارتیشن بندی فضای ذخیره سازی، این ویژگی پارتیشن بندی دسترسی به URL Blob را توسط کلید ذخیره سازی (سایت سطح بالا، مبدا فریم، و بولی has-cross-site-ancestor) پیاده سازی می کند، به استثنای ناوبری های سطح بالا که فقط بر اساس مبدا فریم پارتیشن بندی می شوند.

CSP require-sri-for برای اسکریپت ها

دستورالعمل require-sri-for به شما این توانایی را می دهد که ادعا کنید هر منبع از یک نوع خاص باید یکپارچگی بررسی شود. اگر سعی شود منبعی از آن نوع بدون ابرداده یکپارچگی بارگیری شود، آن تلاش شکست خواهد خورد و گزارش نقض CSP را راه‌اندازی می‌کند. این هدف ارزش "script" این دستورالعمل را پوشش می دهد.

سرویس گیرنده کارمند را ایجاد کنید و کنترلر کارگر سرویس را برای srcdoc iframe به ارث ببرید

اسناد زمینه Srcdoc در حال حاضر مشتریان سرویس دهنده نیستند و توسط کارمند خدمات والدین آنها تحت پوشش قرار نمی گیرند. این منجر به برخی اختلافات می شود (به عنوان مثال، Resource Timeming URL هایی را که این اسناد بارگیری می کنند گزارش می دهد، اما کارگر خدمات آنها را رهگیری نمی کند). هدف از این کار رفع اختلافات با ایجاد سرویس‌گیرندگان سرویس‌دهنده برای iframe‌های srcdoc و وادار کردن آن‌ها به ارث بردن کنترل‌کننده سرویس‌کار والدین خود است.

ارسال رویدادهای کلیک به نشانگر گرفته شده

اگر یک اشاره گر در حین ارسال رویداد pointerup گرفته شود، رویداد click به جای نزدیکترین جد مشترک رویدادهای pointerdown و pointerup طبق مشخصات رویداد UI به هدف گرفته شده ارسال می شود. برای اشاره گرهای ضبط نشده، هدف click بدون تغییر باقی می ماند.

Float16Array

آرایه تایپ Float16Array را اضافه می کند. هنگام نوشتن در نمونه های Float16Array ، مقادیر اعداد به IEEE fp16 گرد می شوند.

گنجاندن آغازگر ناوبری در کلید پارتیشن کش HTTP

طرح کلیدگذاری حافظه پنهان HTTP کروم به‌روزرسانی شده است تا شامل یک بولی is-cross-site-main-frame-navigation برای کاهش حملات نشت بین سایتی که شامل ناوبری سطح بالا می‌شود، باشد. به طور خاص، این امر از حملات بین سایتی جلوگیری می کند که در آن مهاجم می تواند یک ناوبری سطح بالا را به یک صفحه معین آغاز کند و سپس به منبعی که توسط صفحه بارگذاری می شود هدایت شود تا اطلاعات حساس را از طریق زمان بندی بارگذاری استنتاج کند. این تغییر همچنین حریم خصوصی را با جلوگیری از استفاده یک سایت مخرب از ناوبری برای استنباط اینکه آیا کاربر قبلاً از یک سایت خاص بازدید کرده است، بهبود می بخشد.

پیشگیری از ردیابی HSTS

ردیابی کاربر توسط شخص ثالث را از طریق کش HSTS کاهش می دهد.

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

دستورات Invoker: صفات command و commandfor

ویژگی‌های command و commandfor در عناصر <button> به شما امکان می‌دهد رفتار را به روشی قابل دسترس‌تر و واضح‌تر به دکمه‌ها اختصاص دهید، در حالی که باگ‌ها را کاهش داده و مقدار جاوا اسکریپت مورد نیاز برای تعامل را ساده‌تر می‌کند. دکمه‌های دارای ویژگی‌های commandfor و command – وقتی کلیک می‌شوند، لمس می‌شوند یا با فشار کلید فعال می‌شوند – یک CommandEvent روی عنصر ارجاع‌شده توسط commandfor ارسال می‌کنند، با برخی رفتارهای پیش‌فرض مانند باز کردن دیالوگ‌ها و پاپ‌اورها.

پشتیبانی از <link rel="facilitated-payment" href="..."> را به عنوان اشاره ای به این نکته اضافه می کند که مرورگر باید مشتریان پرداخت ثبت شده را در مورد پرداخت فشاری معلق اطلاع دهد.

ویژگی NavigateEvent sourceElement

هنگامی که یک ناوبری توسط یک عنصر (یعنی کلیک پیوند یا ارسال فرم) آغاز می شود، ویژگی sourceElement در NavigateEvent عنصر آغازگر را برمی گرداند.

دلیل تغییر نام API NotRestoredReasons

NotRestoredReasons API برخی از دلایل متون را برای تراز کردن با نام های استاندارد تغییر می دهد. توسعه دهندگانی که این دلایل را رصد می کنند ممکن است متوجه تغییر در متن های دلیل شوند.

API گفتار وب روی دستگاه

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

URL مشتری Service Worker تغییرات history.pushState را نادیده می گیرد

ویژگی Service worker Client.url را برای نادیده گرفتن تغییرات URL سند با استفاده از history.pushState() و دیگر APIهای history مشابه تغییر می دهد. ویژگی Client.url به عنوان URL ایجاد سند HTML در نظر گرفته شده است که چنین تغییراتی را نادیده می گیرد.

از ویژگی های rel و relList برای SVGAElement پشتیبانی کنید

رابط SVGAElement در SVG 2.0 امکان دستکاری عناصر <a> مشابه عناصر لنگر HTML را می دهد. پشتیبانی از ویژگی های rel و relList امنیت و حریم خصوصی را برای توسعه دهندگان افزایش می دهد. این همسویی با عناصر لنگر HTML، سازگاری و سهولت استفاده را در سراسر فناوری های وب تضمین می کند.

مهر زمانی برای قاب های رمزگذاری شده RTC

این ویژگی شامل نمایش برخی مُهرهای زمانی است که در فریم‌های رمزگذاری‌شده WebRTC وجود دارد که از طریق RTCPeerConnection منتقل می‌شوند. مهرهای زمانی مورد نظر عبارتند از:

  • ضبط زمان: مهر زمانی که یک فریم در ابتدا ضبط شده است
  • Receive timestamp: مُهر زمانی دریافت فریم

ProgressEvent را به‌روزرسانی کنید تا از دو نوع برای «loaded» و «total» استفاده کنید

ProgressEvent دارای ویژگی های loaded و total است که پیشرفت را نشان می دهد و نوع آنها unsigned long long است. با استفاده از این ویژگی، نوع این دو ویژگی به جای آن double می‌شود، که به توسعه‌دهنده کنترل بیشتری روی مقدار می‌دهد. به عنوان مثال، توسعه دهندگان اکنون می توانند یک ProgressEvent با total 1 ایجاد کنند و loaded از 0 به 1 به تدریج افزایش می یابد. اگر ویژگی max حذف شود، این با رفتار پیش‌فرض عنصر <progress> HTML همراستا می‌شود.

fetchLater API

fetchLater() API یک API جاوا اسکریپت برای درخواست واکشی معوق است، به ویژه برای beaconing مطمئن تر در پایان عمر صفحه مفید است. پس از فراخوانی در یک سند، یک درخواست معوق توسط مرورگر در حالت PENDING در صف قرار می گیرد و با اولین شرایط زیر فراخوانی می شود:

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

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

توجه داشته باشید که از نظر کاربر API، زمان دقیق ارسال مشخص نیست.

آزمایشات منشاء جدید

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

درخواست کنندگان بهره

این ویژگی یک ویژگی interesttarget را به عناصر <button> و <a> اضافه می کند. ویژگی interesttarget رفتارهای "interest" را به عنصر اضافه می کند، به طوری که وقتی کاربر به عنصر "علاقه خود را نشان می دهد"، اقدامات روی عنصر مورد نظر آغاز می شود. کنش‌ها می‌توانند شامل مواردی مانند نمایش پاپ‌اور باشند. عامل کاربر با استفاده از روش‌هایی مانند نگه‌داشتن عنصر با ماوس، زدن کلیدهای میانبر ویژه روی صفحه‌کلید یا فشار طولانی عنصر روی صفحه‌های لمسی، تشخیص می‌دهد که کاربر به عنصر «علاقه نشان می‌دهد». هنگامی که علاقه نشان داده یا از دست می‌رود، یک InterestEvent روی هدف شلیک می‌شود، که در مورد پاپ‌اورها اقدامات پیش‌فرض دارند - نشان دادن و پنهان کردن پاپاور.

یکپارچگی مبتنی بر امضا

این ویژگی مکانیزمی را برای توسعه‌دهندگان وب فراهم می‌کند تا منشأ منابعی را که به آن‌ها وابسته هستند، تأیید کنند و پایه‌ای فنی برای اعتماد به وابستگی‌های یک سایت ایجاد کند. به طور خلاصه: سرورها می توانند پاسخ ها را با یک جفت کلید Ed25519 امضا کنند و توسعه دهندگان وب می توانند از عامل کاربر بخواهند که امضا را با استفاده از یک کلید عمومی خاص تأیید کند. این یک افزونه مفید به بررسی‌های مبتنی بر URL ارائه شده توسط Content Security Policy از یک سو و بررسی‌های Subresource Integrity از سوی دیگر ارائه می‌کند.

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

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

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

دریافت کننده های Intl Locale Info را منسوخ کنید

Intl Locale Info API یک پیشنهاد مرحله 3 ECMAScript TC39 برای بهبود شیء Intl.Locale با افشای اطلاعات Locale است، مانند داده‌های هفته (اولین روز در هفته، روز شروع آخر هفته، روز پایان آخر هفته، حداقل روز در هفته اول)، و چرخه ساعت جهت متن استفاده شده در محلی. کروم یک پیاده‌سازی را در کروم 99 پیاده‌سازی کرد، اما پیشنهاد تغییر کرد تا چندین گیرنده به توابع منتقل شوند. باید دریافت کننده های منسوخ شده را حذف کنیم و توابع تغییر نام داده شده را دوباره راه اندازی کنیم.

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

روش منسوخ navigator.xr.supportsSession را حذف کنید

navigator.xr.supportsSession در سپتامبر 2019 پس از دریافت بازخورد در مورد شکل API از TAG، با روش navigator.xr.isSessionSupported در مشخصات WebXR جایگزین شد. از آن زمان به‌عنوان منسوخ شده در Chrome علامت‌گذاری شده است و یک هشدار کنسول تولید می‌کند که توسعه‌دهندگان را به API به‌روزرسانی‌شده هدایت می‌کند. استفاده از تماس بسیار کم است و تمام چارچوب‌های اصلی که برای ساخت محتوای WebXR استفاده می‌شوند تأیید شده‌اند که برای استفاده از تماس جدیدتر به‌روزرسانی شده‌اند.

ویژگی NavigateEvent canTransition حذف کنید

در Chrome 108، متد transitionWhile() و ویژگی canTransition NavigateEvent با متد intercept() new و ویژگی canIntercept جایگزین شد. در آن زمان متد transitionWhile() حذف شد. با این حال، فراموش کردیم که ویژگی canTransition حذف کنیم: در عوض، آن را به عنوان نام مستعار برای canIntercept گذاشتیم. در Chrome 135، ما در حال رفع آن هستیم و canTransition حذف می‌کنیم. هر گونه استفاده از canTransition را می توان با canIntercept جایگزین کرد، بدون تغییر در رفتار.

محدودیت WebGPU maxInterStageShaderComponents را حذف کنید

محدودیت maxInterStageShaderComponents به دلیل ترکیبی از عوامل حذف می شود:

  • افزونگی با maxInterStageShaderVariables : این محدودیت در حال حاضر هدف مشابهی را دنبال می کند، کنترل مقدار داده ارسال شده بین مراحل سایه زن.
  • اختلافات جزئی: در حالی که تفاوت های جزئی در نحوه محاسبه دو حد وجود دارد، این تفاوت ها جزئی هستند و می توانند به طور موثر در maxInterStageShaderVariables limit مدیریت شوند.
  • ساده سازی: حذف maxInterStageShaderComponents رابط سایه زن را ساده می کند و پیچیدگی را برای توسعه دهندگان کاهش می دهد. به جای مدیریت دو محدودیت مجزا (که هر دو به طور همزمان اما با تفاوت‌های ظریف اعمال می‌شوند)، می‌توانند روی maxInterStageShaderVariables با نام مناسب‌تر و جامع‌تر تمرکز کنند.
،

تاریخ انتشار: 05 مارس 2025

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

CSS و UI

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

موقعیت لنگر افست اسکرول را به یاد آورد

برای مفهوم افست اسکرول به خاطر سپردن پشتیبانی اضافه کنید. هنگامی که یک عنصر موقعیت‌یافته دارای یک لنگر پیش‌فرض است، و در یک لبه به این لنگر متصل می‌شود، و در لبه دیگر در برابر بلوک حاوی اصلی، هنگام اندازه‌گیری اندازه عنصر، افست اسکرول در نظر گرفته می‌شود. این بدان معناست که شما می توانید از تمام فضای قابل مشاهده (با استفاده از position-area ) برای عنصر لنگردار استفاده کنید، زمانی که سند در یک افست اسکرول معین پیمایش می شود. به منظور اجتناب از طرح بندی (تغییر اندازه عنصر) هر بار که سند پیمایش می شود، مرورگر به جای استفاده از افست پیمایش فعلی، از افست پیمایش به خاطر سپرده شده استفاده می کند. افست اسکرول به خاطر سپرده شده در یک نقطه محاسبه مجدد لنگر به‌روزرسانی می‌شود، که یا موقعیتی است که عنصر موقعیت‌یافته در ابتدا نمایش داده می‌شود، یا زمانی که یک گزینه موقعیت متفاوت ( position-try-fallbacks ) انتخاب می‌شود.

بی اثر بودن CSS

بی اثر کردن یک عنصر بر روی فوکوس، ویرایش، انتخاب و جستجو با جستجو در صفحه تأثیر می گذارد. همچنین بر قابل مشاهده بودن آن در درخت دسترسی تأثیر می گذارد. ویژگی interactivity مشخص می کند که آیا یک عنصر و نوادگان درخت مسطح آن (از جمله اجرای متن) بی اثر هستند یا نه. ویژگی interactivity یکی از دو مقدار را می پذیرد: auto یا inert .

خواص سرریز منطقی

ویژگی های CSS overflow-inline و overflow-block به شما امکان می دهد سرریز را در جهت درون خطی و بلوک نسبت به حالت نوشتن تنظیم کنید. در حالت نوشتن افقی overflow-inline نقشه‌های overflow-x ، در حالی که در حالت نوشتن عمودی به overflow-y نگاشت می‌شود.

توابع مرتبط با علامت ​abs() و sign() توابع مختلف مربوط به علامت آرگومان خود را محاسبه می کنند.

ویژگی dynamic-range-limit

به صفحه اجازه می دهد حداکثر روشنایی محتوای HDR را محدود کند.

تابع shape() .

تابع shape() به اشکال آزاد پاسخگو در ویژگی clip-path اجازه می دهد. به شما امکان می دهد یک سری دستورات معادل دستورات موجود در path() تعریف کنید. با این حال، دستورات واحدهای پاسخگو (به عنوان مثال، % یا vw )، و همچنین هر مقدار CSS مانند ویژگی های سفارشی را می پذیرند.

شبه عنصر ::column

یک شبه عنصر ::column ، که امکان اعمال مجموعه محدودی از سبک ها را برای قطعات تولید شده فراهم می کند. به طور خاص، این به سبک‌هایی محدود می‌شود که روی طرح‌بندی تأثیر نمی‌گذارند، و بنابراین می‌توانند پس از طرح‌بندی اعمال شوند.

::scroll-button() شبه عناصر

اجازه ایجاد دکمه‌های اسکرول تعاملی را به عنوان شبه عناصر بدهید. به عنوان مثال:

.scroller {
  overflow: auto;
}

.scroller::scroll-button(inline-start) {
  content: "<";
}

.scroller::scroll-button(inline-end) {
  content: ">";
}

اینها باید قابل تمرکز باشند و مانند یک دکمه رفتار کنند (از جمله سبک UA آنها). هنگامی که فعال می شود، یک اسکرول باید در جهت مقداری انجام شود. هنگامی که امکان پیمایش در آن جهت وجود ندارد، آنها باید غیرفعال شوند (و با :disabled استایل دهی شوند)، در غیر این صورت فعال می شوند (و با :enabled استایل دهی می شوند). انتخابگر به شما امکان می دهد دکمه ها را در چهار جهت منطقی تعریف کنید: block-start ، block-end ، inline-start ، inline-end . و همچنین چهار جهت فیزیکی: up ، down ، left ، right .

::scroll-marker و ::scroll-marker-group

گروه ::scroll-marker و ::scroll-marker-group برای اسکرول ظروف اضافه می کند. این شبه عناصر به شما امکان می دهد مجموعه ای از نشانگرهای قابل تمرکز را برای همه موارد مرتبط در ظرف پیمایش ایجاد کنید.

یک ظاهر طراحی شبه عناصر تو در تو

حالت دادن به شبه عناصر را که در داخل عناصر شبه دیگر قرار گرفته اند را فعال می کند. تا کنون پشتیبانی برای: ::before::marker و ::after::marker تعریف شده است که ::column::scroll-marker در آینده پشتیبانی می شود.

برای حذف نشت‌های تاریخچه مرور کاربر، عناصر لنگر فقط در صورتی که قبلاً از این سایت سطح بالا و مبدا قاب کلیک شده باشند، به صورت :visited استایل داده می‌شوند. تنها با ایجاد پیوندهایی که قبلاً روی این سایت و فریم کلیک شده اند، بسیاری از حملات کانال جانبی که برای به دست آوردن اطلاعات سبک پیوندهای :visited اکنون منسوخ شده اند، زیرا دیگر اطلاعات جدیدی در مورد کاربران در اختیار سایت ها قرار نمی دهند.

یک استثنا برای خود پیوندها وجود دارد، که در آن پیوندها به صفحات خود سایت را می توان به صورت :visited استایل کرد، حتی اگر قبلاً روی آنها دقیقاً در این سایت سطح بالا و مبدا فریم کلیک نشده باشد. این معافیت فقط در فریم‌های سطح بالا یا فریم‌های فرعی که منشأ یکسانی با قاب سطح بالایی دارند، فعال می‌شود. مزایای حفظ حریم خصوصی همچنان به دست می آید زیرا سایت ها از قبل می دانند که کاربر از کدام یک از صفحات فرعی آن بازدید کرده است، بنابراین هیچ اطلاعات جدیدی در معرض دید قرار نمی گیرد. این یک استثنای درخواستی جامعه بود که تجربه کاربر را بهبود می بخشد.

نمادهای عملکردی پیشرفت درون یابی: توابع CSS *progress() .

نمادهای عملکردی progress() ، media-progress() و container-progress() نشان دهنده فاصله متناسب یک مقدار معین (مقدار پیشرفت) از یک مقدار (مقدار شروع پیشرفت) به مقدار دیگر (مقدار پایان پیشرفت) است. آنها به ترتیب به ترسیم نسبت پیشرفت از توابع ریاضی، ویژگی های رسانه و ویژگی های ظرف اجازه می دهند.

safe-area-max-inset- * متغیرها

علاوه بر متغیرهای محیط safe-area-inset ، کروم اکنون از انواع max-area-safe-inset- * از این متغیرها نیز پشتیبانی می کند. بر خلاف ورودی‌های دینامیک، حداکثر ورودی‌ها تغییر نمی‌کنند و نشان‌دهنده حداکثر ورودی منطقه امن ممکن است.

این مقادیر هنگام ایجاد تجربیات وب لبه به لبه کارآمد ضروری هستند.

API های وب

پشتیبانی MediaStreamTrack به Web Speech API اضافه کنید

پشتیبانی MediaStreamTrack را به Web Speech API اضافه کنید. Web Speech API یک API استاندارد وب است که به توسعه دهندگان اجازه می دهد تا تشخیص و ترکیب گفتار را در صفحات وب خود بگنجانند. در حال حاضر Web Speech API از میکروفون پیش فرض کاربر به عنوان ورودی صوتی استفاده می کند. پشتیبانی MediaStreamTrack به وب‌سایت‌ها اجازه می‌دهد تا از Web Speech API برای زیرنویس کردن منابع صوتی دیگر از جمله آهنگ‌های صوتی راه دور استفاده کنند.

Blob URL Partitioning: واکشی و پیمایش

به عنوان ادامه پارتیشن بندی فضای ذخیره سازی، این ویژگی پارتیشن بندی دسترسی به URL Blob را توسط کلید ذخیره سازی (سایت سطح بالا، مبدا فریم، و بولی has-cross-site-ancestor) پیاده سازی می کند، به استثنای ناوبری های سطح بالا که فقط بر اساس مبدا فریم پارتیشن بندی می شوند.

CSP require-sri-for برای اسکریپت ها

دستورالعمل require-sri-for به شما این توانایی را می دهد که ادعا کنید هر منبع از یک نوع خاص باید یکپارچگی بررسی شود. اگر سعی شود منبعی از آن نوع بدون ابرداده یکپارچگی بارگیری شود، آن تلاش شکست خواهد خورد و گزارش نقض CSP را راه‌اندازی می‌کند. این هدف ارزش "script" این دستورالعمل را پوشش می دهد.

سرویس گیرنده کارمند را ایجاد کنید و کنترلر کارگر سرویس را برای srcdoc iframe به ارث ببرید

اسناد زمینه Srcdoc در حال حاضر مشتریان سرویس دهنده نیستند و توسط کارمند خدمات والدین آنها تحت پوشش قرار نمی گیرند. این منجر به برخی اختلافات می شود (به عنوان مثال، Resource Timeming URL هایی را که این اسناد بارگیری می کنند گزارش می دهد، اما کارگر خدمات آنها را رهگیری نمی کند). هدف از این کار رفع اختلافات با ایجاد سرویس‌گیرندگان سرویس‌دهنده برای iframe‌های srcdoc و وادار کردن آن‌ها به ارث بردن کنترل‌کننده سرویس‌کار والدین خود است.

ارسال رویدادهای کلیک به نشانگر گرفته شده

اگر یک اشاره گر در حین ارسال رویداد pointerup گرفته شود، رویداد click به جای نزدیکترین جد مشترک رویدادهای pointerdown و pointerup طبق مشخصات رویداد UI به هدف گرفته شده ارسال می شود. برای اشاره گرهای ضبط نشده، هدف click بدون تغییر باقی می ماند.

Float16Array

آرایه تایپ Float16Array را اضافه می کند. هنگام نوشتن در نمونه های Float16Array ، مقادیر اعداد به IEEE fp16 گرد می شوند.

گنجاندن آغازگر ناوبری در کلید پارتیشن کش HTTP

طرح کلیدگذاری حافظه پنهان HTTP کروم به‌روزرسانی شده است تا شامل یک بولی is-cross-site-main-frame-navigation برای کاهش حملات نشت بین سایتی که شامل ناوبری سطح بالا می‌شود، باشد. به طور خاص، این امر از حملات بین سایتی جلوگیری می کند که در آن مهاجم می تواند یک ناوبری سطح بالا را به یک صفحه معین آغاز کند و سپس به منبعی که توسط صفحه بارگذاری می شود هدایت شود تا اطلاعات حساس را از طریق زمان بندی بارگذاری استنتاج کند. این تغییر همچنین حریم خصوصی را با جلوگیری از استفاده یک سایت مخرب از ناوبری برای استنباط اینکه آیا کاربر قبلاً از یک سایت خاص بازدید کرده است، بهبود می بخشد.

پیشگیری از ردیابی HSTS

ردیابی کاربر توسط شخص ثالث را از طریق کش HSTS کاهش می دهد.

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

دستورات Invoker: صفات command و commandfor

ویژگی‌های command و commandfor در عناصر <button> به شما امکان می‌دهد رفتار را به روشی قابل دسترس‌تر و واضح‌تر به دکمه‌ها اختصاص دهید، در حالی که باگ‌ها را کاهش داده و مقدار جاوا اسکریپت مورد نیاز برای تعامل را ساده‌تر می‌کند. دکمه‌های دارای ویژگی‌های commandfor و command – وقتی کلیک می‌شوند، لمس می‌شوند یا با فشار کلید فعال می‌شوند – یک CommandEvent روی عنصر ارجاع‌شده توسط commandfor ارسال می‌کنند، با برخی رفتارهای پیش‌فرض مانند باز کردن دیالوگ‌ها و پاپ‌اورها.

پشتیبانی از <link rel="facilitated-payment" href="..."> را به عنوان اشاره ای به این نکته اضافه می کند که مرورگر باید مشتریان پرداخت ثبت شده را در مورد پرداخت فشاری معلق اطلاع دهد.

ویژگی NavigateEvent sourceElement

هنگامی که یک ناوبری توسط یک عنصر (یعنی کلیک پیوند یا ارسال فرم) آغاز می شود، ویژگی sourceElement در NavigateEvent عنصر آغازگر را برمی گرداند.

دلیل تغییر نام API NotRestoredReasons

NotRestoredReasons API برخی از دلایل متون را برای تراز کردن با نام های استاندارد تغییر می دهد. توسعه دهندگانی که این دلایل را رصد می کنند ممکن است متوجه تغییر در متن های دلیل شوند.

API گفتار وب روی دستگاه

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

URL مشتری Service Worker تغییرات history.pushState را نادیده می گیرد

ویژگی Service worker Client.url را برای نادیده گرفتن تغییرات URL سند با استفاده از history.pushState() و دیگر APIهای history مشابه تغییر می دهد. ویژگی Client.url به عنوان URL ایجاد سند HTML در نظر گرفته شده است که چنین تغییراتی را نادیده می گیرد.

از ویژگی های rel و relList برای SVGAElement پشتیبانی کنید

رابط SVGAElement در SVG 2.0 امکان دستکاری عناصر <a> مشابه عناصر لنگر HTML را می دهد. پشتیبانی از ویژگی های rel و relList امنیت و حریم خصوصی را برای توسعه دهندگان افزایش می دهد. این همسویی با عناصر لنگر HTML، سازگاری و سهولت استفاده را در سراسر فناوری های وب تضمین می کند.

مهر زمانی برای قاب های رمزگذاری شده RTC

این ویژگی شامل نمایش برخی مُهرهای زمانی است که در فریم‌های رمزگذاری‌شده WebRTC وجود دارد که از طریق RTCPeerConnection منتقل می‌شوند. مهرهای زمانی مورد نظر عبارتند از:

  • ضبط زمان: مهر زمانی که یک فریم در ابتدا ضبط شده است
  • Receive timestamp: مُهر زمانی دریافت فریم

ProgressEvent را به‌روزرسانی کنید تا از دو نوع برای «loaded» و «total» استفاده کنید

ProgressEvent دارای ویژگی های loaded و total است که پیشرفت را نشان می دهد و نوع آنها unsigned long long است. با استفاده از این ویژگی، نوع این دو ویژگی به جای آن double می‌شود، که به توسعه‌دهنده کنترل بیشتری روی مقدار می‌دهد. به عنوان مثال، توسعه دهندگان اکنون می توانند یک ProgressEvent با total 1 ایجاد کنند و loaded از 0 به 1 به تدریج افزایش می یابد. اگر ویژگی max حذف شود، این با رفتار پیش‌فرض عنصر <progress> HTML همراستا می‌شود.

fetchLater API

fetchLater() API یک API جاوا اسکریپت برای درخواست واکشی معوق است، به ویژه برای beaconing مطمئن تر در پایان عمر صفحه مفید است. پس از فراخوانی در یک سند، یک درخواست معوق توسط مرورگر در حالت PENDING در صف قرار می گیرد و با اولین شرایط زیر فراخوانی می شود:

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

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

توجه داشته باشید که از نظر کاربر API، زمان دقیق ارسال مشخص نیست.

آزمایشات منشاء جدید

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

درخواست کنندگان بهره

این ویژگی یک ویژگی interesttarget را به عناصر <button> و <a> اضافه می کند. ویژگی interesttarget رفتارهای "interest" را به عنصر اضافه می کند، به طوری که وقتی کاربر به عنصر "علاقه خود را نشان می دهد"، اقدامات روی عنصر مورد نظر آغاز می شود. کنش‌ها می‌توانند شامل مواردی مانند نمایش پاپ‌اور باشند. عامل کاربر با استفاده از روش‌هایی مانند نگه‌داشتن عنصر با ماوس، زدن کلیدهای میانبر ویژه روی صفحه‌کلید یا فشار طولانی عنصر روی صفحه‌های لمسی، تشخیص می‌دهد که کاربر به عنصر «علاقه نشان می‌دهد». هنگامی که علاقه نشان داده یا از دست می‌رود، یک InterestEvent روی هدف شلیک می‌شود، که در مورد پاپ‌اورها اقدامات پیش‌فرض دارند - نشان دادن و پنهان کردن پاپاور.

یکپارچگی مبتنی بر امضا

این ویژگی مکانیزمی را برای توسعه‌دهندگان وب فراهم می‌کند تا منشأ منابعی را که به آن‌ها وابسته هستند، تأیید کنند و پایه‌ای فنی برای اعتماد به وابستگی‌های یک سایت ایجاد کند. به طور خلاصه: سرورها می توانند پاسخ هایی را با یک جفت کلید ED25519 امضا کنند ، و توسعه دهندگان وب می توانند از نماینده کاربر بخواهند که با استفاده از یک کلید عمومی خاص ، امضای را تأیید کنند. این یک افزودنی مفید برای بررسی های مبتنی بر URL ارائه شده توسط سیاست امنیت محتوا از یک سو و بررسی های مبتنی بر محتوای یکپارچگی Subresource از طرف دیگر ارائه می دهد.

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

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

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

دریافت کننده های دریافت کننده اطلاعات محلی intl

API INTL LOCALE INFO یک پیشنهاد مرحله 3 ECMASCRIPT TC39 برای تقویت شیء Intl.Locale با قرار دادن اطلاعات محلی ، مانند داده های هفته (روز اول در یک هفته ، روز آخر هفته ، روز آخر هفته ، حداقل روز در هفته اول) و چرخه ساعت جهت متن است که در محلی استفاده می شود. Chrome در Chrome 99 اجرا شد ، اما این پیشنهاد برای انتقال چندین گیرنده به توابع تغییر یافت. ما باید گیرنده های مستهلک شده را حذف کرده و توابع تغییر نام یافته را مجدداً راه اندازی کنیم.

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

حذف روش navigator.xr.supportsSession

navigator.xr.supportsSession در مشخصات webxr توسط روش navigator.xr.isSessionSupported در سپتامبر سال 2019 پس از دریافت بازخورد در مورد شکل API از برچسب جایگزین شد. از آن زمان به بعد در Chrome کاهش یافته است و یک کنسول هشدار دهنده را برای توسعه دهندگان تغییر مسیر به API به روز شده تولید می کند. استفاده از تماس بسیار کم است و تمام چارچوب های اصلی که برای ساخت محتوای WebXR استفاده می شوند ، تأیید شده اند که برای استفاده از تماس جدیدتر به روز شده اند.

ویژگی canTransition NavigateEvent حذف کنید

در Chrome 108 ، روش NavigateEvent transitionWhile() و خاصیت canTransition با روش جدید intercept() و خاصیت canIntercept جایگزین شد. در آن زمان ، روش transitionWhile() حذف شد. با این حال ، ما فراموش کردیم که ویژگی canTransition حذف کنیم: در عوض ، ما آن را به عنوان یک نام مستعار برای canIntercept کنار گذاشتیم. در Chrome 135 ، ما آن را برطرف می کنیم و canTransition از بین می بریم. هرگونه استفاده از canTransition را می توان با canIntercept جایگزین کرد و هیچ تغییری در رفتار وجود ندارد.

حذف WebGPU Limit MaxInterStageshaderCompentents

حد maxInterStageShaderComponents به دلیل ترکیبی از عوامل حذف می شود:

  • افزونگی با maxInterStageShaderVariables : این حد در حال حاضر یک هدف مشابه را ارائه می دهد و میزان داده های منتقل شده بین مراحل سایه بان را کنترل می کند.
  • اختلافات جزئی: در حالی که در نحوه محاسبه دو محدودیت تفاوت های جزئی وجود دارد ، این اختلافات جزئی است و می تواند به طور مؤثر در maxInterStageShaderVariables limit مدیریت شود.
  • ساده سازی: حذف maxInterStageShaderComponents رابط سایه بان را ساده تر می کند و پیچیدگی را برای توسعه دهندگان کاهش می دهد. به جای مدیریت دو محدودیت جداگانه (که هر دو به طور همزمان اما با تفاوت های ظریف اعمال می شوند) ، می توانند روی maxInterStageShaderVariables مناسب تر و جامع تر تمرکز کنند.