تاريخ النشر: 1 أيار (مايو) 2025
تنطبق التغييرات التالية على أحدث إصدار من الإصدار التمهيدي ل Chrome على أجهزة Android وChromeOS وLinux وmacOS وWindows، ما لم يُذكر خلاف ذلك. يمكنك الاطّلاع على مزيد من المعلومات عن الميزات المدرَجة هنا من خلال الروابط المقدَّمة أو من القائمة على ChromeStatus.com. يُرجى العِلم أنّ الإصدار 130 من Chrome هو إصدار تجريبي اعتبارًا من 30 نيسان (أبريل) 2025. يمكنك تنزيل الإصدار الأحدث من الإصدار على Google.com لأجهزة الكمبيوتر المكتبي أو على متجر Google Play على أجهزة Android.
CSS وواجهة المستخدم
يضيف هذا الإصدار سبع ميزات جديدة لتنسيق CSS وواجهة المستخدم.
دالة if()
تقدّم دالة CSS if()
طريقة موجزة للتعبير عن القيم الشَرطية. ويقبل
سلسلة من أزواج الشروط والقيم مفصولة بفواصل منقوطة. تقيّم الدالة
كل شرط على التوالي وتُعيد القيمة المرتبطة
بأول شرط صحيح. إذا لم يتم تقييم أيّ من الشروط على أنّه صحيح، تعرِض الدالة
بثًا فارغًا من الرموز المميّزة. يتيح لك ذلك التعبير عن المنطق الشَرطي المعقد
بطريقة بسيطة وموجزة. مثال:
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 بترتيب عرض العناصر في تنسيق مرن أو
شبكة أو تنسيق كتل لأدوات تسهيل الاستخدام، كما تتحكّم في التركيز على العناصر باستخدام tabulator
لتنقّل التركيز في لوحة المفاتيح. يتّخذ الحقل إحدى قيم الكلمات الرئيسية التالية:
normal
flex-visual
flex-flow
grid-rows
grid-columns
grid-order
source-order
تتيح لك خاصية CSS reading-order
إلغاء الترتيب يدويًا ضمن حاوية
مسار القراءة. وهو عدد صحيح قيمته التلقائية هي 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
إلى إنشاء معرّف
فريد استنادًا إلى هوية العنصر، وتظلّ هذه القيمة كما هي لهذا العنصر. يتم استخدام هذه القيمة
في حالات التطبيقات المكوّنة من صفحة واحدة حيث يتم نقل العنصر ومحاولة
إضفاء حركة عليه من خلال انتقال العرض.
واجهات برمجة التطبيقات على الويب
نوع الخطأ الذي تمّ رصده عند إنشاء بيانات اعتماد 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
لنفسه، بدون الحاجة إلى نشر ميزة "التعاون في وضع الأجهزة الجوّالة" أو ميزة "الوصول المشترَك إلى البيانات"، وبغض النظر عن
حالةcrossOriginIsolation
الصفحة. تستند السياسة إلى عملية
عزل. بالإضافة إلى ذلك، سيتم تحميل موارد المستند الفرعية التي لا تستخدم بروتوكول مشاركة الموارد المشتركة المنشأ (CORS) من مصادر متعددة
إما بدون بيانات اعتماد أو يجب أن تتضمّن عنوان CORP.
اطّلِع على مزيد من المعلومات في مقالة سياسة عزل المستندات: تفعيل ميزات الويب القوية بسهولة.
استخدام معيار Ed25519 في التشفير على الويب
توفّر هذه الميزة إمكانية استخدام خوارزميات Curve25519 في واجهة برمجة التطبيقات Web Cryptography API، أي خوارزمية التوقيع Ed25519.
تسجيل عناوين IP وإعداد تقارير عنها
تعمل خدمة Chrome Enterprise على تحسين إمكانات مراقبة الأمان والاستجابة للحوادث من خلال جمع عناوين IP المحلية والبعيدة والإبلاغ عنها، وإرسال عناوين IP هذه إلى سجلّات التحقيق الأمني (SIT). بالإضافة إلى ذلك، سيسمح Chrome Enterprise للمشرفين بإرسال عناوين IP اختياريًا إلى مقدّمي خدمات إدارة معلومات الأمن وإدارة الأحداث (SIEM) التابعين للجهات الأولى والجهات الخارجية باستخدام موصِّل إعداد تقارير Chrome Enterprise. وسيكون هذا الخيار متاحًا لعملاء Chrome Enterprise Core.
دمج JavaScript Promise
دمج JavaScript Promise (JSPI) هي واجهة برمجة تطبيقات تسمح بدمج تطبيقات WebAssembly مع JavaScript Promises. ويسمح لبرنامج WebAssembly بالعمل كمنشئ لوعد، كما يسمح لبرنامج WebAssembly بالتفاعل مع واجهات برمجة التطبيقات التي تتضمّن وعودًا. على وجه التحديد، عندما يستخدم التطبيق JSPI لاستدعاء واجهة برمجة تطبيقات (JavaScript) تتضمّن وعدًا، يتم تعليق رمز WebAssembly، ويتم منح المُرسِل الأصلي لبرنامج WebAssembly وعدًا سيتم تنفيذه عند اكتمال برنامج WebAssembly أخيرًا.
Language Detector API
تمثل Language Detector API واجهة برمجة تطبيقات JavaScript لتحديد لغة السلسلة المقدَّمة. تستند واجهة برمجة التطبيقات هذه إلى نموذج أساسي تم تحسينه لأداء مهام رصد اللغة.
عند تقديم سلسلة، تعرض واجهة برمجة التطبيقات Language Detector API قائمة مرتبة باللغات التي تم رصدها، بالإضافة إلى درجة ثقة لكل نتيجة.
يمكن للمطوّرين اختياريًا إدخال قائمة بلغات الإدخال المتوقّعة عند إنشاء مثيل لـ "كاشف اللغة" للمساعدة في التحسين لحالات الاستخدام التي يُتوقّع فيها إجراء عملية الكشف بلغات معيّنة.
حصر سمات ووسيطات الأرقام العائمة في 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
لتكون
خارج تلك الشجرة. ويضمن ذلك عدم عرض أشجار ظلّ غير معروفة.
إضافات نطاق تطبيق الويب
تضيف هذه الميزة حقل بيان تطبيق ويب 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 لكتابة مواد جديدة استنادًا إلى طلب مهمة كتابة، مدعومًا بنموذج لغة الذكاء الاصطناعي على الجهاز. سيتمكّن المطوّرون من استخدام واجهة برمجة التطبيقات هذه لإنشاء تفسيرات نصية للبيانات المنظَّمة، وإنشاء مشاركة عن أحد المنتجات استنادًا إلى المراجعات أو وصف المنتج، وتوسيع قوائم إيجابيات المنتج وسلبياته لتشمل مشاهدات كاملة وغير ذلك.