نسخه بتای کروم ۱۵۳

منتشر شده: ۲۰ آگوست ۲۰۲۶

مگر اینکه خلاف آن ذکر شده باشد، تغییرات زیر در جدیدترین نسخه کانال بتای کروم برای اندروید، ChromeOS، لینوکس، macOS و ویندوز اعمال می‌شود. با استفاده از لینک‌های ارائه شده یا با مراجعه به ChromeStatus.com درباره این ویژگی‌ها بیشتر بدانید. کروم در این نسخه در مرحله بتا است. می‌توانید آخرین نسخه بتا را از Google.com برای دسکتاپ یا از فروشگاه گوگل پلی برای اندروید دانلود کنید.

سی‌اس‌اس و رابط کاربری

ظروف اسکرول تک محوره

ویژگی overflow را برای پشتیبانی از مقادیر قابل اسکرول به همراه clip (برای مثال، overflow: scroll clip ) گسترش می‌دهد. این ویژگی به position: sticky اجازه می‌دهد تا توسط کانتینرهای اسکرول والد مختلف در هر محور محدود شود و به نویسندگان راهی می‌دهد تا مطمئن شوند که یک محور با استفاده از overflow: clip در جای خود باقی می‌ماند.

ویژگی scroll-axis-lock

scroll-axis-lock ) یک ویژگی CSS است که توسعه‌دهندگان می‌توانند از آن برای تنظیم مرورگرها جهت محدود نکردن حرکت اسکرول کاربر به یک محور استفاده کنند.

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

جاوا اسکریپت

پیوستن تکرارکننده

یک پیشنهاد TC39 برای اضافه کردن روشی به جاوا اسکریپت برای الحاق محتویات یک تکرارکننده به یک رشته. متد join() از نمونه‌های Iterator مشابه Array.prototype.join() است: این متد رشته‌ای را برمی‌گرداند که حاصل الحاق تمام عناصر تولید شده توسط تکرارکننده است که با کاما یا یک رشته جداکننده مشخص از هم جدا شده‌اند.

تکرار مشترک

یک پیشنهاد TC39 برای همگام‌سازی پیشرفت چندین تکرارکننده، که اغلب zip نامیده می‌شود.

API های وب

عناصر قابلیت: <camera> و <microphone>

عناصر قابلیت <camera> و <microphone> کنترل‌های HTML اعلانی و فعال‌شده توسط کاربر هستند که مکانیسم اساسی یکسانی با عنصر MVP <usermedia> دارند، با یک تمایز کلیدی: آن‌ها برای درخواست یک قابلیت واحد طراحی شده‌اند. عنصر <camera> به‌طور خاص درخواست ضبط ویدیو می‌کند، در حالی که عنصر <microphone> به‌طور خاص درخواست ضبط صدا را دارد. مانند MVP <usermedia> ، آن‌ها یک رابط کاربری کاملاً سبک‌بندی‌شده و تحت کنترل مرورگر را در صفحه جاسازی می‌کنند و قبل از فعال شدن درخواست مجوز یا شروع پخش، یک سیگنال قوی و عمدی کاربر (یک کلیک) را تضمین می‌کنند.

عناصر <camera> و <microphone> یک کنترل HTML معنایی و اختصاصی برای این موارد استفاده تک‌کاربردی ارائه می‌دهند. آن‌ها مدل امنیتی یکسان، محدودیت‌های سختگیرانه استایل‌بندی و مسیر بازیابی مجوز داخلی را مانند MVP <usermedia> حفظ می‌کنند، اما یک API متناسب‌تر و ارگونومیک‌تر برای توسعه‌دهندگانی که نیازی به دسترسی به رسانه‌های ترکیبی ندارند، ارائه می‌دهند.

پشتیبانی از رمزگشایی مدل‌ها و فرمت‌های صوتی فراگیر (IAMF)

پشتیبانی از رمزگشایی و پخش کانتینر مدل و فرمت‌های صوتی فراگیر (IAMF) را در عناصر رسانه‌ای HTML با افزونه‌های منبع رسانه (MSE) اضافه می‌کند. IAMF یک فرمت صوتی فضایی باز و بدون حق امتیاز است که از ارائه‌های صوتی مبتنی بر کانال، مبتنی بر صحنه و مبتنی بر شیء پشتیبانی می‌کند. پشتیبانی از این فرمت به توسعه‌دهندگان وب اجازه می‌دهد تا تجربیات صوتی سه‌بعدی فراگیر و سازگار را در دستگاه‌های مختلف بدون تکیه بر فرمت‌های اختصاصی یا مدیریت مسیریابی پیچیده کانال‌های صوتی گسسته در جاوا اسکریپت ارائه دهند.

زمان‌بندی اعزام متقابل برای رویدادهای transitionrun و media query

زمان‌بندی ارسال Blink برای رویدادهای transitionrun انیمیشن و رویدادهای change کوئری رسانه را با مشخصات HTML هماهنگ می‌کند و این زمان‌بندی را با Gecko و WebKit سازگار می‌سازد. به طور دقیق‌تر، طبق مشخصات حلقه رویداد پنجره HTML، رویدادهای transitionrun حتی برای انیمیشن‌هایی که قبلاً در همان تکرار ایجاد شده‌اند، در مرحله 3.11 اجرا می‌شوند (به جای اینکه آنها را برای تکرار بعدی به تأخیر بیندازند)، و رویداد change کوئری رسانه در مرحله 3.10 قبل از اجرای هرگونه رویداد انیمیشن در حال انتظار اجرا می‌شود (به جای اینکه آنها را با رویدادهای انیمیشن در مرحله 3.11 مخلوط کند).

WebAudio: رندر کوانتومی قابل تنظیم

یک renderSizeHint اختیاری به AudioContext و OfflineAudioContext اضافه می‌کند. این به توسعه‌دهندگان اجازه می‌دهد تا اندازه کوانتومی رندر WebAudio را با ارسال یک عدد صحیح خاص سفارشی کنند، با حذف hint یا ارسال "default" از پیش‌فرض ۱۲۸ فریم استفاده کنند، یا با مشخص کردن "hardware" از مرورگر بخواهند که اندازه بهینه را انتخاب کند.

WebGPU: ویژگی buffer_view

یک ویژگی زبان WGSL برای تفسیر مجدد داده‌های موجود در متغیرها. این ویژگی به توسعه‌دهندگان اجازه می‌دهد تا یک متغیر uniform، storage یا workgroup را به چندین متغیر منطقی تقسیم کنند. همچنین اجازه می‌دهد نوع داده موجود در متغیر به عنوان چندین نوع در داخل برنامه تفسیر شود.

تجزیه XML در Rust برای سناریوهای غیر XSLT

برای بهبود امنیت مرورگر و محافظت از کاربران در برابر آسیب‌پذیری‌های مرتبط با حافظه، کروم ۱۵۳ موتور تجزیه XML خود را برای چندین سناریوی رایج به پیاده‌سازی Rust با حافظه ایمن تغییر می‌دهد. این به‌روزرسانی اساسی، اشکالات احتمالی خرابی حافظه را از بین می‌برد و در عین حال سازگاری کامل با مشخصات وب موجود را حفظ می‌کند.

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

  1. رابط برنامه‌نویسی کاربردی وب DOMParser .
  2. دسترسی به responseXML از XMLHttpRequest .
  3. تصاویر مستقل SVG (یعنی دسترسی مستقیم به سند image.svg به عنوان یک ناوبری سطح بالا).
  4. تصاویر خارجی SVG (شامل یک سند اصلی که یک SVG را به عنوان منبع تصویر خارجی در خود جای داده است).

آزمایش‌های منشأ جدید

در کروم ۱۵۳، می‌توانید در آزمایش‌های جدید زیر شرکت کنید.

نشانگرهای خود-پروفایل‌سازی جاوا اسکریپت

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

منسوخ‌ها و حذف‌ها

حذف ناوبری‌های غیر استاندارد که هدفشان _current است

Blink در حال حاضر از پیمایش‌هایی که با _current هدف قرار گرفته‌اند پشتیبانی می‌کند. این ویژگی در کروم ۱۵۳ حذف شده است زیرا غیر استاندارد است و کاربرد کمی در سراسر وب دارد.

حذف document.requestStorageAccessFor

API requestStorageAccessFor به فضای ذخیره‌سازی (rSAFor) افزونه‌ای برای API دسترسی به فضای ذخیره‌سازی است که به یک سایت سطح بالا اجازه می‌دهد تا از طرف سایت‌های تعبیه‌شده، درخواست دسترسی به کوکی‌های پارتیشن‌بندی نشده ("شخص اول") را داشته باشد. این API فقط در کروم برای درخواست دسترسی به فضای ذخیره‌سازی بین سایت‌های مجموعه وب‌سایت‌های مرتبط قابل استفاده است، بنابراین به همراه مجموعه وب‌سایت‌های مرتبط حذف می‌شود.

مجموعه‌های وب‌سایت مرتبط (RWS)، که قبلاً با نام مجموعه‌های شخص اول شناخته می‌شد، چارچوبی را برای توسعه‌دهندگان فراهم می‌کند تا روابط بین سایت‌ها را اعلام کنند و دسترسی محدود به کوکی‌های بین سایتی را برای اهداف خاص و کاربرپسند فعال کنند. این امر از طریق استفاده از API دسترسی به ذخیره‌سازی (SAA) و requestStorageAccessFor (rSAFor) تسهیل می‌شود. RWS برای استفاده در مرورگری بدون کوکی‌های شخص ثالث طراحی شده بود. پس از اعلام کروم مبنی بر حفظ رویکرد فعلی در مورد کوکی‌های شخص ثالث، مجموعه‌های وب‌سایت مرتبط اکنون از کروم حذف شده‌اند.