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

كلمات رئيسية متعددة لخاصية عرض CSS، وWGSLLanguageFeatures for WebGPU، وترقيات HTTPS، والمزيد.

ما لم يذكر خلاف ذلك، تنطبق التغييرات الموضحة على أحدث إصدار من قناة Chrome التجريبية لأنظمة التشغيل Android وChromeOS وLinux وmacOS وWindows. تعرَّف على مزيد من المعلومات عن الميزات المذكورة هنا من خلال الروابط المتوفّرة أو من القائمة على ChromeStatus.com. إنّ الإصدار 115 من Chrome هو إصدار تجريبي اعتبارًا من 31 أيار (مايو) 2023. يمكنك تنزيل آخر الأخبار من Google.com لأجهزة الكمبيوتر المكتبي أو من "متجر Google Play" على أجهزة Android.

CSS

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

القيم المتعدّدة للسمة display

تقبل سمة display في CSS الآن عدّة كلمات رئيسية كقيمة، إلى جانب الكلمات الرئيسية القديمة التي تمّ إنشاؤها مسبقًا. تمثل أول كلمتَين رئيسيتَين القيم الخارجية والداخلية للشبكة الإعلانية، وتتوفّر علامات اختيارية لـ list-item، وقيم داخلية مثل table-cell وقيم المربّع contents وnone.

باستخدام الكلمات الرئيسية الخارجية والداخلية، يمكنك تحديد سلوك المربّع الخارجي (حظر أو مضمَّن) وسلوك العناصر الثانوية الداخلية، على سبيل المثال flex أو grid أو flow. لذلك، يصبح display: flex display: block flex وdisplay: block يصبح display: block flow. راجع MDN للحصول على قائمة من عمليات الربط الشائعة ومزيد من المعلومات.

طلبات بحث حاوية نمط السياق المنطقي

يتوافق الإصدار 115 من Chrome مع طلبات بحث الحاوية style() بدون قيمة تعريف، بل اسم الموقع فقط، وذلك كطريقة لمطابقة القيم غير الأولية. في السابق، كان عليك استخدام: not style(--my-property: initial)، ويمكنك الآن استخدام: style(--my-property) لمطابقة أي قيمة غير مبدئية.

الرسوم المتحركة التي تعتمد على التمرير

ScrollTimeline وViewTimeline هما إضافة لمواصفات Web Animations التي تسمح للمطوّرين باستخدام موضع شريط التمرير أو موضع عنصر داخل التمرير كإدخال "وقت" بدلاً من وقت الساعة الأحادي التلقائي. يؤدي ذلك إلى تفعيل الرسوم المتحركة السريعة المستندة إلى التمرير، مثل تقليص شريط التنقل، بدون الحاجة إلى تنفيذ النص البرمجي للمستخدم. يمكن تعريفها وإنشاء مثيل لها من خلال CSS وJavaScript المستخدمة في الصور المتحركة في CSS وWeb Animations.

لمزيد من التفاصيل، يُرجى الاطّلاع على إضفاء المؤثر الحركي على العناصر عند التمرير باستخدام الصور المتحركة التي تعتمد على الانتقال للأعلى أو للأسفل.

إصلاح التراجع حيث لم تعُد العناصر التي تتضمّن display: contents تظهر في شجرة تسهيل الاستخدام

تم تطبيق انحدار أدّى إلى فقدان المعلومات الدلالية للعناصر التي تتضمّن display: contents ولم يعُد يتم تمثيلها بشكل صحيح في شجرة تسهيل الاستخدام. يتضمّن Chrome 115 حلاً لهذه المشكلة.

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

زيادة الحد الأقصى لحجم WebAssembly.Module() في سلسلة التعليمات الرئيسية إلى 8 ميغابايت

تجمع الدالة الإنشائية WebAssembly.Module() وحدة WebAssembly ثنائية بشكل متزامن، والتي يمكن أن تحظر سلسلة التعليمات الرئيسية. ولتجنب هذا الأمر، الحد الأقصى لحجم وحدة WebAssembly التي يمكن تجميعها باستخدام هذه الدالة الإنشائية يقتصر على 8 ميغابايت. يمكن تجميع الوحدات الأكبر حجمًا بشكل غير متزامن في سلسلة التعليمات الرئيسية باستخدام WebAssembly.compile()، أو بشكل متزامن على سلسلة محادثات عامل تشغيل. ويبلغ الحدّ الأقصى الذي يبلغ 8 ميغابايت امتدادًا للحد الأصلي الذي يبلغ 4 كيلوبايت. هذه الإضافة ممكنة بفضل التحسينات التي تم إجراؤها على الإصدار 8 من وقت تشغيل WebAssembly. تم تحديد الحدّ الأقصى البالغ 8 ميغابايت من خلال قياسات الأداء على هاتف Google Pixel 1 الذي يُعتبَر حاليًا هاتفًا منخفض المواصفات. قد تتيح التطويرات المستقبلية في الإصدار V8 أو في الأجهزة زيادة الحد الأقصى المسموح به.

برنامج FedCM: دعم متطلبات توسّط إدارة بيانات الاعتماد لإعادة المصادقة التلقائية

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

ترقيات HTTPS

يمكن ترقية جميع عمليات الانتقال في الإطار الرئيسي إلى HTTPS تلقائيًا وبشكل محسَّن، مع الرجوع السريع إلى HTTP.

تقسيم واجهات برمجة تطبيقات التخزين ومشغّل الخدمات والاتصالات

لمنع أنواع معيّنة من تتبُّع المواقع الإلكترونية على القنوات الجانبية، يعمل Chrome على تقسيم واجهات برمجة التطبيقات للتخزين والاتصالات في سياقات تابعة لجهات خارجية. ويشمل ذلك التخزين المُدار من خلال الحصص، ومشغّلي الخدمات، وواجهات برمجة التطبيقات للاتصال (مثل BroadcastChannel). يمكنك الاطّلاع على مستندات تقسيم مساحة التخزين للحصول على مزيد من التفاصيل.

توقيت المورد: توضيح أوقات الاستجابة المؤقتة

يمكنك عرض PerformanceResourceTiming.firstInterimResponseStart في الحالات التي يصادف فيها التنقّل أو جلب الموارد الفرعية استجابة 1xx المؤقتة. على سبيل المثال، عند استخدام 100 متابعة أو 103 تلميحات مبكرة، يتجاوب firstInterimResponseStart الآن مع وقت أول رد مؤقت، في حين يتوافق responseStart مع الرد النهائي، مثل الحالة 200.

تعديل على معالجة بادئة "xml" في lookupNamespaceURI() وcreateNSResolver()

يتيح Node.lookupNamespaceURI() استخدام البادئتين "xml" و "xmlns" بشكل تلقائي. تعرض الدالة سلاسل مساحة الاسم الثابتة لها. تتوقف Document.createNSResolver() وXPathEvaluator.createNSResolver() لالتفاف العقدة المحددة لإضافة بادئة "xml". تُرجع العقدة المحدّدة كما هي. ويمكن لمطوّري الويب الآن استخدام عنصر كـ XPathNSResolver بدون إحاطته بـ createNSResolver().

VisibilityStateEntry

يوضِّح حالة مستوى الرؤية (مرئية أو مخفيّة) في المخطط الزمني للأداء. سيتضمّن المخطط الزمني دائمًا إدخالاً يتضمّن startTime بقيمة 0 وحالة مستوى الرؤية الأولية، بالإضافة إلى الإدخالات المتوافقة مع أي تغيير في حالة مستوى الرؤية.

ميزات WGSLLanguageFeature لـ WebGPU

تتم إضافة العلامة wgslLanguageFeatures على كائن وحدة معالجة الرسومات في وحدة معالجة الرسومات WebGPU، والنوع WGSLLanguageFeatures المقابل له.

أوامر WebDriver للتفاعل مع مربعات حوار FedCM

يؤدي ذلك إلى كشف العديد من أوامر WebDriver التي تتيح تفعيل التشغيل الآلي للمتصفِّح، مثل الاختبار المُبرمَج، للتفاعل مع مربّعات حوار FedCM.

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

في الإصدار Chrome 115، يمكنك تفعيل تجارب المصدر الجديدة التالية.

حساب الضغط

توفّر Compute Pressure API معلومات عالية المستوى حول الحالة الراهنة لأجهزة الجهاز من أجل السماح للمواقع الإلكترونية بتحقيق التوازن الصحيح للمستخدمين بين الاستفادة من طاقة المعالجة المتاحة ووضع النظام تحت ضغوط لا يمكن إدارتها. Compute Pressure هو مصطلح عام حسب التصميم. يتم احتساب ذلك في الوقت الحالي استنادًا إلى حِمل وحدة المعالجة المركزية (CPU)، لكن الخطط المستقبلية تشمل استخدام إشارات من درجة الحرارة وحالة البطارية، على سبيل المثال. تعرَّف على مزيد من المعلومات في الإعلان عن التجربة الثانية لآلية Compute Pressure.

التسجيل في مرحلة التجربة والتقييم في Compute Pressure

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

السماح بإرفاق معلومات بشأن الوظائف التي يجب تحليلها وتجميعها بدقة في ملفات JavaScript. سيتم ترميز المعلومات في شكل تعليقات سحرية. سنجرّب تنسيقات مختلفة للتعليقات الرائعة. على سبيل المثال، وضع علامة على جميع الدوال في ملف للتجميع السريع، أو وضع علامة على مجموعة فرعية من الدوال فقط.

تسجَّل للحصول على تلميحات التجميع الواضح من خلال تجربة أصل التعليقات السحرية.

واجهة برمجة التطبيقات لإطارات الصور المتحركة الطويلة

هذه امتداد لـ Long Tasks API. فهو يقيس المهمة مع تحديث العرض اللاحق التابع لها، مع إضافة معلومات مثل النصوص البرمجية التي تستغرق وقتًا طويلاً ووقت العرض والوقت المستغرق في التنسيق والنمط الإجباريتين، وهو ما يُعرف باسم "تقسيم التصميم". يمكن للمطوّرين استخدام هذه الميزة لتشخيص "البطء" الذي يتم قياسه من خلال مقياس مدى استجابة الصفحة لتفاعلات المستخدم (INP)، وذلك من خلال تحديد أسباب ازدحام السلسلة الرئيسية الذي غالبًا ما يكون سببًا في ضعف مقياس INP.

سجِّل في مرحلة التجربة والتقييم في ميزة Long Animation Frames.

واجهة برمجة تطبيقات مجموعات التخزين

تتيح حِزم التخزين للمواقع الإلكترونية إمكانية إنشاء حِزم تخزين متعددة لتنظيم بياناتها، ما يسمح لوكلاء المستخدم بحذف كل حزمة بشكل مستقل عن المجموعات الأخرى. يمكن لكل حزمة تخزين تخزين البيانات المرتبطة بواجهات برمجة تطبيقات التخزين التي تم إنشاؤها مثل IndexedDB وCacheStorage. التسجيل في مرحلة التجربة والتقييم في Storage Storage API

عمليات الإيقاف والإزالة

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

يوقف هذا الإصدار من Chrome ميزتين.

إيقاف قيمة دالة document.domain

تم إيقاف أداة الضبط document.domain نهائيًا لأنّها تسمح للمطوّرين بالتخفيف من الالتزام بسياسة المصدر نفسه، ما يعيق حدود الأمان الأساسية التي نهدف إلى صيانتها ويمنع حدوث تغييرات في مرحلة ما بعد التوقُّع في نموذج عمليات Chromium. انتقِل إلى إيقاف Chrome لتعديل document.domain للحصول على بدائل لاستخدام document.domain. في معظم حالات الاستخدام، يمكن أن تحلّ واجهة برمجة التطبيقات postMessage() مشتركة المصدر أو Channel Messaging API محلّ document.domain. كحلّ أخير، يمكنك تفعيل نطاق المستند من خلال مجموعات الوكلاء المستنِدة إلى المصدر. ستبقى قيمة دالة setter، لكنّ الأصل سيبقى بدون تغيير.

إيقاف أحداث التبديل نهائيًا

إنّ أحداث التغييرات، بما في ذلك DOMSubtreeModified وDOMNodeInserted وDOMNodeRemoved وDOMNodeRemovedFromDocument وDOMNodeInsertedIntoDocument، تم إيقافها نهائيًا من المواصفات في عام 2011، وتم استبدالها في عام 2012 بواجهة برمجة التطبيقات Mutation Monitorer API. يجب نقل بيانات استخدام أحداث التبديل القديمة إلى أداة Mutation Monitorer قبل إزالتها في الإصدار Chrome 127 (في 20 تموز/يوليو 2024).

اطّلِع على مزيد من المعلومات عن الإيقاف النهائي لأحداث التغيير.