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

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

CSS

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

CSSImportRule.styleSheet

السماح بأن يكون CSSImportRule.styleSheet فارغًا يمكن أن تكون السمة styleSheet في CSSImportRule فارغة في حال عدم توفّر ورقة أنماط CSS مرتبطة.

CSSKeyframesRule.length

تعرض هذه السياسة السمة length لـ CSSKeyframesRule. يجب أن تحدّد الواجهات التي تتيح استخدام السمات المفهرَسة سمة من نوع عدد صحيح باسم length.

HTML

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

سمة writingsuggestions

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

تحتوي السمة الجديدة writingsuggestions على قيمتَي true أو false اللتين تتيحان للمطوّرين تفعيل اقتراحات الكتابة التي يقدّمها المتصفّح أو إيقافها. يمكن أيضًا أن تكتسب حالة السمة لعنصر ما من العناصر الأصلية، ما يسمح للمطوّرين بالتحكّم في هذه الوظيفة على مستوى كل عنصر أو كل مستند أو مستند فرعي.

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

تحسين أدوات تسهيل الاستخدام من خلال جعل حاويات الانتقال قابلة للتركيز باستخدام التنقّل المتسلسل للتركيز قبل هذا التغيير، لم يكن مفتاح Tab يركّز على أشرطة التمرير إلا إذا تم ضبط tabIndex بشكل صريح على 0 أو أكثر.

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

سيتم طرح هذه الميزة تدريجيًا بدءًا من الإصدار 124 من Chrome، وستكون متاحة لجميع المستخدمين في الإصدار 125 من Chrome. مزيد من المعلومات عن أشرطة التمرير التي يمكن التركيز عليها باستخدام لوحة المفاتيح

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

إضافات إلى Attribution Reporting API

تمت إضافة ميزات إلى Attribution Reporting API لإنشاء إمكانات إضافية لتصحيح الأخطاء من خلال إتاحة تقارير تصحيح أخطاء تعذُّر التحليل، وتحسين سهولة استخدام واجهة برمجة التطبيقات من خلال إتاحة حقل لتحديد منصة التسجيل المفضّلة، وتحسين الخصوصية.

ميزة "نافذة ضمن النافذة" في المستند: إضافة خيار لإخفاء زر "الرجوع إلى علامة التبويب"

يؤدي ذلك إلى إضافة مَعلمة جديدة (disallowReturnToOpener) إلى واجهة برمجة التطبيقات Document Picture-in-Picture API، والتي تشير إلى المتصفّح، عند ضبطها على "صحيح"، بأنّه لا يجب عرض زر في نافذة "نافذة ضمن النافذة" يسمح للمستخدم بالرجوع إلى علامة التبويب التي فتحت النافذة.

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

يمكنك الاطّلاع على مزيد من المعلومات في مستندات واجهة برمجة التطبيقات Document picture-in-picture.

حظر عرض المستندات

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

وهذا مهم بشكل خاص لـ "انتقالات العرض" حيث يمكن أن تؤدي حالة DOM التي تم تحليلها في الإطار الأول إلى تغيير الانتقال الذي تم إنشاؤه بشكل كبير.

يُرجى العِلم أنّ هذه الميزة تستخدم بنية <link rel=expect href="#id"> التي تتيح لعنصر رابط الإشارة إلى عنصر آخر متوقّع في الصفحة. بعد ذلك، يتم حظر العرض إلى أن يتم تحليل العنصر المتوقّع بالكامل. يحلّ هذا محلّ التنفيذ السابق لسمة HTML التي تسمح بحظر عرض المستند بأكمله.

سمة واحدة (jitterBufferTarget)

تتيح السمة jitterBufferTarget للتطبيقات تحديد مدة زمنية مستهدفة بالملي ثانية للوسائط التي يحتفظ بها مخزن RTCRtpReceiver المؤقت لتخفيف التفاوت في وقت وصول الحزم. يؤثر ذلك في مقدار التخزين المؤقت الذي يجريه وكيل المستخدم، والذي يؤثر بدوره في عمليات إعادة الإرسال واسترداد الحِزم المفقودة. يتيح تغيير القيمة المستهدفة للتطبيقات التحكّم في المفاضلة بين تأخير التشغيل وخطر نفاد إطارات الصوت أو الفيديو بسبب تفاوت وقت وصول الحزم في الشبكة.

حدث واحد (pageswap)

يتم تنشيط الحدث pageswap في عنصر نافذة المستند عندما يؤدي التنقّل إلى استبدال هذا المستند بمستند جديد. يوفّر الحدث معلومات التفعيل حول التنقّل (type، NavigationHistoryEntry للمستند الجديد).

إذا كان التنقّل يتضمّن انتقالاً للعرض بين المستندات، يتم إرسال الحدث قبل تسجيل الحالة للمستند القديم. يتيح ذلك للمطوّر ضبط الحالة القديمة التي تم تسجيلها للانتقال استنادًا إلى معلومات تفعيل التنقّل والحالة المرئية الحالية للمستند القديم.

عنوان طلب HTTP الخاص بـ priority

يؤدي ذلك إلى إضافة عنوان الطلب priority لجميع طلبات HTTP مع معلومات الأولوية للطلب في وقت إرساله.

يحدّد RFC 9218 (مخطط تحديد الأولويات القابل للتوسيع لبروتوكول HTTP) عنوان طلب HTTP priority لاستخدامه في إرسال إشارات أولوية الطلب إلى المصادر (والوسطاء). ويحدّد أيضًا عمليات التفاوض والإطارات على مستوى البروتوكول لبروتوكولَي HTTP/2 وHTTP/3 لنقل معلومات الأولوية نفسها.

يمكن أن يشير العنوان فقط إلى الأولوية الأولية للمورد عندما تم طلبه لأول مرة، بينما تسمح الآليات المستندة إلى الإطار بتعديل الأولوية بعد ذلك.

يمكن أن يعمل العنوان من البداية إلى النهاية على خوادم المصدر (ويوفّر آلية للمصدر لتجاوز الأولوية إذا تم التعرّف عليها من قِبل الوسطاء) بينما تقتصر الإطارات على العمل على مستوى الرابط.

تم تصميم هذه الميزة خصيصًا لدعم نظام تحديد الأولويات المستند إلى العناوين.

إذن الوصول إلى الشبكة الخاصة لتخفيف قيود المحتوى المختلط

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

حقل معلومات العميل Sec-CH-UA-Form-Factors

يوفّر هذا التلميح للخادم معلومات حول أشكال وكيل المستخدم. وتعرض قيمة واحدة أو أكثر من قيم أشكال الأجهزة التالية:

  • أجهزة الكمبيوتر المكتبي: وكيل مستخدم يعمل على جهاز كمبيوتر شخصي
  • المركبات: وكيل مستخدم مضمّن في مركبة، حيث قد يكون المستخدم مسؤولاً عن تشغيل المركبة وغير قادر على الاهتمام بالتفاصيل الصغيرة.
  • الأجهزة الجوّالة: أجهزة صغيرة تعمل باللمس يحملها المستخدم عادةً.
  • الجهاز اللوحي: جهاز يعمل باللمس أكبر من "الجهاز الجوّال" ولا يحمله المستخدم عادةً.
  • XR: أجهزة غامرة تعزّز البيئة المحيطة بالمستخدم أو تحلّ محلّها
  • EInk: جهاز يتميز بتحديثات بطيئة للشاشة ودقة ألوان محدودة أو معدومة.
  • الساعة: جهاز جوّال بشاشة صغيرة جدًا (أقل من بوصتين عادةً)، يتم حمله بطريقة تتيح للمستخدم إلقاء نظرة سريعة عليه.

setHTMLUnsafe وparseHTMLUnsafe

تسمح الطريقتان setHTMLUnsafe وparseHTMLUnsafe باستخدام نموذج DOM الظل التعريفي من JavaScript. توفّر هذه الطرق أيضًا طريقة أسهل لتحليل HTML بشكل إلزامي إلى DOM، مقارنةً بـ innerHTML أو DOMParser.

تعديلات على Shared Storage API

يضيف هذا التحديث إمكانية تشغيل برامج العمل المتعدّدة المصادر بدون الحاجة إلى إنشاء إطار iframe.

واجهة برمجة التطبيقات Streams API: تكرار ReadableStream غير المتزامن

توفّر واجهات برمجة التطبيقات Streams عناصر أساسية شاملة وقابلة للتشغيل التفاعلي لإنشاء مصادر البيانات وإنشائها واستخدامها. يضيف هذا التغيير إمكانية استخدام بروتوكول async iterable في ReadableStream API، ما يتيح استخدام ReadableStream كمصدر لحلقات await...of.

‫SVG context-fill وcontext-stroke

تنفّذ هذه السمة ميزة SVG حالية تسمح باستخدام الكلمتَين الرئيسيّتَين context-fill وcontext-stroke عند تحديد سمتَي التعبئة والحد. يؤثر ذلك فقط في أشجار SVG الفرعية التي يتم إنشاء مثيل لها باستخدام عنصر <use>، وعناصر <marker> التي يتم إنشاء مثيل لها باستخدام السمة marker في عنصر <path>. في هذه الحالات، يتم حلّ context-fill وcontext-stroke إلى قيمة السمتَين fill وstroke في <use> أو <path>.

‫WebGPU: إتاحة ServiceWorker وSharedWorker

تمت إضافة ميزتَي ServiceWorker وSharedWorker إلى WebGPU، بما يتوافق مع إمكانات WebGL الحالية.

تتيح واجهة Service Workers إمكانات العمل بلا إنترنت والمعالجة في الخلفية لـ WebGPU. وهذا يعني أنّ تطبيقات الويب أو إضافات Chrome التي تستخدم الرسومات بشكل مكثّف يمكنها تخزين الموارد مؤقتًا وإجراء العمليات الحسابية حتى عندما لا يتفاعل المستخدم بشكل نشط مع الصفحة.

تتيح ميزة Shared Workers لعلامات تبويب أو سياقات إضافات متعددة تنسيق موارد WebGPU ومشاركتها. يؤدي ذلك إلى أداء أكثر سلاسة واستخدام أكثر كفاءة لأجهزة الرسومات لدى المستخدم.

واجهة WebSocketStream API

توفّر واجهة برمجة التطبيقات WebSocket واجهة JavaScript لبروتوكول WebSocket RFC6455. على الرغم من أنّها كانت مفيدة، إلا أنّها غير مريحة من منظور سهولة الاستخدام وتفتقر إلى ميزة "الضغط العكسي" المهمة. الهدف من واجهة برمجة التطبيقات WebSocketStream API هو حلّ هذه المشاكل من خلال دمج WHATWG Streams مع واجهة برمجة التطبيقات WebSocket API.

يمكنك الاطّلاع على مزيد من المعلومات في مقالة WebSocketStream: دمج مصادر البيانات مع WebSocket API.

تغليف المفتاح X25519Kyber768 لبروتوكول أمان طبقة النقل (TLS)

تحمي هذه السياسة زيارات بروتوكول أمان طبقة النقل (TLS) الحالية في Chrome من تحليل الرموز الكمّي المستقبلي من خلال نشر خوارزمية الاتفاق على مفتاح Kyber768 المقاومة للكمّ.

هذا اتفاق هجين على مفتاحَي X25519 وKyber768 استنادًا إلى معيار مجموعة مهندسي الإنترنت (IETF). هذه المواصفات وعملية الإطلاق خارج نطاق W3C. سيتم إطلاق خوارزمية الاتفاق على المفتاح هذه كرمز تشفير لبروتوكول أمان طبقة النقل (TLS)، ومن المفترض أن تكون واضحة للمستخدمين.

مزيد من المعلومات حول حماية زيارات Chrome باستخدام آلية Kyber KEM المختلطة

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

في الإصدار 124 من Chrome، يمكنك تفعيل مراحل التجربة والتقييم الجديدة التالية.

إعادة ميزة أحداث التغيير التي تم إيقافها نهائيًا

يمكن أن تؤدي أحداث التغيير، بما في ذلك DOMSubtreeModified وDOMNodeInserted وDOMNodeRemoved وDOMNodeRemovedFromDocument وDOMNodeInsertedIntoDocument وDOMCharacterDataModified، إلى الإضرار بأداء الصفحة، كما تزيد بشكل كبير من تعقيد إضافة ميزات جديدة إلى الويب. تم إيقاف واجهات برمجة التطبيقات هذه نهائيًا من المواصفات في عام 2011، وتم استبدالها (في عام 2012) بواجهة برمجة التطبيقات Mutation Observer API التي تعمل بشكل أفضل بكثير.

سيتم إيقاف أحداث التغيير تلقائيًا اعتبارًا من الإصدار 127 من Chrome، في 30 يوليو 2024 تقريبًا. يجب نقل الرمز البرمجي إلى Mutation Observer API قبل ذلك التاريخ لتجنُّب تعطُّل الموقع الإلكتروني. إذا كنت بحاجة إلى مزيد من الوقت، يمكنك التسجيل في إعادة ميزة أحداث Mutation التي تم إيقافها نهائيًا لإعادة تفعيل الميزة لفترة محدودة على موقع إلكتروني معيّن. يمكن استخدام هذه الميزة من خلال الإصدار 134 من Chrome، الذي سينتهي في 25 مارس 2025.

يمكنك بدلاً من ذلك استخدام سياسة المؤسسة MutationEventsEnabled للغرض نفسه، وذلك أيضًا من خلال الإصدار 134 من Chrome.

سجِّل في الفترة التجريبية لإيقاف أحداث التغيُّر نهائيًا.

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

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

يزيل هذا الإصدار من Chrome ميزة واحدة.

إزالة الاسم المستعار "window-placement" للإذن وسياسة الأذونات "window-management"

تتم إزالة الاسم المستعار "window-placement" للأذونات وسياسة الأذونات "window-management". يأتي ذلك في إطار جهود أكبر لإعادة تسمية السلاسل من خلال إيقاف "window-placement" نهائيًا وإزالتها. يؤدي تغيير المصطلحات إلى تحسين عمر الواصف مع تطوّر Window Management API بمرور الوقت.