تاريخ النشر: 1 مايو 2025
ما لم يُذكر خلاف ذلك، تنطبق التغييرات التالية على أحدث إصدار من قناة الإصدار التجريبي من Chrome على أجهزة Android وChromeOS وLinux وmacOS وWindows. يمكنك الاطّلاع على مزيد من المعلومات حول الميزات المدرَجة هنا من خلال الروابط المتوفّرة أو من القائمة على ChromeStatus.com. يتوفّر الإصدار التجريبي من Chrome 130 اعتبارًا من 30 أبريل 2025. يمكنك تنزيل أحدث إصدار على Google.com لأجهزة الكمبيوتر أو على "متجر Google Play" على أجهزة Android.
CSS وواجهة المستخدم
يضيف هذا الإصدار سبع ميزات جديدة في CSS وواجهة المستخدم.
الدالة if()
توفّر الدالة if() في CSS طريقة موجزة للتعبير عن القيم الشرطية. يقبل هذا الإجراء سلسلة من أزواج الشروط والقيم مفصولة بفواصل منقوطة. تقيّم الدالة كل شرط بالتسلسل وتعرض القيمة المرتبطة بأول شرط صحيح. إذا لم يكن أي من الشروط صحيحًا، ستعرض الدالة سلسلة رموز مميزة فارغة. يتيح لك ذلك التعبير عن منطق شرطي معقّد
بطريقة بسيطة وموجزة. مثال:
div {
color: var(--color);
background-color: if(style(--color: white): black; else: white);
}
.dark {
--color: black;
}
.light {
--color: white;
}
<div class="dark">dark</div>
<div class="light">light</div>
السمتان reading-flow وreading-order
تتحكّم السمة reading-flow في CSS في ترتيب عرض العناصر في تصميم مرن أو شبكي أو على شكل مربّعات لأدوات تسهيل الاستخدام، وفي ترتيب التركيز عليها باستخدام التنقّل بلوحة المفاتيح من خلال مفتاح Tab. تتضمّن إحدى قيم الكلمات الرئيسية التالية:
normalflex-visualflex-flowgrid-rowsgrid-columnsgrid-ordersource-order
تتيح لك خاصية reading-order في CSS تجاوز الترتيب يدويًا ضمن حاوية تسلسل القراءة. وهو عدد صحيح بقيمة تلقائية تبلغ 0.
لمزيد من المعلومات، يمكنك قراءة استخدام ترتيب القراءة في CSS للتنقل المنطقي بالتسلسل وتجربة بعض أمثلة على ترتيب القراءة.
offset-path: shape()
تتوفّر وظيفة shape() حاليًا في clip-path، وهي تتيح قص المحتوى بشكل متجاوب. يؤدي تفعيلها أيضًا للسمة offset-path إلى إغلاق فجوة صغيرة حيث يمكن استخدام النوع نفسه من الشكل لتلك السمة.
إتاحة سمة التحويل على SVGSVGElement
تتيح هذه الميزة تطبيق خصائص التحويل، مثل تغيير الحجم والتدوير والترجمة والتشويه، مباشرةً على عنصر الجذر <svg> باستخدام سمة التحويل. يتيح لك هذا التحسين التلاعب بنظام الإحداثيات الكامل لرسومات SVG أو محتواه بالكامل، ما يوفّر مرونة أكبر في إنشاء رسومات متجهة ديناميكية ومتجاوبة وتفاعلية. من خلال توفير هذه السمة، يمكن تحويل عنصر SVG بدون الحاجة إلى عناصر التفاف إضافية أو حلول بديلة معقّدة في CSS، ما يؤدي إلى تبسيط عملية إنشاء رسومات ويب قابلة للتوسيع ومتحركة.
السماح لـ <use> بالإشارة إلى العنصر الجذر لمستند خارجي عن طريق حذف الجزء.
في هذه الميزة، نعمل على تبسيط عنصر SVG <use> من خلال تخفيف متطلبات الإشارة. في الوقت الحالي، عليك الإشارة بشكل صريح إلى الأجزاء
ضمن مستند SVG. إذا لم يتم تقديم معرّف جزء، لن يتمكّن <use> من تحديد الهدف ولن يتم عرض أي شيء أو الإشارة إليه.
باستخدام هذه الميزة، سيتم تلقائيًا الرجوع إلى العنصر الجذر عند حذف الأجزاء أو عند إدخال اسم ملف SVG الخارجي فقط، ما يغنيك عن تعديل المستند المشار إليه لمجرّد تعيين رقم تعريف للعنصر الجذر. يؤدي هذا التحسين إلى تبسيط عملية التعديل اليدوي هذه وتحسين الكفاءة.
توسيع نطاق استخدام لون تمييز النظام للسمة accent-color ليشمل أجهزة Windows وChromeOS
يتيح لك ذلك استخدام لون التمييز في نظام التشغيل لعناصر النموذج. باستخدام السمة accent-color CSS، يمكنك التأكّد من أنّ عناصر النماذج، مثل مربّعات الاختيار وأزرار الاختيار وأشرطة التقدم، تعتمد تلقائيًا لون التمييز الذي يحدّده نظام تشغيل المستخدم. كانت هذه الميزة متاحة على أجهزة macOS منذ عام 2021، وأصبحت متاحة الآن على أجهزة Windows وChromeOS.
view-transition-name: match-element
تنشئ قيمة match-element للسمة view-transition معرّفًا فريدًا استنادًا إلى هوية العنصر وتبقى القيمة نفسها لهذا العنصر. يتم استخدام هذا الخيار في حالات تطبيقات الصفحة الواحدة حيث يتم نقل العنصر، وتريد تحريكه باستخدام انتقال العرض.
واجهات برمجة التطبيقات على الويب
عرض نوع خطأ Align عند إنشاء بيانات اعتماد WebAuthn "للدفع"
يصحّح هذا التغيير نوع الخطأ الذي يتم عرضه أثناء إنشاء بيانات اعتماد WebAuthn لبيانات اعتماد payment. بسبب عدم تطابق المواصفات السابقة، سيؤدي إنشاء بيانات اعتماد payment
في إطار iframe من مصادر متعددة بدون تفعيل المستخدِم إلى عرض الخطأ
SecurityError بدلاً من NotAllowedError، وهو الخطأ الذي يتم عرضه لبيانات الاعتماد
غير المتعلّقة بالدفع. هذا تغيير قد يؤدي إلى عطل. سيتأثر الرمز الذي كان يرصد نوع الخطأ الذي تم طرحه (مثلاً، e instanceof SecurityError). سيستمر عمل الرمز الذي يتعامل بشكل عام مع الأخطاء أثناء إنشاء بيانات الاعتماد (على سبيل المثال، catch (e)) بشكل صحيح.
تقسيم مساحات التخزين لعناوين URL الخاصّة بكائنات ثنائية كبيرة (BLOB): الجلب/التنقّل
في إطار مواصلة العمل على ميزة "تقسيم مساحة التخزين"، يتم تنفيذ تقسيم إمكانية الوصول إلى عناوين URL الخاصة بالكائنات الثنائية الكبيرة (BLOB) حسب مفتاح التخزين (الموقع الإلكتروني من المستوى الأعلى ومصدر الإطار والقيمة المنطقية has-cross-site-ancestor)، باستثناء عمليات التنقّل على المستوى الأعلى التي ستبقى مقسّمة حسب مصدر الإطار فقط.
يمكن التراجع عن هذا التغيير مؤقتًا من خلال ضبط سياسة PartitionedBlobURLUsage. سيتم إيقاف هذه السياسة نهائيًا عند إيقاف سياسات المؤسسة الأخرى ذات الصلة بتقسيم مساحة التخزين نهائيًا.
حِزم التعليمات البرمجية في تقارير الأعطال من صفحات الويب التي لا تستجيب
تسجّل هذه الميزة حزمة التنفيذ في JavaScript عندما تصبح صفحة الويب غير مستجيبة بسبب تشغيل رمز JavaScript لحلقة لا نهائية أو عملية حسابية أخرى طويلة جدًا. ويساعد ذلك المطوّرين في تحديد سبب عدم الاستجابة وإصلاحه بسهولة أكبر. يتم تضمين حزمة استدعاء JavaScript في واجهة برمجة التطبيقات الخاصة بالإبلاغ عن الأعطال عندما يكون السبب هو عدم الاستجابة.
أنواع ألوان الفاصلة العائمة في لوحة العرض
تتيح هذه السمة استخدام تنسيقات وحدات البكسل ذات الفاصلة العائمة (بدلاً من الفاصلة الثابتة ذات 8 بت) مع CanvasRenderingContext2D وOffscreenCanvasRenderingContext2D وImageData. هذا الإجراء ضروري للتطبيقات التي تتطلّب دقة عالية (مثل التصوير الطبي) والمحتوى ذي النطاق الديناميكي العالي ومساحات الألوان الخطية.
عدم السماح بالتحميل المسبق لبروتوكول HTTP ذي النص العادي غير الموثوق به
يُسمح حاليًا بالعرض المُسبق عبر HTTP وHTTPS، بينما لا تعمل ميزة "الجلب المُسبق" إلا عبر HTTPS. حصر العرض المسبق ليكون متوافقًا مع الجلب المسبق
Document-Isolation-Policy
تتيح Document-Isolation-Policy للمستند تفعيل crossOriginIsolation لنفسه، بدون الحاجة إلى نشر COOP أو COEP، وبغض النظر عن حالة crossOriginIsolation للصفحة. تستند السياسة إلى عزل العمليات. بالإضافة إلى ذلك، سيتم تحميل الموارد الفرعية غير التابعة لبروتوكول مشاركة الموارد المشتركة المنشأ (CORS) في المستندات من مصادر متعددة إما بدون بيانات اعتماد أو ستحتاج إلى عنوان CORP.
يمكنك الاطّلاع على مزيد من المعلومات في سياسة عزل المستندات: تفعيل ميزات الويب الفعّالة بسهولة.
Ed25519 في Web Cryptography
تضيف هذه الميزة إمكانية استخدام خوارزميات Curve25519 في Web Cryptography API، وتحديدًا خوارزمية التوقيع Ed25519
تسجيل عناوين IP وإعداد التقارير بشأنها
تعمل Chrome Enterprise على تحسين إمكانات مراقبة الأمان والاستجابة للحوادث من خلال جمع عناوين IP المحلية والبعيدة وإعداد تقارير عنها وإرسال عناوين IP هذه إلى سجلّات التحقيق في الأمان (SIT). بالإضافة إلى ذلك، ستتيح Chrome Enterprise للمشرفين إمكانية إرسال عناوين IP بشكل اختياري إلى مقدّمي خدمات SIEM التابعين للطرف الأول والطرف الثالث باستخدام موصّل إعداد التقارير في Chrome Enterprise. سيكون هذا الخيار متاحًا لعملاء Chrome Enterprise Core.
دمج JavaScript Promise
JavaScript Promise Integration (JSPI) هي واجهة برمجة تطبيقات تتيح لتطبيقات WebAssembly الدمج مع JavaScript Promises. تسمح هذه الواجهة لبرنامج WebAssembly بأن يعمل كمولّد لـ Promise، كما تسمح له بالتفاعل مع واجهات برمجة التطبيقات التي تتضمّن Promise. على وجه الخصوص، عندما يستخدم تطبيق JSPI لاستدعاء واجهة برمجة تطبيقات (JavaScript) تتضمّن وعدًا، يتم تعليق رمز WebAssembly، ويتم منح المتصل الأصلي ببرنامج WebAssembly وعدًا سيتم تنفيذه عند اكتمال برنامج WebAssembly في النهاية.
Language Detector API
Language Detector API هي واجهة برمجة تطبيقات JavaScript تحدّد لغة السلسلة النصية المقدَّمة. تستند واجهة برمجة التطبيقات هذه إلى نموذج أساسي تم تحسينه لتنفيذ مهام رصد اللغة.
عند إدخال سلسلة نصية، تعرض واجهة برمجة التطبيقات Language Detector API قائمة مرتّبة باللغات التي تم رصدها، بالإضافة إلى درجة ثقة لكل نتيجة.
يمكن للمطوّرين اختياريًا إدخال قائمة بلغات الإدخال المتوقّعة عند إنشاء مثيل Language Detector للمساعدة في تحسين حالات الاستخدام التي يُتوقّع فيها إجراء عملية رصد بلغات معيّنة.
حظر سمات وأوساط عائمة على SVGMatrix وSVGRect وSVGPoint
عند ضبط سمات أو وسيطات عائمة على SVGMatrix وSVGRect وSVGPoint، لن تتمكّن الآن من ضبطها على Infinity أو Nan. يتم عرض استثناء JavaScript إذا حاولت ضبطه، كما هو محدّد في مواصفات SVG.
واجهة برمجة التطبيقات Selection API getComposedRanges وdirection
توفّر هذه الميزة طريقتَين جديدتَين لواجهة برمجة التطبيقات Selection API:
Selection.directionالتي تعرض اتجاه التحديد كأحد القيم التالية:"none"أو"forward"أو"backward"-
Selection.getComposedRanges()التي تعرض قائمة تتضمّن 0 أو 1 "مؤلّف"StaticRange
يُسمح StaticRange "المؤلف" بتجاوز حدود الظل، وهو ما لا يمكن أن تفعله النطاقات العادية.
على سبيل المثال:
const range = getSelection().getComposedRanges({ shadowRoots: [root] });
إذا تجاوز التحديد حدود جذر ظل غير متوفّر في قائمة shadowRoots، سيتم "إعادة تحديد نطاق" نقاط نهاية StaticRange لتكون خارج تلك الشجرة. يضمن ذلك عدم عرض أشجار DOM غير معروفة.
إضافات نطاق تطبيقات الويب
تضيف هذه السمة حقل بيان تطبيق ويب scope_extensions يتيح لتطبيقات الويب توسيع نطاقها ليشمل مصادر أخرى.
مثال:
{
"name": "Example",
"display": "standalone",
"start_url": "/index.html",
"scope_extensions": [
{"type" : "type", "origin" : "https://example.com"}
]
}
يتيح ذلك للمواقع الإلكترونية التي تتحكّم في نطاقات فرعية ونطاقات علوية متعددة أن يتم عرضها كتطبيق ويب واحد.
تتطلّب هذه السمة من المصادر المُدرَجة تأكيد الربط بتطبيق الويب باستخدام ملف إعداد .well-known/web-app-origin-association.
{
"https://sample-app.com/": {
"scope": "/"
}
}
WebAssembly Branch Hints
تحسِّن هذه السمة أداء رمز WebAssembly المجمَّع من خلال إبلاغ المحرّك بأنّ تعليمات فرع معيّنة من المرجّح جدًا أن تسلك مسارًا محدّدًا. ويسمح ذلك للمحرّك باتّخاذ قرارات أفضل بشأن تخطيط الرمز البرمجي (ما يؤدي إلى تحسين عدد مرات الوصول إلى ذاكرة التخزين المؤقت للتعليمات) وتخصيص السجلات.
WebGPU: GPUTextureView لربط externalTexture
يُسمح الآن باستخدام GPUTextureView لربط externalTexture عند إنشاء GPUBindGroup.
WebGPU: copyBufferToBuffer overload
تتضمّن الطريقة GPUCommandEncoder copyBufferToBuffer() الآن طريقة أبسط لنسخ المخازن المؤقتة بأكملها باستخدام تحميل زائد جديد مع إزاحات وحجم اختياريين.
مراحل تجربة وتقييم جديدة
في الإصدار 137 من Chrome، يمكنك الاشتراك في التجارب الأصلية الجديدة التالية.
سمة حظر العرض لعدد اللقطات الكامل في الثانية
تضيف هذه السمة رمزًا جديدًا لحظر العرض بمعدل إطارات كامل إلى سمات الحظر. عند حظر أداة العرض باستخدام الرمز المميز لعدد اللقطات الكامل في الثانية، ستعمل أداة العرض بعدد أقل من اللقطات في الثانية من أجل توفير المزيد من الموارد للتحميل.
إيقاف تشغيل الوسائط مؤقتًا في إطارات iframe غير معروضة
تضيف هذه السياسة سياسة أذونات "media-playback-while-not-rendered" للسماح للمواقع الإلكترونية المضمّنة بإيقاف تشغيل الوسائط مؤقتًا في إطارات iframe المضمّنة التي لم يتم عرضها، أي التي تم ضبط السمة "display" فيها على "none". من المفترض أن يتيح ذلك للمطوّرين إنشاء تجارب أكثر ملاءمة للمستخدمين وتحسين الأداء من خلال السماح للمتصفح بالتعامل مع تشغيل المحتوى غير المرئي للمستخدمين.
Rewriter API
تعمل واجهة Rewriter API على تحويل النص المدخل وإعادة صياغته بالطرق المطلوبة، وذلك بالاستناد إلى نموذج لغوي للذكاء الاصطناعي على الجهاز فقط. يمكن للمطوّرين استخدام واجهة برمجة التطبيقات هذه لإزالة التكرار في النص بهدف الالتزام بعدد الكلمات المحدّد، وإعادة صياغة الرسائل لتناسب الجمهور المستهدف أو لتكون أكثر بناءً إذا تبيّن أنّ الرسالة تتضمّن لغة غير لائقة، وإعادة صياغة منشور أو مقالة لاستخدام كلمات ومفاهيم أبسط، وغير ذلك.
Writer API
يمكن استخدام Writer API لكتابة مواد جديدة استنادًا إلى طلب مهمة كتابة، وذلك بالاستعانة بنموذج لغوي مستند إلى الذكاء الاصطناعي على الجهاز فقط. سيتمكّن المطوّرون من استخدام واجهة برمجة التطبيقات هذه لإنشاء تفسيرات نصية للبيانات المنظَّمة، وإنشاء مشاركة حول منتج استنادًا إلى المراجعات أو وصف المنتج، وتوسيع قوائم الإيجابيات والسلبيات لتشمل العرض الكامل وغير ذلك.