الإصدار التجريبي من Chrome 132

تاريخ النشر: 13 نوفمبر 2024

ما لم يُذكر خلاف ذلك، تنطبق التغييرات التالية على أحدث إصدار من قناة الإصدار التجريبي من Chrome على أجهزة Android وChromeOS وLinux وmacOS وWindows. يمكنك الاطّلاع على مزيد من المعلومات حول الميزات المدرَجة هنا من خلال الروابط المتوفّرة أو من القائمة على ChromeStatus.com. يتوفّر الإصدار التجريبي من Chrome 132 اعتبارًا من 13 نوفمبر 2024. يمكنك تنزيل أحدث إصدار على Google.com لأجهزة الكمبيوتر أو على "متجر Google Play" على أجهزة Android.

CSS

يضيف هذا الإصدار ميزتَين جديدتَين في CSS.

تحديد موضع الإرساء CSS: السماح باستخدام anchor-size() في السمتَين inset وmargin

في البداية، كان يُسمح باستخدام anchor-size() في خصائص تحديد الحجم فقط. تم تغيير المواصفات للسماح باستخدام anchor-size() في الحواف الداخلية والخارجية أيضًا.

أوضاع الكتابة الجانبية في CSS

إتاحة استخدام الكلمتَين الرئيسيتَين sideways-rl وsideways-lr للسمة writing-mode في CSS تساعد الرموز sideways-rl وsideways-lr في كتابة النصوص غير الصينية واليابانية والكورية بشكل عمودي. ولا تتضمّن هذه اللغات سلوكيات مناسبة للغات الصينية واليابانية والكورية، على عكس vertical-rl وvertical-lr.

واجهات برمجة التطبيقات على الويب

أخذ لقطة لجميع الشاشات

التقط جميع الشاشات المرتبطة حاليًا بالجهاز باستخدام getAllScreensMedia().

يتطلّب استدعاء getDisplayMedia() عدة مرات إجراء عدة إيماءات من المستخدم، ويحمّل المستخدم عبء اختيار الشاشة التالية في كل مرة، ولا يضمن للتطبيق أنّه تم اختيار جميع الشاشات. تتفوّق طريقة getAllScreensMedia() على جميع هذه الجوانب.

تتوفّر هذه الميزة على أجهزة الكمبيوتر فقط.

أحداث تبديل مربّع الحوار

من المفيد معرفة متى يتم فتح عناصر <dialog> وإغلاقها، وpopover يتضمّن ToggleEvent الذي يتم إرساله عند فتح نافذة منبثقة أو إغلاقها. في السابق، كان عليك تسجيل أداة مراقبة التغيير لرصد وقت فتح <dialog>، ولكن كان ذلك يتطلّب الكثير من العمل، وكان من الأسهل استخدام حدث.

يتضمّن هذا التغيير ToggleEvent نفسه الذي ترسله النوافذ المنبثقة، ولكن لعناصر <dialog>: عند استدعاء showModal أو show، يرسل <dialog> حدث ToggleEvent مع newState=open. عند إغلاق <dialog> (باستخدام النموذج أو الزر أو closewatcher)، يجب إرسال ToggleEvent مع newState=closed.

التقاط العناصر

عند توفّر فيديو MediaStreamTrack تم الحصول عليه من خلال وسائل حالية لبدء عملية تسجيل الشاشة، تتيح ميزة &quot;تسجيل عنصر&quot; تعديل المسار لتسجيل جزء من شجرة نموذج المستند فقط، بدءًا من عنصر معيّن.

تتشابه واجهة برمجة التطبيقات هذه إلى حد ما مع Region Capture API، ولكنّها توفّر مرونة أكبر للتطبيقات، لأنّ المحتوى المحجوب والمحتوى الذي يحجب محتوًى آخر يتم استبعادهما من عملية الالتقاط.

ميزات التفويض في FedCM

تتضمّن هذه الحزمة بعض الميزات التي يمكن لموفِّري الهوية استخدامها لتنفيذ عمليات منح الإذن، مثل السماح للمستخدم بمنح إذن الوصول إلى تقويمه إلى جهة معتمدة. على وجه التحديد:

  • يجب أن يكون موفّر خدمة تحديد الهوية قادرًا على عرض طلب مخصّص للحصول على الإذن (واجهة برمجة التطبيقات الخاصة بالمتابعة).
  • يحتاج الطرف المعتمد إلى طريقة قابلة للتوسيع لإبلاغ موفِّر الهوية بالبيانات التي يريد الوصول إليها (واجهة برمجة تطبيقات المَعلمات).
  • يجب أن يكون بإمكان الجهة المسؤولة عن توفير الخدمة تخصيص النص الذي يشير إلى مشاركة "الاسم وعنوان البريد الإلكتروني وصورة الملف الشخصي" من موفّر خدمة تحديد الهوية أو إخفاؤه، لأنّها في هذه الحالة تطلب معلومات مختلفة (حقول واجهة برمجة التطبيقات).
  • قد يريد موفِّر الهوية استخدام نقطة نهاية مختلفة لتنفيذ مسار التفويض (configURLs متعددة).
  • قد تكون بعض الحسابات مؤهَّلة فقط لأحد مسارَي المصادقة والتفويض، لذا يجب توفير طريقة لعرض حسابات مختلفة في المسارين (واجهة برمجة التطبيقات لتصنيفات الحسابات).

واجهة برمجة التطبيقات FedCM Mode API وواجهة برمجة التطبيقات Use Other Account API

إضافتان جديدتان لواجهة برمجة التطبيقات FedCM API:

  • الوضع: يتيح الوضع active للمواقع الإلكترونية استدعاء FedCM داخل نقرة على زر (على سبيل المثال، النقر على الزر تسجيل الدخول إلى موفِّر الهوية)، ما يتطلّب أن يضمن FedCM الاستجابة دائمًا من خلال واجهة مستخدم مرئية. عند استدعاء واجهة FedCM API في الوضع النشط، يتم توجيه المستخدمين إلى صفحة تسجيل الدخول إلى موفّر الهوية (IdP) عندما يكونون قد سجّلوا الخروج. بالإضافة إلى ذلك، بما أنّ الوضع النشط يتم استدعاؤه ضمن إيماءة مستخدم صريحة، تكون واجهة المستخدم أكثر بروزًا أيضًا (على سبيل المثال، في المنتصف وبشكل مشروط) مقارنةً بواجهة المستخدم من الوضع السلبي (الذي لا يتطلّب إيماءة مستخدم ويمكن استدعاؤه عند تحميل الصفحة).
  • استخدام حساب آخر: باستخدام هذا الامتداد، يمكن لموفّر الهوية أن يسمح للمستخدمين بتسجيل الدخول إلى حسابات أخرى.

الجلب: Request.bytes() وResponse.bytes()

أضِف طريقة bytes() إلى واجهتَي Request وResponse، ما يؤدي إلى عرض وعد يتم تنفيذه باستخدام Uint8Array. على الرغم من أنّ Request وResponse تتضمّنان طريقة arrayBuffer()، لا يمكنك القراءة مباشرةً من المخزن المؤقت. عليك إنشاء طريقة عرض، مثل Uint8Array، لقراءتها. تعمل طريقة bytes() على تحسين بيئة العمل للحصول على نص الطلب والرد.

واجهة برمجة التطبيقات File System Access لنظام التشغيل Android وWebView

تتيح واجهة برمجة التطبيقات هذه للمطوّرين إنشاء تطبيقات فعّالة تتفاعل مع تطبيقات أخرى (غير تطبيقات الويب) على جهاز المستخدم باستخدام نظام الملفات على الجهاز. بعد أن يمنح المستخدم تطبيق ويب إذن الوصول، تتيح واجهة برمجة التطبيقات هذه للتطبيق قراءة التغييرات أو حفظها مباشرةً في الملفات والمجلدات التي يختارها المستخدم. بالإضافة إلى قراءة الملفات وكتابتها، تتيح واجهة برمجة التطبيقات هذه إمكانية فتح دليل وتعداد محتوياته، فضلاً عن تخزين مقابض الملفات والأدلة في IndexedDB لاستعادة الوصول إلى المحتوى نفسه لاحقًا.

تم إطلاق File System Access على أجهزة الكمبيوتر المكتبي في الإصدار 86 من Chrome، وأصبح متاحًا على Android وWebView في الإصدار 132 من Chrome.

تجاهل Strict-Transport-Security لعنوان localhost

يمكن أن تتسبّب عناوين استجابة Strict-Transport-Security (STS) في حدوث مشاكل لخوادم الويب المحلية لأنّ STS ينطبق على مستوى المضيف، على جميع المنافذ. ويؤدي ذلك إلى حدوث مشاكل في التوافق بالنسبة إلى مطوّري الويب الذين يجرون الاختبارات محليًا. ويؤثر ذلك أيضًا في المستخدمين النهائيين الذين يستخدمون حِزم برامج تبدأ عادةً خوادم ويب محلية لأسباب مؤقتة. على سبيل المثال، نقل رمز مصادقة مميز من عملية تسجيل دخول على الويب إلى حزمة برامج محلية. إذا ضبط أحد المستمعين المحليين Strict-Transport-Security على استجابة localhost، سيتم تطبيقه على جميع طلبات localhost اللاحقة بغض النظر عن المنفذ.

يحلّ Chrome 132 هذه المشكلة من خلال تجاهل عناوين Strict-Transport-Security في الردود الواردة من عناوين URL الخاصة بالمضيف المحلي.

حاويات التمرير التي يمكن التركيز عليها باستخدام لوحة المفاتيح

تم إيقاف طرح هذه الميزة (بدءًا من الإصدار 130 من Chrome) بسبب مشكلة في إمكانية الوصول. تم إصلاح هذه المشكلة، وسيتم طرح الميزة في الإصدار 132 من Chrome.

حرف البدل التلقائي للقائمة المسموح بها في سياسة الأذونات الخاصة بواجهة Private State Token API

يتم التحكّم في الوصول إلى Private State Token API من خلال ميزات "سياسة الأذونات". يعدّل الإصدار 132 من Chrome القائمة المسموح بها التلقائية لكل من ميزتَي private-state-token-issuance وprivate-state-token-redemption من self إلى * (حرف بدل).

PushMessageData::bytes()

تحاكي واجهة PushMessageData واجهة Body التي تم تعديلها في وقت سابق من هذا العام باستخدام طريقة bytes() جديدة، وذلك وفقًا لمبدأ أنّ واجهات برمجة التطبيقات يجب أن توفّر بشكل عام مخازن مؤقتة للبايتات على شكل Uint8Arrays. يتوافق الإصدار 132 من Chrome مع واجهة Body من خلال توفير أداة الوصول bytes() على واجهة PushMessageData أيضًا.

طلبات البحث المحفوظة في sharedStorage.selectURL

تتيح sharedStorage.selectURL() الآن حفظ طلبات البحث وإعادة استخدامها على أساس كل صفحة، حيث يتم تحصيل رسوم الميزانيتَين المحدّدتين لكل عملية تحميل صفحة في المرة الأولى التي يتم فيها تنفيذ طلب بحث محفوظ، ولكن لا يتم تحصيلها عند تنفيذ طلب البحث المحفوظ لاحقًا خلال عملية تحميل الصفحة نفسها. ويتم ذلك باستخدام المَعلمة savedQuery في خيارات selectURL() التي تحدّد اسم طلب البحث.

طرح استثناء للنوافذ المنبثقة ومربّعات الحوار في المستندات غير النشطة

في السابق، كان استدعاء showPopover() أو showModal() على نافذة منبثقة أو مربّع حوار يقعان ضمن مستند غير نشط يؤدي إلى حدوث خطأ بدون إشعار. لن يتم طرح أي استثناء، ولكن بما أنّ المستند غير نشط، لن يتم عرض أي نافذة منبثقة أو مربّع حوار. اعتبارًا من الإصدار 132 من Chrome، تؤدي هذه الحالات الآن إلى ظهور الخطأ InvalidStateError.

WebAuthn Signal API

تتيح هذه السمة لجهات WebAuthn الاعتماد إرسال معلومات حول بيانات الاعتماد الحالية إلى مقدّمي خدمات تخزين بيانات الاعتماد، وذلك كي يتم تعديل بيانات الاعتماد غير الصحيحة أو التي تم إبطالها أو إزالتها من واجهة المستخدم الخاصة بمقدّم الخدمة والنظام.

مزيد من المعلومات حول Signal API لمفاتيح المرور على Chrome لأجهزة الكمبيوتر

‫WebGPU: دمج مواد عرض عائمة تشغل 32 بت

تتيح float32-blendable ميزة "وحدة معالجة الرسومات" دمج مواد العرض التي تستخدم تنسيقات r32float وrg32float وrgba32float.

‫WebGPU: عرض GPUAdapterInfo من GPUDevice

تعرض سمة adapterInfo في GPUDevice السمة GPUAdapterInfo نفسها التي يعرضها الكائن GPUAdapter.

WebGPU: استخدام عرض الزخرفة

تضيف هذه السمة حقلًا اختياريًا إلى عملية إنشاء عرض نسيج WebGPU لطلب مجموعة فرعية من علامات الاستخدام من نسيج المصدر.

بشكلٍ تلقائي، يرث استخدام طريقة عرض البنية من بنية المصدر، ولكن هناك تنسيقات عرض قد تكون غير متوافقة مع المجموعة الكاملة من الاستخدامات الموروثة. تتيح إضافة حقل استخدام إلى عملية إنشاء عرض نسيجي للمستخدم طلب مجموعة فرعية من استخدامات النسيج المصدر التي تكون صالحة مع تنسيق العرض ومحدّدة للاستخدام المقصود للعرض النسيجي.

يمكن أن تعمل عمليات تنفيذ WebGPU أيضًا على تحسين إنشاء الموارد المنخفضة المستوى وتحسين الأداء عند استخدام طرق العرض مع علامات استخدام أكثر تخصصًا.

مراحل تجربة وتقييم جديدة

في الإصدار 132 من Chrome، يمكنك الاشتراك في التجارب الأصلية الجديدة التالية.

Document-Isolation-Policy

تسمح Document-Isolation-Policy للمستند بتفعيل crossOriginIsolation لنفسه، بدون الحاجة إلى نشر COOP أو COEP، وبغض النظر عن حالة crossOriginIsolation للصفحة. وتستند السياسة إلى عزل العمليات. بالإضافة إلى ذلك، سيتم تحميل الموارد الفرعية المشتركة المنشأ غير التابعة لبروتوكول مشاركة الموارد المشتركة المنشأ (CORS) في المستند إما بدون بيانات اعتماد أو ستحتاج إلى عنوان CORP.

تلميحات التجميع الصريحة باستخدام التعليقات السحرية

تتيح لك هذه الميزة إرفاق معلومات حول الوظائف التي يجب تحليلها وتجميعها بشكل مسبق في ملفات JavaScript. سيتم ترميز المعلومات كتعليقات سحرية.

الميزات التي سيتم إيقافها نهائيًا وإزالتها

يتضمّن هذا الإصدار من Chrome عمليات الإيقاف والإزالة التالية. يمكنك الانتقال إلى ChromeStatus.com للاطّلاع على قوائم بعمليات الإيقاف النهائي المخطط لها وعمليات الإيقاف النهائي الحالية وعمليات الإزالة السابقة.

يزيل هذا الإصدار من Chrome ميزتَين.

تم إنشاء navigator.storage كـ EventTarget لحدث Storage Pressure Event، ولكن لم يتم إطلاقه مطلقًا. تتم إزالة هذا الرمز غير النشط، ونتيجةً لذلك، لن يمدّد navigator.storage فترة EventTarget.

إزالة واجهات برمجة التطبيقات التي تتضمّن بادئات HTMLVideoElement للعرض بملء الشاشة

تم إيقاف واجهات برمجة التطبيقات التي تتضمّن بادئات العرض بملء الشاشة HTMLVideoElement نهائيًا في Chrome

تم استبدالها بواجهة برمجة التطبيقات Element.requestFullscreen()، والتي تم طرحها لأول مرة بدون بادئة في الإصدار 71 من Chrome في عام 2018. اعتبارًا من عام 2024، أتاحت معظم المتصفحات واجهات برمجة التطبيقات غير المسبوقة لعدة سنوات.

يزيل الإصدار 132 من Chrome ما يلي من HTMLVideoElement:

  • السمة webkitSupportsFullscreen
  • السمة webkitDisplayingFullscreen
  • الطريقة webkitEnterFullscreen()
  • الطريقة webkitExitFullscreen() لاحظ اختلاف حالة الأحرف في "S" في FullScreen.
  • الطريقة webkitEnterFullScreen()
  • الطريقة webkitExitFullScreen()

أصبحت هذه الطرق الآن أسماء مستعارة فقط لواجهة برمجة التطبيقات الحديثة. وقد انخفض استخدامها بشكل مطرد على مر السنين.