کروم 122 بتا

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

CSS

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

جستارهای CSS @container با ویژگی های پشتیبانی نشده هرگز مطابقت ندارند

انتخابگرهای @container که شامل پرس‌و‌جوهای پشتیبانی‌نشده هستند، هرگز هیچ کانتینری را انتخاب نمی‌کنند، به این معنی که هرگز مطابقت ندارند.

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

@container (width > 0px) or (unknown) {}

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

شبه عنصر CSS ::backdrop به ارث بردن از عنصر مبدا

شبه عنصر ::backdrop برای ارث بردن از مقادیر اولیه استفاده می شود. این بدان معناست که ::backdrop نمی تواند از مقادیر ویژگی سفارشی استفاده کند مگر اینکه مستقیماً در قانون ::backdrop مشخص شود. اکنون مشخصات تغییر کرده است به طوری که ::backdrop از عنصر اصلی به ارث می رسد، این تغییر باعث می شود که پیاده سازی Chrome با مشخصات جدید مطابقت داشته باشد.

CSS از شرایط supports() برای @import پشتیبانی می کند

@import اکنون یک شرط supports() می پذیرد. اگر شرط supports() مطابقت نداشته باشد، import واکشی نمی‌شود.

@import "scroll-driven-animations.css" supports(animation-timeline: auto);

کوئری‌های ویژگی برای قرار دادن در supports() همان مواردی است که در @supports استفاده می‌شود

API های وب

Async Clipboard API: خواندن HTML غیر بهداشتی

یک گزینه unsanitized را در متد read() اضافه می کند تا فرمت HTML غیر بهداشتی را دریافت کند. مگر اینکه سایت‌ها این ویژگی را داشته باشند، خواندن از کلیپ بورد ضد عفونی می‌شود.

به طور پیش‌فرض، هنگام خواندن انواع MIME text/html با استفاده از API async، ضدعفونی‌کننده برای حذف محتویات از نشانه‌گذاری HTML به دلیل نگرانی‌های امنیتی فراخوانی می‌شود و سبک‌ها در HTML درج می‌شوند. این منجر به حجم زیاد HTML و از دست دادن وفاداری محتوای HTML هنگام خواندن توسط توسعه دهندگان وب یا برنامه های تلفن همراه می شود.

اشیاء نوع فایل را در dataTransfer.clearData() حذف نکنید

Chrome را برای مطابقت با مشخصات به‌روزرسانی می‌کند، که مشخص می‌کند clearData() بر اشیاء File تأثیر نمی‌گذارد. این فقط اشیاء نوع text را حذف می کند.

FedCM: قطع اتصال

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

لغو رویداد mousedown قابل همکاری در iframe

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

یاران Iterator

کمک‌کننده‌های تکرارکننده روش‌های جدیدی در نمونه اولیه تکرارکننده هستند تا امکان استفاده و مصرف عمومی تکرارکننده‌ها را فراهم کنند.

MessagePort.onclose

تغییری در Channel Messaging API که به یکی از MessagePort ها اطلاع می دهد که پورت دیگر جدا شده است. یعنی close() فراخوانی می شود، یک سند بدهی از بین می رود یا پورت زباله جمع آوری می شود.

پسوندهای RTCRtpSender setParameters() برای درخواست تولید یک فریم کلیدی

یک پارامتر دوم اختیاری را به فراخوانی RTCRtpSender.setParameters WebRTC اضافه می کند که می تواند برای درخواست از رمزگذار مرتبط برای ایجاد یک قاب کلید استفاده شود.

روش ها را تنظیم کنید

متدهای Set متدهای جدیدی مانند اتحاد و تقاطع هستند که به کلاس Set داخلی جاوا اسکریپت اضافه شده‌اند.

Storage Buckets API

Storage Buckets به سایت‌ها این امکان را می‌دهد که داده‌های روی دستگاه را در «سطل‌های» جداگانه سازمان‌دهی کنند، به عوامل کاربر اجازه می‌دهد تا داده‌های گروه‌بندی‌شده را مستقل از داده‌های موجود در سطل‌های دیگر خارج کنند و سایت‌ها را قادر می‌سازد تا داده‌های مرتبط معنایی را به صورت ارگونومیک مدیریت کنند. هر سطل ذخیره سازی می تواند حاوی داده های مرتبط با API های ذخیره سازی تاسیس شده مانند IndexedDB و CacheStorage باشد.

URLPattern: hasRegExpGroups

بررسی اینکه آیا یک URLPattern از یک یا چند گروه عبارت منظم ECMAScript استفاده می کند یا نه، و بنابراین ممکن است برای استفاده در مواردی که موتور ECMAScript در دسترس نیست (مانند برخی از API های برنامه ریزی شده آینده) مناسب نباشد. به بیان دقیق، این بازتاب چیزی است که توسعه‌دهندگان می‌توانند به هر حال از بررسی الگو بدانند، اما دسترسی به اجرای این بررسی توسط UA این امر را ساده‌تر می‌کند.

WebGL drawingBufferStorage

WebGL اجازه می دهد تا به بافت ها و بافرهای رندر با فرمت های مختلف پیکسلی رندر شود. به عنوان مثال، رمزگذاری 8 بیتی، ممیز شناور و sRGB.

بافر طراحی WebGL (بافری که به کامپوزیتور ارسال می شود) به طور پیش فرض 8 بیتی است. ویژگی drawingBufferStorage به WebGL اجازه می دهد تا فرمت پیکسلی این بافر طراحی را پیکربندی کند و توسعه دهندگان را قادر می سازد کارهای زیر را انجام دهند.

  • هنگام تبدیل رندر آنها به فرمت پیکسل بافر طراحی پیش فرض از کپی اضافی خودداری کنید.
  • محتوایی را ترسیم کنید که بیش از 8 بیت دقت داشته باشد.

ویژگی دوم چندین برنامه اضافی را باز می کند:

  • محتوای رنگی بسیار گسترده بدون از دست دادن دقت.
  • کاربردهای پزشکی که به دقت بیش از 8 بیت نیاز دارند.
  • برنامه های کاربردی محدوده دینامیکی بالا (در صورت موجود بودن).

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

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

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

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

پسوندهای دامنه برنامه وب

محدوده برنامه وب (تعریف شده توسط فیلد scope) فقط با یک مسیر از یک مبدا مشخص می شود. برای تعیین اینکه آیا سند فعلی پنجره برنامه بخشی از برنامه است یا خیر استفاده می شود. همچنین تعیین می کند که چه URL هایی در سایر اعضای مانیفست مجاز هستند.

با scope_extensions ، توسعه‌دهندگان می‌توانند رفتارهای برنامه خود را گسترش دهند تا در صورت توافق بین مبدأ اصلی یک برنامه وب و مبداهای مرتبط، مبداهای دیگر را نیز در بر گیرند.

برای آزمایشی مبدأ پسوندهای دامنه برنامه وب ثبت نام کنید

کنترل سطحی ضبط شده

Captured Surface Control API به برنامه‌های کاربردی وب اجازه می‌دهد رویدادهای چرخ را در یک برگه یا پنجره ضبط‌شده تولید کنند و سطح زوم یک برگه ضبط‌شده را بخوانند یا بنویسند.

برای آزمایش اولیه Captured Surface Control ثبت نام کنید .