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

Published: April 3, 2025

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

CSS وواجهة المستخدم

يضيف هذا الإصدار ست ميزات جديدة في CSS وواجهة المستخدم.

الخاصية dynamic-range-limit في CSS

تتيح هذه الميزة للصفحة الحدّ من الحد الأقصى لسطوع محتوى HDR.

تجاهُل تباعد الأحرف في النصوص المكتوبة بخط مائل

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

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

من خلال تنسيق الروابط التي تم النقر عليها على هذا الموقع الإلكتروني والإطار من قبل فقط، أصبحت العديد من الهجمات على القنوات الجانبية التي تم تطويرها للحصول على معلومات تنسيق الروابط :visited غير صالحة الآن. لم تعُد هذه الهجمات تقدّم للمواقع الإلكترونية معلومات جديدة عن المستخدمين.

مزيد من المعلومات عن هذه التحسينات على خصوصية الروابط :visited.

إعادة تسمية string attr() نوع إلى raw-string

قرّر فريق عمل CSS استبدال نوع string attr() بـ raw-string.

لذلك، غيّر Chrome بنية attr()، بحيث يصبح attr(data-foo string) الآن attr(data-foo raw-string).

الرجوع إلى نوع var() غير المحدّد

لا يتم التحقّق من صحة جزء الرجوع في دالة var() مقابل نوع الخاصية المخصّصة التي تتم الإشارة إليها.

print-color-adjust بدون بادئة

تتيح لك الخاصية print-color-adjust تعديل الألوان في صفحات الويب المطبوعة. وهي مماثلة للخاصية -webkit-print-color-adjust التي يتيحها Chrome حاليًا، ولكن باسم موحّد. لا تتم إزالة الإصدار الذي يتضمّن البادئة -webkit.

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

حالة `AudioContext` المُقاطَعة

تضيف هذه الميزة حالة "interrupted" إلى AudioContextState. تتيح هذه الحالة الجديدة لوكيل المستخدم إيقاف التشغيل مؤقتًا في هذه السيناريوهات وتفعيل تطبيقات الويب للاستجابة بشكل مناسب.

تقسيم عناوين URL الخاصة بالكائنات الثنائية الكبيرة (BLOB): الجلب/التنقّل

في إطار مواصلة ميزة "تقسيم مساحة التخزين"، يتم تنفيذ تقسيم إذن الوصول إلى عناوين URL الخاصة بالكائنات الثنائية الكبيرة حسب مفتاح مساحة التخزين (الموقع الإلكتروني من المستوى الأعلى ومصدر الإطار والقيمة المنطقية has-cross-site-ancestor)، باستثناء عمليات التنقّل من المستوى الأعلى التي ستظل مقسّمة حسب مصدر الإطار فقط. يشبه هذا السلوك ما يتم تنفيذه حاليًا في كل من Firefox وSafari، ويتوافق استخدام عناوين URL الخاصة بالكائنات الثنائية الكبيرة مع نظام التقسيم الذي تستخدمه واجهات برمجة التطبيقات الأخرى لمساحة التخزين كجزء من ميزة "تقسيم مساحة التخزين".

بالإضافة إلى ذلك، يتم الآن فرض العلامة noopener على عمليات التنقّل من المستوى الأعلى التي يبدأها برنامج العرض إلى عناوين URL الخاصة بالكائنات الثنائية الكبيرة حيث يكون الموقع الإلكتروني المقابل من مواقع إلكترونية متعددة بالإضافة إلى الموقع الإلكتروني من المستوى الأعلى الذي يُجري عملية التنقّل. يتوافق هذا السلوك في Chrome مع سلوك مشابه في Safari، وتم تعديل المواصفات ذات الصلة لتعكس هذه التغييرات.

تسلسلات استدعاء الدوال البرمجية في تقارير الأعطال من صفحات الويب التي لا تستجيب

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

واجهة برمجة التطبيقات Captured Surface Control API

تتيح واجهة برمجة التطبيقات Captured Surface Control API لتطبيقات الويب إعادة توجيه أحداث عجلة التمرير إلى علامة تبويب تم التقاطها، وقراءة مستوى تكبير/تصغير علامة تبويب تم التقاطها وتغييره.

CapturedSurfaceResolution

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

إرسال أحداث النقر إلى المؤشر الذي تم التقاطه

إذا تم التقاط مؤشر أثناء إرسال حدث pointerup، سيتم إرسال حدث click إلى الهدف الذي تم التقاطه بدلاً من أقرب سلف مشترك لأحداث pointerdown وpointerup وفقًا لمواصفات UI Event. بالنسبة إلى المؤشرات التي لم يتم التقاطها، يظل هدف click بدون تغيير.

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

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

تعديلات على FedCM: إتاحة استخدام عدة موفّري هويات وإزالة ميزة "إضافة حساب آخر" في الوضع السلبي

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

أشرطة التمرير السلسة

تُحدّث هذه الميزة أشرطة تمرير Chrome (كل من أشرطة التمرير المتراكبة وغير المتراكبة) على نظامَي التشغيل Windows وLinux لتتلاءم مع لغة تصميم Windows 11 Fluent. سيتم تفعيل أشرطة التمرير السلسة غير المتراكبة تلقائيًا في نظامَي التشغيل Linux وWindows. ينطبق هذا التغيير أيضًا على Linux لأنّ تصميم شريط تمرير Chrome على Linux كان متوافقًا تاريخيًا مع ما يتم شحنه على Windows.

التوافق مع برنامج ترميز H265 ‏ (HEVC) في WebRTC

اعتبارًا من Chrome 136، سينضم HEVC إلى VP8 وH.264 وVP9 وAV1 كبرامج ترميز متوافقة في WebRTC. يمكن الاستعلام عن التوافق باستخدام MediaCapabilities API.

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

تعديلات على التوافق مع برنامج ترميز H26x لـ MediaRecorder

تتيح واجهة برمجة التطبيقات MediaRecorder API الآن ترميز HEVC، ما يؤدي إلى ظهور سلسلة برنامج الترميز hvc1.*، وتضيف برامج ترميز جديدة (hev1.* وavc3.*) تتيح فيديو بدقة متغيّرة في MP4. تمت إضافة التوافق مع ترميز HEVC على النظام الأساسي في WebCodecs في Chrome 130. في إطار المتابعة، تمت إضافة التوافق مع واجهة برمجة التطبيقات MediaRecorder API في Chromium. تتيح واجهة برمجة التطبيقات الآن كلاً من نوعَي أداة دمج MP4 وMatroska مع مواصفات مختلفة لأنواع MIME لبرنامجي ترميز HEVC وH.264. لا يتوفّر ترميز HEVC إلا إذا كان جهاز المستخدم ونظام التشغيل يوفّران الإمكانات اللازمة.

تسجيل عناوين IP وإعداد تقارير عنها في Chrome Enterprise

تعزّز Chrome Enterprise إمكانات مراقبة الأمان والاستجابة للحوادث من خلال جمع عناوين IP المحلية والبعيدة وإعداد تقارير عنها وإرسال عناوين IP هذه إلى سجلّات التحقيق الأمني (SIT). بالإضافة إلى ذلك، سيسمح Chrome Enterprise للمشرفين بإرسال عناوين IP اختياريًا إلى موفّري أنظمة إدارة معلومات الأمان والأحداث (SIEM) التابعين لجهات خارجية وجهات خارجية باستخدام موصِّل إعداد تقارير Chrome Enterprise. سيتوفّر ذلك لعملاء Chrome Enterprise Core.

تضمين مُنشئ التنقّل في مفتاح تقسيم ذاكرة التخزين المؤقت لبروتوكول HTTP

تم تعديل نظام وضع مفاتيح ذاكرة التخزين المؤقت لبروتوكول HTTP في Chrome ليشمل قيمة منطقية is-cross-site-main-frame-navigation للتخفيف من الهجمات التي تؤدي إلى تسرُّب البيانات من مواقع إلكترونية متعددة والتي تتضمّن عمليات تنقّل من المستوى الأعلى. على وجه التحديد، سيمنع ذلك الهجمات من مواقع إلكترونية متعددة التي يمكن للمهاجم فيها بدء عملية تنقّل من المستوى الأعلى إلى صفحة معيّنة ثم الانتقال إلى مورد معروف أنّه يتم تحميله من قِبل الصفحة لاستنتاج معلومات حساسة من وقت التحميل. يحسّن هذا التغيير أيضًا الخصوصية من خلال منع موقع إلكتروني ضار من استخدام عمليات التنقّل لاستنتاج ما إذا كان المستخدم قد زار موقعًا إلكترونيًا معيّنًا من قبل.

التوافق مع اللغة في CanvasTextDrawingStyles

يقبل عنصر DOM <canvas>، مثل جميع عناصر DOM، سمة lang تُستخدم لتحديد طريقة التعامل الخاصة باللغة عند اختيار الخط (عندما تحتوي الخطوط على رموز خاصة بالإعدادات المحلية). تحترم المتصفحات هذه السمة. ومع ذلك، عند إنشاء OffscreenCanvas، لا توجد طريقة لضبط معلومات الإعدادات المحلية، ما قد يؤدي إلى حالة ينتج فيها لوحة عرض خارج الشاشة نتائج عرض تختلف عن لوحة العرض التي يتم استخدام ناتجها فيها. تضيف هذه الميزة سمة lang IDL إلى CanvasTextDrawingStyles لمنح تحكّم مباشر في لغة رسم النص والمقاييس.

تقارير "سياسة الأذونات" لإطارات iframe

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

مساحة التخزين المتوفّرة التي يتم الإبلاغ عنها والتي يمكن توقُّعها

يتم الإبلاغ عن مساحة تخزين متوفّرة يمكن توقُّعها من واجهة برمجة التطبيقات Estimate API في StorageManager للمواقع الإلكترونية التي لا تملك أذونات تخزين غير محدودة. يمكن رصد وضع تصفُّح المستخدم باستخدام مساحة التخزين المتوفّرة التي يتم الإبلاغ عنها لأنّ مساحة التخزين المتاحة تكون أصغر بكثير في وضع التصفُّح المتخفي مقارنةً بالوضع العادي.

واجهة برمجة التطبيقات Private Aggregation API: إعداد تقارير عن الأخطاء الإجمالية

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

RegExp.escape

RegExp.escape هي طريقة ثابتة تأخذ سلسلة وتعرض إصدارًا تم إلغاء تسلسله يمكن استخدامه كنمط داخل تعبير عادي. على سبيل المثال:

const str = prompt("Please enter a string");
const escaped = RegExp.escape(str);
const re = new RegExp(escaped, 'g'); // handles reg exp special tokens with the replacement.

console.log(ourLongText.replace(re));

قواعد التوقُّع: حقل العلامة

تتيح هذه الميزة للمطوّرين إضافة field للعلامة إلى قواعد التوقُّع. يمكن استخدام هذا الحقل الاختياري لتتبُّع مصدر قواعد التوقُّع. على سبيل المثال، للتعامل معها بشكل مختلف على خادم وسيط. سيتم إرسال أي علامات مرتبطة بالتوقُّع باستخدام عنوان Sec-Speculation-Tags.

سياسة "المصدر نفسه" الصارمة لواجهة برمجة التطبيقات Storage Access API

يتم تعديل دلالات واجهة برمجة التطبيقات Storage Access API لتتّبع سياسة "المصدر نفسه" بدقة. أي أنّ استخدام document.requestStorageAccess() في إطار لا يرفق ملفات تعريف الارتباط إلا بالطلبات المُرسَلة إلى مصدر الإطار (وليس الموقع الإلكتروني) تلقائيًا. يُرجى العِلم أنّه لا يزال من الممكن استخدام السياسة CookiesAllowedForUrls أو عناوين Storage Access Headers لإلغاء حظر ملفات تعريف الارتباط من مواقع إلكترونية متعددة.

تعديل ProgressEvent لاستخدام نوع مزدوج لـ loaded وtotal

يحتوي ProgressEvent على سمتَي loaded وtotal تشيران إلى التقدّم، ونوعهما الآن unsigned long long. باستخدام هذه الميزة، يتم تغيير نوع هاتين السمتَين إلى double بدلاً من ذلك، ما يمنح المطوّر تحكّمًا أكبر في القيمة. على سبيل المثال، يمكن للمطوّرين الآن إنشاء `ProgressEvent` بقيمة total تساوي 1 وقيمة loaded تزداد تدريجيًا من 0 إلى 1. يتوافق ذلك مع السلوك التلقائي لعنصر HTML <progress> إذا تم حذف السمة max.

استخدام DOMPointInit لـ getCharNumAtPosition وisPointInFill وisPointInStroke

يؤدي هذا التغيير إلى جعل رمز Chromium متوافقًا مع أحدث مواصفات W3C لـ SVGGeometryElement وSVGPathElement من حيث استخدام DOMPointInit بدلاً من SVGPoint لـ getCharNumAtPosition وisPointInFill وisPointInStroke.

إنشاء مشروط لمصادقة الويب (ترقيات مفتاح المرور)

تتيح طلبات الإنشاء المشروط في WebAuthn للمواقع الإلكترونية ترقية بيانات اعتماد كلمة المرور الحالية إلى مفتاح مرور.

WebGPU: سمة isFallbackAdapter في GPUAdapterInfo

تشير السمة المنطقية isFallbackAdapter في GPUAdapterInfo إلى ما إذا كان للمحوّل قيود كبيرة على الأداء مقابل توافق أوسع أو سلوك أكثر قابلية للتوقُّع أو خصوصية محسّنة. يُرجى العِلم أنّه قد لا يتوفّر محوّل احتياطي على جميع الأنظمة.

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

في Chrome 136، يمكنك الاشتراك في عمليات التجربة والتقييم الجديدة التالية .

واجهة برمجة التطبيقات Audio Output Devices API: setDefaultSinkId()

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

السماح لتطبيقات الويب بفهم أوقات الأداء الثنائي

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

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

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

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

بيانات اعتماد الجلسة المرتبطة بالجهاز

طريقة لربط جلسة بشكل آمن بجهاز واحد للمواقع الإلكترونية

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

تعديل عملية تنفيذ عرض نص لوحة العرض

تم استبدال العناصر الداخلية لـ measureText() وfillText() وstrokeText() في CanvasRenderingContext2D وOffscreenCanvasRenderingContext2D بتنفيذ جديد يتيح دعمًا أفضل للنص من اليمين إلى اليسار والتخزين المؤقت. قد يؤثر ذلك في الأداء وإخراج النص ثنائي الاتجاه، لذا تتيح عملية التجربة والتقييم هذه لتطبيقات لوحة العرض التي تتضمّن نصوصًا كثيرة تجربة التنفيذ الجديد والإبلاغ عن أي مشاكل قد تواجهها.

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

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

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

إيقاف أدوات الجلب الخاصة بمعلومات الإعدادات المحلية في Intl نهائيًا

Intl Locale Info API هو اقتراح من المرحلة 3 في ECMAScript TC39 لتعزيز عنصر Intl.Locale من خلال عرض معلومات الإعدادات المحلية، مثل بيانات الأسبوع (اليوم الأول في الأسبوع ويوم بدء عطلة نهاية الأسبوع ويوم انتهاء عطلة نهاية الأسبوع والحد الأدنى لليوم في الأسبوع الأول) ودورة الساعة لاتجاه النص المُستخدَمة في الإعدادات المحلية. يزيل هذا التغيير بعض أدوات الجلب التي تم إيقافها نهائيًا في تغيير المواصفات منذ شحنها.

إزالة HTMLFencedFrameElement.canLoadOpaqueURL().

تم استبدال canLoadOpaqueURL() بـ navigator.canLoadAdAuctionFencedFrame() في عام 2023، وقد أدى استدعاؤها إلى ظهور تحذير في وحدة التحكّم بشأن الإيقاف النهائي منذ ذلك الحين، ما يشير إلى المطوّرين إلى واجهة برمجة التطبيقات الجديدة. ليس من المنطقي إرفاق الدالة بـ HTMLFencedFrameElement، بل يجب إرفاقها بعنصر navigator (الذي يحتوي على طرق أخرى للإطار المضمّن المستقل ومزاد الإعلانات).