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

تاريخ النشر: 25 يونيو 2025

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

CSS

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

الاختصار var() وattr()

عندما لا يتم استخدام الصيغة الاحتياطية، يتم تقييم الدالتَين var() وattr() بدون البحث عن دورات في هذه الصيغة الاحتياطية. تعمل صفحات الأنماط المتتالية (CSS) التالية لأنّ --green و--blue متوفّران.

--green: green;
--blue: blue;
--a: var(--green, var(--b));
--b: var(--blue, var(--a));

خاصية caret-animation في CSS

كان Chrome يتيح عرض صور متحركة للسمة caret-color، ولكن عند عرض صورة متحركة، كان السلوك التلقائي للوميض في المؤشر يتداخل مع الصورة المتحركة. تتضمّن السمة caret-animation في CSS قيمتَين محتملتَين: auto وmanual، حيث تشير auto إلى الإعداد التلقائي للمتصفّح (وميض)، وتشير manual إلى أنّ مطوّر الويب يتحكّم في حركة المؤشر. يتيح الموقع أيضًا للمستخدمين إيقاف الوميض باستخدام ورقة أنماط خاصة بالمستخدم.

تشكيل الزوايا

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

مواصلة تنفيذ عمليات الانتقال عند التبديل إلى قيمة الانتقال الأولية

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

الوظائف المخصّصة في CSS

تشبه الدوال المخصّصة الخصائص المخصّصة، ولكن بدلاً من عرض قيمة ثابتة واحدة، تعرض الدوال المخصّصة قيمًا استنادًا إلى خصائص مخصّصة ومعلَمات وشروط أخرى.

@function --negate(--value) {
result: calc(var(--value) * -1);
}

div {
--gap: 1em;
margin-top: --negate(var(--gap));
}

إتاحة width وheight كسمات عرض على عناصر <svg> متداخلة

يتيح تطبيق width وheight كسمات عرض على عناصر <svg> متداخلة من خلال كل من ترميز SVG وCSS. يوفّر هذا الأسلوب المزدوج مرونة أكبر، ما يتيح لك إدارة عناصر SVG وتصميمها بشكل أكثر فعالية ضمن التصاميم المعقّدة.

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

بيان تطبيق الويب: تحديد أهلية التحديث، عناوين URL للرموز هي Cache-Control: immutable

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

تحسينات على أداء ميزة "استشعار العمق" في WebXR

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

السماح باستخدام المزيد من الأحرف في واجهات برمجة تطبيقات DOM في JavaScript

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

أمر request-close

يمكن إغلاق عناصر مربّع الحوار من خلال آليات متنوّعة، وفي بعض الأحيان، يريد المطوّرون إمكانية منع الإغلاق. لتحقيق ذلك، تُطلق مربّعات الحوار حدث إلغاء. في الأصل، كان يتم تشغيل هذا الحدث فقط من خلال طلب إغلاق (على سبيل المثال، الضغط على المفتاح Esc)، ولكن تم مؤخرًا إضافة الدالة requestClose() في JavaScript التي تشغّل أيضًا حدث الإلغاء. يوفّر الأمر request-close هذه الإمكانية الجديدة لواجهة برمجة التطبيقات الخاصة بأوامر أداة الاستدعاء التعريفية.

‫WebGPU: إتاحة البُنى الثلاثية الأبعاد بتنسيقات BC وASTC المضغوطة

تضيف ميزتا texture-compression-bc-sliced-3d وtexture-compression-astc-sliced-3d WebGPU إمكانية استخدام بنية ثلاثية الأبعاد مع تنسيقات BC وASTC المضغوطة.

تأكيد الدفع الآمن: المفاتيح المرتبطة بالمتصفّح

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

تحديث تجربة المستخدم في ميزة "تأكيد الدفع الآمن"

تعدّل هذه السياسة عناصر تجربة المستخدم في مربّع حوار SPC على متصفّح Chrome لنظام التشغيل Android. بالإضافة إلى عرض تجربة المستخدم، سيتمّ إضافة ما يلي:

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

WebGPU core-features-and-limits

تشير الميزة core-features-and-limits إلى أنّ محوّل WebGPU وجهازًا متوافقَين مع الميزات والقيود الأساسية للمواصفات.

إصلاح مشكلة مرشّح تحديد موضع التثبيت حسب الأولوية

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

إتاحة السمة async لعناصر SVG <script>

تقدّم الواجهة SVGScriptElement في SVG 2.0 السمة async، على غرار HTMLScriptElement. تسمح هذه السمة بتنفيذ النصوص البرمجية بشكل غير متزامن، ما يؤدي إلى تحسين أداء تطبيقات الويب التي تستخدم SVG وسرعة استجابتها.

On-device Web Speech API

تضيف هذه الميزة إمكانية التعرّف على الكلام على الجهاز إلى Web Speech API، ما يتيح للمواقع الإلكترونية التأكّد من عدم إرسال أي صوت أو نص مكتوب إلى خدمة تابعة لجهة خارجية لمعالجته. يمكن للمواقع الإلكترونية الاستعلام عن مدى توفّر ميزة &quot;التعرّف على الكلام&quot; على الجهاز بلغات معيّنة، ومطالبة المستخدمين بتثبيت الملفات اللازمة لهذه الميزة، والاختيار بينها وبين ميزة &quot;التعرّف على الكلام&quot; المستندة إلى السحابة الإلكترونية حسب الحاجة.

محو window.name لعمليات التنقّل بين المواقع الإلكترونية التي تبدّل مجموعة سياقات التصفّح

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

Enterprise Policy: ClearWindowNameCrossSiteBrowsing (سيتوقف عن العمل في الإصدار 142 من Chrome).

إضافات نطاق تطبيقات الويب

تضيف هذه السمة حقل "scope_extensions" في بيان تطبيق الويب الذي يتيح لتطبيقات الويب توسيع نطاقها ليشمل مصادر أخرى.

يتيح ذلك للمواقع الإلكترونية التي تتحكّم في نطاقات فرعية ونطاقات علوية متعددة أن يتم عرضها كتطبيق ويب واحد، ويتطلّب ذلك أن تؤكّد المصادر المُدرَجة ارتباطها بتطبيق الويب باستخدام ملف إعداد .well-known/web-app-origin-association.

رصد أنواع MIME المتوافقة مع مواصفات JSON

يتعرّف Chromium الآن على جميع أنواع MIME الصالحة لملفات JSON على النحو المحدّد في مواصفات mimesniff الصادرة عن WHATWG. ويشمل ذلك أي نوع MIME ينتهي نوعه الفرعي بـ +json، بالإضافة إلى application/json وtext/json التقليديين. يضمن هذا التغيير أن تتوافق واجهات برمجة التطبيقات والميزات المستندة إلى رصد JSON مع معيار منصة الويب والمتصفحات الأخرى. أحد الأسباب الرئيسية لهذا التغيير هو إصلاح سلوك استيراد وحدة JSON، إذ إنّ أنواع MIME الصالحة سابقًا بتنسيق JSON، مثل text/html+json وimage/svg+json، كانت يتعذّر تحميلها كوحدات.

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

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

واجهة برمجة التطبيقات لإعداد تقارير الأعطال: تحديد إعدادات إعداد تقارير الأعطال لتلقّي تقارير الأعطال فقط

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

الحدّ من إنشاء بصمات رقمية في معلومات عنوان Accept-Language

يقلّل من مقدار المعلومات التي يعرضها سلسلة قيمة العنوان Accept-Language في طلبات HTTP وفي navigator.languages. بدلاً من إرسال قائمة كاملة باللغات المفضّلة للمستخدم في كل طلب HTTP مع العنوان Accept-Language نرسل الآن اللغة المفضّلة لدى المستخدم في العنوان Accept-Language. للحدّ من مخاطر عدم التوافق، سيتم تقليل المعلومات في عنوان HTTP عند الإطلاق الأوّلي، وسنعمل على تقليل دوال جلب navigator.languages JavaScript ذات الصلة في المستقبل.

إطلاق حدث خطأ بدلاً من طرح خطأ للعامل المحظور من خلال سياسة أمان المحتوى

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

مستوى الصوت للإطارات المرمّزة في الوقت الفعلي

تعرض هذه السمة على الويب مستوى الصوت لإطار مرمّز يتم إرساله باستخدام RTCPeerConnection وعرضه باستخدام WebRTC Encoded Transform.

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

في الإصدار 139 من Chrome، يمكنك الاشتراك في التجارب الأصلية الجديدة التالية.

Prompt API

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

سمة حظر العرض لعدد اللقطات الكامل في الثانية

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

وضع التوافق مع WebGPU

تضيف هذه السمة مجموعة فرعية من واجهة برمجة التطبيقات WebGPU تتطلّب الموافقة وتتضمّن قيودًا بسيطة، وهي قادرة على تشغيل واجهات برمجة تطبيقات الرسومات القديمة، مثل OpenGL وDirect3D11. من خلال تفعيل هذا الوضع والالتزام بقيوده، يمكن للمطوّرين توسيع نطاق تطبيقات WebGPU لتشمل العديد من الأجهزة القديمة التي لا تتضمّن واجهات برمجة التطبيقات الحديثة والصريحة للرسومات التي تتطلّبها WebGPU الأساسية. في التطبيقات البسيطة، التغيير الوحيد المطلوب هو تحديد "compatibility" featureLevel عند استدعاء requestAdapter. بالنسبة إلى التطبيقات الأكثر تقدّمًا، قد تكون بعض التعديلات ضرورية لاستيعاب القيود التي يفرضها الوضع. بما أنّ "وضع التوافق" هو مجموعة فرعية، فإنّ التطبيقات الناتجة تكون أيضًا تطبيقات WebGPU Core صالحة وسيتم تشغيلها حتى على وكلاء المستخدمين الذين لا يتيحون "وضع التوافق".

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

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

يزيل هذا الإصدار من Chrome ميزتَين.

إزالة إمكانية استخدام التطبيق على نظام التشغيل macOS 11

‫Chrome 138 هو الإصدار الأخير المتوافق مع نظام التشغيل macOS 11. اعتبارًا من الإصدار 139 من Chrome، لن يكون نظام التشغيل macOS 11 متوافقًا، لأنّه خارج نطاق فترة الدعم المحدّدة مع Apple. يُعدّ تشغيل الجهاز على نظام تشغيل متوافق أمرًا ضروريًا للحفاظ على الأمان. على أجهزة Mac التي تعمل بنظام التشغيل macOS 11، سيظل بإمكان المستخدمين تشغيل المتصفح Chrome، وسيظهر شريط معلومات تحذيري، ولكن لن يتم إصدار أي تحديثات مستقبلية له. إذا أراد المستخدم تحديث Chrome، عليه تحديث جهاز الكمبيوتر إلى إصدار متوافق من نظام التشغيل macOS. بالنسبة إلى عمليات التثبيت الجديدة للإصدار 139 من Chrome والإصدارات الأحدث، يجب استخدام الإصدار 12 من نظام التشغيل macOS أو الإصدارات الأحدث.

إزالة ميزة الرصد التلقائي لدليل الرموز ISO-2022-JP في HTML

هناك مشاكل أمان معروفة بشأن الرصد التلقائي لمجموعة الأحرف ISO-2022-JP. وبما أنّ معدّل الاستخدام منخفض جدًا، ولا يتيح Safari ميزة الرصد التلقائي لدليل الرموز ISO-2022-JP، سيزيل Chrome هذه الميزة لتجنُّب المشاكل الأمنية.