الإصدار 138 من Chrome

تاريخ الإصدار الثابت: 24 يونيو 2025

ما لم يُذكر خلاف ذلك، تنطبق التغييرات التالية على إصدار القناة الثابتة 138 من Chrome على أجهزة Android وChromeOS وLinux وmacOS وWindows.

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

تحسب الدالتان abs() وsign() المرتبطتان بالإشارة دوالاً مختلفة مرتبطة بإشارة وسيطتهما.

تحتوي الدالة abs(A) على عملية حسابية واحدة، وهي A، وتعرض القيمة المطلقة لـ A، بنفس نوع الإدخال: إذا كانت القيمة الرقمية لـ A موجبة أو 0⁺، يتم عرض A مرة أخرى، وإلا يتم عرض ‎-1 * A.

تحتوي الدالة sign(A) على عملية حسابية واحدة، A، وتعرض القيمة -1 إذا كانت القيمة الرقمية لـ A سالبة، والقيمة +1 إذا كانت القيمة الرقمية لـ A موجبة، والقيمة 0⁺ إذا كانت القيمة الرقمية لـ A هي 0⁺، والقيمة 0⁻ إذا كانت القيمة الرقمية لـ A هي 0⁻. نوع القيمة المعروضة هو <number>، ما يجعلها متوافقة مع نوع العملية الحسابية المُدخلة.

مستندات MDN:abs()‎ | تتبُّع الخطأ رقم 40253181 | إدخال ChromeStatus.com | المواصفات

الترميز الوظيفي لمستوى التقدّم في الاستيفاء: الدالة progress() في CSS

تعرض الصيغة الوظيفية progress() قيمة <number> تمثّل موضع عملية حسابية واحدة (قيمة التقدم) بين عمليتين حسابيتين أخريين (قيمة بداية التقدم وقيمة نهاية التقدم). الدالة progress() هي دالة رياضية.

تتبُّع الخطأ رقم 40944203 | إدخال ChromeStatus.com | المواصفات

‫CSS sibling-index() وsibling-count()

يمكن استخدام الدالتَين sibling-index() وsibling-count() كأعداد صحيحة في قيم سمات CSS لتصميم العناصر استنادًا إلى موضعها بين العناصر الشقيقة أو العدد الإجمالي للعناصر الشقيقة على التوالي. يمكن استخدام هذه الدوال مباشرةً كقيم عددية صحيحة، ولكن الأهم هو استخدامها ضمن calc()التعبيرات.

تتبُّع الخطأ رقم 40282719 | إدخال ChromeStatus.com | المواصفات

stretch الكلمة الرئيسية لتحديد الحجم في CSS

كلمة رئيسية لخصائص تحديد الحجم في CSS (مثل width وheight) تتيح للعناصر أن تتوسّع لملء المساحة المتاحة في الحاوية تمامًا. وهي تشبه القيمة "100%"، إلا أنّ الحجم الناتج يتم تطبيقه على مربّع الهامش الخاص بالعنصر بدلاً من المربّع المشار إليه بواسطة box-sizing. يتيح استخدام هذه الكلمة الرئيسية للعنصر الاحتفاظ بهوامشه مع الحفاظ على أكبر حجم ممكن. تمثّل هذه السمة نسخة من -webkit-fill-available بدون بادئة.

تتبُّع الخطأ رقم 41253915 | إدخال ChromeStatus.com | المواصفات

متغيّر CSS env لحجم الخط على مستوى نظام التشغيل

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

تتبُّع الخطأ رقم 397737223 | إدخال ChromeStatus.com | المواصفات

الأجهزة

Web serial عبر البلوتوث على Android

تتيح هذه الميزة لصفحات الويب وتطبيقات الويب الاتصال بالمنافذ التسلسلية عبر البلوتوث على أجهزة Android.

يتيح Chrome على Android الآن استخدام Web Serial API عبر Bluetooth RFCOMM. سيتم تفعيل سياسات المؤسسات الحالية (DefaultSerialGuardSetting وSerialAllowAllPortsForUrls وSerialAllowUsbDevicesForUrls وSerialAskForUrls وSerialBlockedForUrls) على المنصات الأخرى في حالات future_on لنظام Android. سيتم تفعيل جميع السياسات باستثناء SerialAllowUsbDevicesForUrls بعد تفعيل الميزة. سيتم تفعيل SerialAllowUsbDevicesForUrls في إصدار مستقبلي بعد أن يوفّر نظام التشغيل Android دعمًا على مستوى النظام لمنافذ التسلسل السلكية.

تتبُّع الخطأ رقم 375245353 | إدخال ChromeStatus.com | المواصفات

Viewport Segments Enumeration API

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

تتبُّع الخطأ رقم 1039050 | إدخال ChromeStatus.com | المواصفات

JavaScript

تعديل QuotaExceededError إلى واجهة مشتقة من DOMException

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

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

إدخال ChromeStatus.com | المواصفات

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

Translator API

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

مستندات MDN | خطأ التتبُّع رقم 322229993 | إدخال ChromeStatus.com | المواصفات

Language Detector API

واجهة برمجة تطبيقات JavaScript لاكتشاف لغة النص، مع مستويات دقة.

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

مستندات شبكة مطوّري Mozilla | إدخال ChromeStatus.com | المواصفات

Summarizer API

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

مستندات MDN | خطأ التتبُّع ‎ #351744634 | إدخال ChromeStatus.com | المواصفات

تجنُّب < و> في السمات عند التسلسل

يجب إلغاء < و> في قيم السمات عند التسلسل.

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

إدخال ChromeStatus.com | المواصفات

واجهة برمجة التطبيقات لإعداد التقارير عن الأعطال: is_top_level وvisibility_state

تضيف هذه الميزة حقلَي السلسلة is_top_level وvisibility_state إلى نص واجهة برمجة التطبيقات لإعداد تقارير الأعطال الذي يتم إرساله إلى نقطة نهاية إعداد التقارير التلقائية لتقارير الأعطال.

إدخال ChromeStatus.com | المواصفات

إطلاق الحدث pushsubscriptionchange عند إعادة الاشتراك

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

سيتم تشغيل الحدث مع oldSubscription وnewSubscription فارغَين.

تتبُّع الخطأ رقم 407523313 | إدخال ChromeStatus.com | المواصفات

وسائط متعددة

إضافة دعم للبيانات الوصفية الخاصة باتجاه إطار الفيديو إلى WebCodecs

تضيف هذه الميزة القيمتَين rotation: int وflip: bool إلى واجهات مختلفة ذات صلة بالفيديو في WebCodecs، ما يتيح للمطوّرين العمل مع مصادر اللقطات التي تتضمّن معلومات عن الاتجاه (مثل كاميرات Android وبعض الوسائط).

تتيح واجهة VideoFrame إمكانية إنشاء VideoFrames مع تدوير وانعكاس عشوائيين، بالإضافة إلى أدوات الوصول إلى هذه المعلومات في عنصر VideoFrame.

يكتسب العنصر VideoDecoderConfig حقلَي التدوير والقلب اللذين يتم إصدارهما تلقائيًا في عناصر VideoFrame التي تم فك ترميزها.

تكتسب الفئة VideoEncoder آليات لتمرير معلومات التدوير والقلب من encode() إلى VideoDecoderConfig التي يتم إصدارها كجزء من EncodedVideoChunkMetadata. إذا تم استدعاء encode() باستخدام إطارات ذات اتجاهات مختلفة، سيتم طرح استثناء غير خطير. يمكن استخدام configure() لإعادة ضبط اتجاه الشاشة المسموح به.

تتبُّع الخطأ رقم 40243431 | إدخال ChromeStatus.com | المواصفات

الأداء

إضافة prefetchCache وprerenderCache إلى عنوان Clear-Site-Data

قيمتان جديدتان لعنوان Clear-Site-Data لمساعدة المطوّرين في استهداف محو ذاكرة التخزين المؤقت الخاصة بالتحميل المسبق والتحميل المسبق للعرض: "prefetchCache" و"prerenderCache".

تتبُّع الخطأ رقم 398149359 | إدخال ChromeStatus.com | المواصفات

قواعد التوقُّع: حقل target_hint

يؤدي ذلك إلى توسيع بنية قواعد التوقّع للسماح للمطوّرين بتحديد الحقل target_hint.

يقدّم هذا الحقل تلميحًا يشير إلى عنصر قابل للتصفّح سيتم في النهاية تفعيل صفحة معروضة مسبقًا فيه. على سبيل المثال، عند تحديد _blank كتلميح، يمكن تفعيل صفحة معروضة مُسبقًا لصفحة قابلة للتصفّح تم فتحها باستخدام window.open(). لا يؤثّر الحقل في الجلب المُسبَق.

تسمح المواصفات لهذا الحقل بقبول أي سلاسل صالحة كاسم أو كلمة رئيسية لهدف قابل للتصفّح كقيمة، ولكن لا يتيح هذا الإصدار سوى إحدى السلسلتَين "_self" أو "_blank". إذا لم يتم تحديد التلميح، سيتم التعامل معه كما لو تم تحديد "_self".

تتبُّع الخطأ رقم 40234240 | إدخال ChromeStatus.com | المواصفات

الأمان

سياسة سلامة النصوص البرمجية

تتيح ميزة Subresource-Integrity (SRI) للمطوّرين التأكّد من أنّ مواد العرض التي يريدون تحميلها هي بالفعل مواد العرض التي يتم تحميلها. ولكن لا تتوفّر حاليًا طريقة تتيح للمطوّرين التأكّد من أنّه تم التحقّق من صحة جميع النصوص البرمجية باستخدام SRI.

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

إدخال ChromeStatus.com | المواصفات

مشغّل الخدمات

إتاحة ميزة جلب Speculation Rules المسبق في ServiceWorker

تتيح هذه الميزة عمليات الجلب المسبق التي تتحكّم فيها ميزة ServiceWorker، أي عمليات الجلب المسبق التي تستخدم قواعد التخمين إلى عناوين URL تتحكّم فيها ميزة Service Worker. في السابق، كان يتم إلغاء الجلب المسبق عند رصد مشغّل خدمات متحكّم، وبالتالي يتم عرض عملية التنقّل اللاحقة إلى هدف الجلب المسبق من خلال مسار غير الجلب المسبق. ستتيح هذه الميزة إرسال طلب الجلب المُسبَق من خلال معالج الجلب في Service Worker، وسيتم تخزين الاستجابة التي تم اعتراضها باستخدام Service Worker مؤقتًا في ذاكرة التخزين المؤقت للجلب المُسبَق، ما يؤدي إلى عرض عملية التنقّل اللاحقة من خلال ذاكرة التخزين المؤقت للجلب المُسبَق. استخدِم سياسة المؤسسة PrefetchWithServiceWorkerEnabled للتحكّم في هذه الميزة.

تتبُّع الخطأ رقم 40947546 | إدخال ChromeStatus.com | المواصفات

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

WebGPU: إيقاف السمة GPUAdapter isFallbackAdapter نهائيًا

تم إيقاف السمة المنطقية GPUAdapter isFallbackAdapter نهائيًا في WebGPU، لأنّها مكرّرة مع السمة المنطقية GPUAdapterInfo isFallbackAdapter.

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

تتبُّع الخطأ ‎ #409259074 | إدخال ChromeStatus.com | المواصفات

الإيقاف النهائي لعملية الإزالة غير المتزامنة للنطاق في Media Source Extensions

منذ فترة طويلة، تم تغيير معيار Media Source لعدم السماح بالسلوك غير الواضح الذي يتضمّن عمليات إزالة غير متزامنة للنطاق:

  • لم يعُد SourceBuffer.abort() يوقف عمليات SourceBuffer.remove().
  • لم يعُد بإمكان الإعداد MediaSource.duration اقتطاع الوسائط المخزّنة مؤقتًا حاليًا.

سيتم الآن طرح استثناءات في كلتا الحالتين.

لقد كان هذا السلوك متاحًا منذ فترة طويلة في متصفّحَي Safari وFirefox، أما Chromium فهو آخر متصفّح لا يزال يعتمد السلوك القديم. استخدِم عدّادات لتوضيح أنّ حوالي %0.001 إلى% 0.005 من عمليات تحميل الصفحات تتأثر بالسلوك المتوقّف نهائيًا. إذا واجه موقع إلكتروني هذه المشكلة، قد يتوقف التشغيل.

يزداد استخدام ميزة إلغاء عمليات الإزالة في abort()، لذا من الحكمة حلّ مشكلة الإيقاف النهائي هذه قبل ظهور المزيد من حالات الاستخدام غير المتوافق.

تتبُّع الخطأ رقم 40474569 | إدخال ChromeStatus.com | المواصفات