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

الشبكة الفرعية لشبكة CSS، وإمكانية الدخول والخروج من الرسوم المتحركة لـ CSS، وتجميع الصفائف، ومساعدات المكرر، والمزيد.

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

CSS

يضيف هذا الإصدار ست ميزات جديدة من CSS. الخصائص الثلاثة الأولى هي جزء من العمل لتفعيل الانتقالات على الخصائص المنفصلة، التي تعمل على تفعيل الصور المتحركة للدخول والخروج.

قاعدة @starting-style

تتيح هذه القاعدة للمؤلفين ببدء عمليات نقل CSS عند التعديل الأول للنمط.

لا تؤدي انتقالات CSS إلى تشغيل الانتقالات من الأنماط الأولية عند تحديث النمط الأول لعنصر أو عندما يتغير نوع العرض من none إلى نوع آخر. وهذا لتجنب الانتقالات غير المتوقعة من الأنماط الأولية. لبدء عملية انتقال من تعديل النمط الأول، يمكنك الآن تطبيق الأنماط من داخل قاعدة @starting-style. على سبيل المثال، تبدأ خدمة CSS التالية عملية انتقال لون الخلفية من اللون الأخضر إلى الأصفر عند تحديث النمط الأول لعنصر div:

div { 
  transition: background-color 0.5s; 
  background-color: lime; 
} 

@starting-style {
  div { 
    background-color: green; 
  } 
}

خاصية التراكب

تتيح السمة overlay للمطوّرين الاحتفاظ بالعناصر في الطبقة العلوية من أجل تنفيذ عملية الانتقال للخروج. تُضاف خاصية التراكب لتوضيح ما إذا كان العنصر موجودًا في الطبقة العليا أم لا، ويمكن أن يأخذ قيمتين: none، أو auto.

خاصية سلوك الانتقال في CSS

إنّ سمة CSS transition-behavior هي عبارة عن سمة طويلة من السمة transition تسمح باستخدام الخصائص المنفصلة في الانتقالات. من خلال تحديد قيمة allow-discrete لسلوك الانتقال، تبدأ الخصائص المنفصلة الآن الصور المتحركة وتنتقل من قيمتها الأولية إلى قيمتها النهائية عند 50%. بالنسبة إلى عمليات النقل التي يكون فيها display: none وcontent-visibility: hidden إحدى القيم الأولية أو النهائية، سيتم استخدام القيمة المرئية طوال مدة الانتقال.

قيمة الشبكة الفرعية لشبكة CSS

يتم الآن تطبيق القيمة subgrid للسمة grid-template-columns وgrid-template-rows في متصفِّح Chrome. تسمح هذه القيمة لشبكة متداخلة باستخدام المسارات المحددة في الأصل، بدلاً من إنشاء تعريف مسار جديد للصفوف أو الأعمدة أو كليهما.

التفاف النص في CSS: جميل

يتم تحسين القيمة pretty للسمة text-wrap في CSS للحصول على أفضل تنسيق، بدلاً من السرعة. إنه مخصص للنص الأساسي، وبالتالي يتوقع عدة أسطر. باستخدام pretty، يختار مطوّر البرامج صراحةً استخدام طريقة تنسيق قد تكون أبطأ من wrap، ما يؤدي إلى تحسين الأداء. يعمل التنفيذ الحالي في Chrome على تحسين المعزولات لمنع عرض كلمة واحدة في أسفل فقرة من النص.

في الإصدار 117 من Chrome، جرّب هذا العرض التوضيحي لالتفاف النص: جميلة وشاهد كيف تغير القيمة عرض النص.

تضمين-intrinsic-size: عدم إتاحة أي خيار تلقائيًا

تعمل هذه الميزة على توسيع بنية contain-intrinsic-size الحالية لتشمل auto && none أيضًا.

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

تجميع مصفوفة

تجميع الصفيف هو عملية شائعة للغاية، ومن الأفضل تمثيلها في عبارة GROUP BY في SQL وبرمجة Map يمكن أن تحتوي على (هذه الطريقة هي الطريقة الأفضل لخفض-group-group). من خلال إمكانية دمج البيانات في مجموعات، يمكن للمطوّرين احتساب مجموعات بيانات ذات ترتيب أعلى، مثل متوسط عمر المجموعة النموذجية أو قيم LCP اليومية لصفحة ويب. تتيح هذه الميزة تفعيل هذه الميزة من خلال إضافة الطريقتَين الثابتتَين Object.groupBy وMap.groupBy. تُرجع الطريقة "Object" كائنًا عاديًا، حيث تكون المجموعات هي مفاتيح الخصائص. تعرض طريقة الخريطة خريطة، حيث يمكن أن تكون المفاتيح قيمًا عشوائية.

محو تلميحات العميل من خلال عنوان محو بيانات الموقع

ستتمكّن المواقع الإلكترونية الآن من محو ذاكرة التخزين المؤقت لتلميحات العميل باستخدام Clear-Site-Data: "clientHints". سيتم أيضًا محو تلميحات العميل عند استهداف "ملفات تعريف الارتباط" أو "ذاكرة التخزين المؤقت" أو "*" بالعنوان نفسه. ويرجع هذا إلى أنّه إذا كان المستخدِم يمحو ملفات تعريف الارتباط في واجهة المستخدم، يتمّ أيضًا محو تلميحات العميل، في حين أنّ ذاكرة التخزين المؤقت لتلميحات العميل ستكون ذاكرة تخزين مؤقّت، وتصبح متسقة مع أهداف أحرف البدل على التوالي.

بنية حرف البدل لعنوان محو بيانات الموقع

ستتمكن المواقع الإلكترونية الآن من محو جميع أهداف مساحة التخزين ("ملفات تعريف الارتباط" و"ذاكرة التخزين المؤقت" و "مساحة التخزين") من خلال إرسال Clear-Site-Data: "*". تجدر الإشارة إلى أن Chrome لا يتيح محو نص "executionContexts" في الوقت الحالي، ولكن إذا أضفناه في المستقبل، سيؤدي أي عنوان يستهدف "*" إلى محوهما أيضًا.

customElements.getName

تعرض الطريقة customElements.getName() اسم العلامة لتعريف العنصر المخصّص المحدّد.

أدوات مساعدة المكرّر

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

جعل أداة التقاط الصور مستمدَّة من واجهة EventTarget

تتيح واجهة CaptureController مزيدًا من المعالجة لجلسة تصوير الشاشة. في المستقبل، من المتوقّع أن يتم إرسال الأحداث المرتبطة بجلسة الالتقاط إلى وحدة التحكّم هذه. ويمكن إدارة أدوات الاستماع لمثل هذه الأحداث، وتتوفر طرق EventTarget على CaptureController.

نوع إرسال ملف PerformanceResourceTiming

تعرض السمة deliveryType في PerformanceResourceTiming معلومات حول كيفية تسليم مرجع. على سبيل المثال، الموارد التي تم تسليمها من ذاكرة التخزين المؤقت (المتاحة حاليًا من خلال transferSize) وعمليات التنقّل التي تم جلبها مُسبقًا من خلال الصفحة السابقة.

التحقّق من تجاوز سعة المنفذ في أدوات تحديد عناوين URL

سيتم التحقّق من قيمة المنفذ عند إعداد url.port. لن تكون جميع القيم التي تتجاوز الحد الأقصى الرقمي 16 بت صالحة بعد الآن. على سبيل المثال، يختلف سلوك النص البرمجي التالي بعد التغيير:

u = new URL("http://test.com"); 
u.port = 65536; 
console.log(u.port); 

قبل التغيير، يكون الناتج 65536. بعد التغيير سيكون الناتج 80.

واجهة برمجة التطبيقات للرمز المميّز للحالة الخاصة

هذه واجهة برمجة تطبيقات جديدة لنشر إشارات خاصة محدودة على جميع المواقع الإلكترونية، بدون استخدام معرّفات دائمة في مواقع إلكترونية متعددة، مثل ملفات تعريف الارتباط التابعة لجهات خارجية. لن تعمل طرق مكافحة الاحتيال التي تعتمد على ملفات تعريف الارتباط التابعة لجهات خارجية بعد إيقاف ملفات تعريف الارتباط التابعة لجهات خارجية نهائيًا. لا تنشئ واجهة برمجة التطبيقات Private State Token API أو تحدِّدها إشارات مكافحة الاحتيال، ويرجع ذلك إلى الطرف الأول المعنيّ وجهات إصدار الرموز المميّزة. بدلاً من ذلك، تحافظ واجهة برمجة التطبيقات على الخصوصية من خلال فرض حدود على المعلومات المنقولة في هذه الإشارات. تستند واجهة برمجة التطبيقات إلى إصدار آخر من بروتوكول Privacy Pass، وهو قيد توحيد مجموعة مهندسي شبكة الإنترنت (IETF). يمكن اعتباره شكلاً مكشوفًا على الويب من بروتوكولات Privacy Pass. يجب تحديث مواصفات واجهة برمجة التطبيقات للإصدارات الجديدة وأنواع الرموز المميّزة، مع الحرص على تحديث هذه المواصفات باستمرار من خلال مواصفات مجموعات عمل Privacy Pass. التغييرات المتوقعة سيتم إجراؤها على بروتوكولات التشفير الأساسية ورمز إصدار الرمز المميز: لا نتوقع حدوث تغييرات في واجهات برمجة تطبيقات الجلب التي تواجه المطوّرين بشأن الإصدار والاسترداد. كانت واجهة برمجة التطبيقات Private State Token API تُعرف سابقًا باسم Trust Token API. وتمت إعادة تسميته لتوضيح الدلالات الأساسية بشكل أكثر دقة ولتسليط الضوء على مزايا الخصوصية للمستخدمين.

محلّل مضيف IPv6 مضمَّن متوافق مع عنوان URL العادي

سيتم تعديل سلوك تحليل المحلل اللغوي لمضيف الإصدار 4 من بروتوكول الإنترنت (IPv4) المضمّن ليتوافق بشكل صارم مع معيار عنوان URL على الويب. في ما يلي القيود التي تم تقديمها على عنوان IPv6:

  • يتكون عنوان IPv4 المضمن دائمًا من 4 أجزاء.
  • لن تعود العناوين التي تحتوي على أقل من 4 أجزاء مثل http://[::1.2] صالحة. تشكِّل هذه الميزة جزءًا من إمكانية التشغيل التفاعلي لعناوين URL 2023.

عنوان URL: السماح بـ "%00" كمسار عنوان URL صالح

يعتبر Chrome حاليًا عنوان URL غير صالح إذا كان جزء مسار عنوان URL يحتوي على "%00" (أو فارغ)، وهذا العنوان غير متوافق مع معيار عنوان URL. على سبيل المثال، يتعذّر الاختبار التالي في Chrome لأنّ new URL(...) يعرض استثناء عنوان URL غير صالح.

assertEquals(new URL("http://example.com/%00").pathname, "/%00"); 

وفقًا لمعيار عنوان URL، يجب ألا يؤدي أي تسلسل من الأحرف أو البايت في مسار عنوان URL إلى جعل عنوان URL غير صالح، ويؤدي هذا التغيير إلى تحديث Chrome للالتزام بهذا المعيار.

التحكّم في إضافة عنوان WebRTC RTP

يمكنك توسيع واجهة برمجة تطبيقات WebRTC RTCRtpTransceiver لإتاحة التحكُّم في إضافات عناوين بروتوكول RTP التي سيتم التفاوض بشأنها.

أداة تحديد كمية الإطارات لكل إطار في VideoEncoder

تضيف قيمة VideoEncoderBitrateMode لـ VideoEncoder. يتيح ذلك إمكانية تحديد مَعلمة مُحدّد الكمية لكل إطار لبرامج ترميز الفيديو AV1 وVP9 وAVC.

خيار WebUSB exclusionFilters في requestDevice()

يسمح الخيار exclusionFilters في navigator.usb.requestDevice() لمطوّري الويب باستبعاد بعض الأجهزة من أداة اختيار المتصفّح. ويمكن استخدامه لاستبعاد الأجهزة التي تتطابق مع فلتر أوسع ولكن غير متوافقة.

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

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

نقل قاموس مضغوط باستخدام Shared Brotli

تتيح هذه الميزة استخدام الردود السابقة المحددة كقاموس خارجي لاستجابات HTTP لضغط Brotli.

التسجيل في مرحلة التجربة والتقييم في pressionDictionaryTransport.

الفترة التجريبية لإيقاف WebSQL نهائيًا

جارٍ إزالة WebSQL من Chrome. يتم تشجيع المواقع الإلكترونية التي تعتمد على هذا البروتوكول على الانتقال إلى SQLite عبر Wasm.

تتيح الفترة التجريبية للإيقاف النهائي هذه للمطوّرين الذين يحتاجون إلى مزيد من الوقت لنقل البيانات إمكانية مواصلة استخدام WebSQL حتى إصدار Chrome 123 (آذار/مارس 2024). التسجيل في النسخة التجريبية الخاصة بإيقاف WebSQL

تطبيقات الويب ذات علامات التبويب

السماح لنوافذ تطبيقات الويب بتضمين شريط علامات تبويب، على سبيل المثال، لتعديل مستندات متعددة في التطبيق نفسه. يؤدي ذلك إلى إضافة وضع عرض جديد "مبوَّب" وحقل بيان جديد للسماح بالتخصيصات في شريط علامات التبويب.

التسجيل في مرحلة التجربة والتقييم في تطبيقات الويب المبوَّبة.

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

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

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

إيقاف حدث "إلغاء التحميل" نهائيًا

سيبدأ إصدار Chrome 117 عملية إيقاف معالج أحداث unload نهائيًا. إذا كان موقعك الإلكتروني يستخدم هذه الرموز، ننصحك بشدة بالاطّلاع على المشاركة المخصّصة بشأن إيقاف unload للحصول على مزيد من التفاصيل.

إيقاف توقيعات خادم SHA-1 لبروتوكول أمان طبقة النقل (TLS)

ويعمل Chrome على إلغاء إتاحة خوارزميات التوقيع التي تستخدم خوارزمية SHA-1 لتوقيعات الخادم أثناء تأكيد الاتصال من خلال بروتوكول أمان طبقة النقل (TLS). ولا يؤثر ذلك في دعم SHA-1 في شهادات الخادم، التي تمت إزالتها من قبل، أو في شهادات العميل التي لا تزال متاحة.

يزيل هذا الإصدار من Chrome أربع ميزات.

[WebRTC] إلغاء إرسال نسخة getStats() القديمة المستندة إلى معاودة الاتصال

يتوفّر في RTCPeerConnection إصداران من getStats()، أحدهما متوافق مع المواصفات، ويعرض التقرير من خلال تنفيذ وعد، والآخر غير عادي، حيث يعرض تقريرًا مختلفًا جدًا من خلال معاودة الاتصال باعتبارها الوسيطة الأولى. وتمت الآن إزالة النموذج المستند إلى معاودة الاتصال.

لمزيد من المعلومات عن نقل البيانات والإجراءات التي يجب اتّخاذها إذا كنت بحاجة إلى مزيد من الوقت، يُرجى الاطّلاع على دليل نقل بيانات getStats() القديم.

إزالة القيمة -1 لـ WebRTC getStats datachannelIdentifier

تعرض واجهة برمجة التطبيقات WebRTC getStats API خاصية dataChannelIdentifier. ولن يوفر القيمة "-1" بعد ذلك في الحالات التي يتم فيها الاستعلام عن الإحصاءات قبل إنشاء اتصال قناة البيانات. بدلاً من ذلك، سيتم حذف عضو القاموس.

إزالة عملية تنفيذ برنامج ترميز getStats ضمن WebRTC وفك ترميزها "غير معروفة"

تعرض واجهة برمجة التطبيقات WebRTC getStats API أسماء تنفيذ برنامج الترميز وفك الترميز للفيديوهات الصادرة والواردة. ولن يوفر مجددًا القيمة "unknown" (غير معروف) في الحالات التي يتم فيها الاستعلام عن الإحصاءات قبل تشفير إطار الفيديو أو فك ترميزه. بدلاً من ذلك، سيتم حذف عضو القاموس.

موقع CSS الإلكتروني -webkit-highlight

عليك إزالة سمة CSS -webkit-highlight التي تهدف إلى تمييز النص، ولكن لم يتم توحيدها مطلقًا. وليس له أي تأثير مرئي في Chromium (يتم تحليله ولكن لا يُستخدم مطلقًا في عرض المحتوى). تمت إزالة الموقع من WebKit في عام 2014، وتم وضع علامة عليه تفيد بأنّه متوقّف نهائيًا في MDN، وتم استبداله مؤخرًا بالمواصفات الزائفة لمزايا CSS المميّزة.