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

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

CSS

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

اكتساب العناصر المميزة في خدمة مقارنة الأسعار (CSS)

باستخدام اكتساب عناصر التمييز في CSS، تكتسب الفئات الزائفة في ميزة "تمييز لغة CSS"، مثل ::selection و::highlight، خصائصها من خلال سلسلة التمييز الزائف، بدلاً من سلسلة العناصر. والنتيجة هي نموذج أكثر سهولة لاكتساب المواقع في الأماكن المميّزة.

يؤدي ذلك إلى تنفيذ المتطلبات الواردة في مواصفات المستوى 4 من CSS Pseudos:

"عند عدم إعطاء أي خاصية متوافقة قيمة من خلال السلسلة ... يتم تحديد قيمتها المحددة من خلال الوراثة من العنصر الزائف المقابل للعنصر الأصلي للعنصر الأصلي".

أشرطة تمرير صفحات الأنماط المتتالية (CSS): scrollbar-color وscrollbar-width

تسمح مواصفات أشرطة التمرير في CSS للمطورين بتصميم أشرطة التمرير من خلال تحديد ألوانها وسُمكها. تُضيف هذه المواصفة الخاصيتَين التاليتَين. تتيح السمة scrollbar-color إمكانية تغيير نظام ألوان أشرطة التمرير كي تتوافق بشكل أفضل مع النمط المحدّد لصفحة الويب. تتيح السمة scrollbar-width استخدام أشرطة تمرير أضيق نطاقًا قد تكون أكثر ملاءمة لبعض حالات الاستخدام، أو حتى بإخفاء أشرطة التمرير تمامًا بدون التأثير في إمكانية الانتقال للأعلى أو للأسفل.

صورة CSS متحرّكة font-palette لخطوط الألوان

تتيح السمة font-palette في CSS اختيار لوحة ألوان محدّدة تُستخدم لعرض خطّ ملوّن. بفضل الدعم المضاف مؤخرًا لتحريك هذه الخاصية، لم يعد الانتقال بين لوحات الألوان خطوة منفصلة، وإنما يصبح انتقالاً سلسًا بين لوحتين محددتين. تعمل هذه الميزة في كل مكان في الصور المتحركة والتأثيرات الانتقالية في CSS.

الميزات النحوية والإملائية في CSS

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

تم تحسين إخفاء صفحات الأنماط المتتالية (CSS)

نتواصل معك بشأن عملية التوافق مع أقنعة CSS المحسّنة في Chrome 120 والتي يمكن من خلالها إضافة أقنعة جديدة إلى رسومات موجّهة يمكن تغيير حجمها (SVG) (أقنعة متعددة، بالإضافة إلى mask-mode وmask-composite وmask-position وmask-repeat). بالإضافة إلى ذلك، يمكن الآن استخدام أقنعة SVG عن بُعد (مثل mask: url(masks.svg#star)).

قيم العرض الخاصة بلغة Ruby

تمت إضافة القيمتين الجديدتين لخصائص العرض في CSS، وهما ruby وruby-text. يتم تغيير قيم العرض التلقائية لكل من <ruby> و<rt> إلى ruby وruby-text على التوالي، ويلتزم تنسيق Ruby بقيم العرض هذه. يمكن لمؤلفي الويب استخدام أي عناصر مثل <div> لعرض رمز Ruby من خلال ضبط قيم العرض الجديدة.

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

حزمة ميزات إعداد تقارير تحديد المصدر: تقليل التأخيرات المجمّعة، وحقل Epsilon للتقرير على مستوى الحدث، والمفاتيح المحجوزة

يتضمّن Chrome تغييرات في Attribution Reporting API تركّز على:

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

واجهة برمجة التطبيقات لم تتم استعادة ميزة "التخزين المؤقت للصفحات"

ستبلِّغ واجهة برمجة التطبيقات notRestoredREASON عن قائمة بأسباب عدم عرض صفحة من ذاكرة التخزين المؤقّت لميزة "التخزين المؤقت للصفحات" باستخدام واجهة برمجة التطبيقات Performance NavigationTiming.

طلب إيماءة المستخدم لتغيير حجم واجهات برمجة التطبيقات في صفحة "نافذة ضمن النافذة" للمستند

يتيح ذلك الإجراءَين resizeBy() وresizeTo() في نوافذ "نافذة ضمن النافذة" للمستندات، ولكن مع فرض قيود إضافية على متطلبات إيماءة المستخدم للحدّ من إساءة الاستخدام المحتمَلة.

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

تعمل واجهة برمجة التطبيقات EditContext API على تبسيط عملية دمج تطبيق الويب باستخدام الطرق المتقدمة لإدخال النص، مثل كتابة الشكل باستخدام لوحة مفاتيح VK ولوحات الكتابة بخط اليد وميزة التعرف على الكلام وميزة "تكوينات أداة IME". فهو يساعد على تحسين إمكانية الوصول والأداء، ويوفر إمكانات جديدة للمحرّرين المستندين إلى الويب.

رصد الميزات لتنسيقات الحافظة المتوافقة

يمكنك الآن التأكّد مما إذا كانت واجهة برمجة التطبيقات Async Clipboard API متوافقة مع نوع MIME معيّن من خلال استدعاء وظيفة supports() الجديدة، وتمرير نوع MIME كوسيطة، مثل ClipboardItem.supports('image/png').

HTMLSelectElement showPicker()

إنّ الطريقة showPicker() في HTMLSelectElement تمنح المطوّرين طريقة لفتح أداة اختيار الخيارات في عنصر <select> آليًا، وذلك باتّباع نمط input.showPicker().

MediaCapability: طلب البحث باستخدام النطاق العالي الديناميكية (HDR) باستخدام decodingInfo()

تعمل على توسيع واجهة برمجة التطبيقات Media Capility API للسماح باكتشاف إتاحة عرض النطاق العالي الديناميكية (HDR) من خلال ثلاثة حقول جديدة في قاموس VideoConfiguration، وهي hdrMetadataType، وcolorGamut، وtransferFunction.

ينفِّذ Chromium خوارزمياته الخاصة لتعيين الدرجات اللونية، لذا سيعرِض دائمًا القيمة "صحيح" للبيانات الوصفية الثابتة للنطاقَين HDR10 (smpteSt2086). أمّا البيانات الوصفية الديناميكية smpteSt2094-40 (HDR10+ ) وsmpteSt2094-10، فلا يتم دعمها حاليًا، لذا سيتم عرض القيمة "false".

واجهة برمجة التطبيقات الخاصة للتجميع الخاص: اختيار منسّق التجميع

يوفّر هذا التعديل في واجهة برمجة التطبيقات Private Aggregation API آلية لاختيار المنسّق الذي سيتم استخدامه لتشفير حمولة البيانات (من القائمة المسموح بها التي يحدِّدها المورِّد). ويتم اختيار الخدمة من خلال خيار إضافي في طلبَي "run()" و"selectURL()" لمساحة التخزين المشتركة، وفي طلبات runAdAuction() وjoinAdInterestGroup() من "الجمهور المحمي". يتوافق النهج الواسع النطاق إلى حد كبير مع أسلوب Attribution Reporting API.

واجهة برمجة التطبيقات للتشغيل عن بُعد على سطح المكتب

وتوسّع واجهة برمجة التطبيقات هذه HTMLMediaElement التي تتيح التحكّم في تشغيل الوسائط عن بُعد من صفحة ويب. ويتم شحن هذا الإصدار على نظام التشغيل Android في الإصدار 56 من Chrome، ويتوفّر على أجهزة الكمبيوتر المكتبي من الإصدار 121 من Chrome.

واجهة برمجة تطبيقات قواعد التوقُّع

تتوفّر ميزات جديدة في واجهة برمجة التطبيقات Speculation Rules API.

إتاحة قواعد المستند: هذه إضافة إلى بنية قواعد التوقُّع التي تتيح للمتصفِّح الحصول على قائمة عناوين URL للتحميل المبني على توقُّع من عناصر <a> في إحدى الصفحات. وقد تتضمّن معايير يمكن من خلالها استخدام أيٍّ من هذه الروابط. ويتيح ذلك للمطوّرين، إلى جانب حقل "الاهتمام" الجديد لقواعد التوقُّع، للمطوّرين جلب الروابط مسبقًا أو عرضها مسبقًا على الصفحات تلقائيًا على الفور، عند التمرير أو أسفل الماوس.

ويسمح التغيير المنفصل بتحديد قواعد التوقُّع باستخدام عنوان استجابة HTTP Speculation-Rules كبديل لاستخدام عناصر <script> المضمّنة. يجب أن تكون قيمة هذا العنوان عنوان URL يشير إلى مورد نصي من نوع MIME "application/speculationrules+json". ستتم إضافة قواعد المورد إلى مجموعة قواعد المستند.

أخيرًا، يتيح التلميح No-Vary-Search إمكانية مطابقة عمليات الجلب المُسبَق المبني على توقُّع حتى في حال تغيير مَعلمات طلب البحث لعناوين URL. يشير عنوان استجابة HTTP No-Vary-Search إلى أنّه يمكن تجاهل بعض أو كل أجزاء طلب بحث عنوان URL لأغراض المطابقة. ويمكن أن يوضِّح ذلك أنّ ترتيب مفاتيح مَعلمات طلب البحث يجب ألا يمنع المطابقات، أو أنّ مَعلمات طلب بحث محدّدة يجب ألا تمنع المطابقات، أو أنّ مَعلمات طلب بحث محدّدة محدّدة فقط يجب أن تتسبب في حالات عدم تطابق.

كائنات واجهة SpeechSynthesis وSpeechSynthesisVoice

يضيف هذا الإعداد كائنات الواجهة في SpeechSynthesis وSpeechSynthesisVoice إلى الميزات المتاحة. ويتيح هذا الإجراء رصد الميزات باستخدام SpeechSynthesisVoice.prototype.

واجهة برمجة تطبيقات حزم التخزين

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

نمط عنوان URL: اكتساب من اليسار، حرف البدل الأيمن

تغير سلوك الأنماط التي يتم إنشاؤها باستخدام عنوان URL أساسي أو بنية سلسلة الدالة الإنشائية أو كليهما، ولكن ليس أي نمط يحدِّد بشكل صريح المكوّنات بشكل منفصل بدون عنوان URL أساسي.

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

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

URLPattern: علامة v بالتعبير العادي بدلاً من u

تسمح واجهة برمجة تطبيقات نمط عنوان URL للمطوّرين بتحديد سلاسل الأنماط. يتم تحويلها إلى تعبيرات عادية داخليًا.

عند تنفيذ واجهة برمجة التطبيقات لأول مرة، تم تجميع هذه التعبيرات العادية باستخدام العلامة u. يعدِّل الإصدار 121 Chrome إلى العلامة v، ما يؤدي إلى تفعيل مجموعات Unicode.

الإضافات إلى WebGPU

تتيح WebGPU الآن للمطوّرين حذف نقاط الدخول إلى وحدات أداة التظليل عند إنشاء مسار تعلّم، ما يؤدي إلى تحسين بيئة العمل. في حال عدم العثور على نقطة دخول تلقائية، سيتم تشغيل GPUصالحationError كالمعتاد.

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

على الرغم من أنّ مواصفات WebGPU تجعل طلبات البحث في الطابع الزمني ميزة اختيارية بسبب المخاوف المتعلّقة بالهجوم على التوقيت، نعتقد أنّ تحديد كمّية طلبات البحث للطابع الزمني يقدّم حلاً وسطًا جيدًا عن طريق تقليل دقة الموقّتات بدرجة دقة 100 ميكرو ثانية.

تغليف المفتاح X25519Kyber768 لبروتوكول أمان طبقة النقل (TLS)

يمكنك حماية الزيارات الحالية من بروتوكول أمان طبقة النقل (TLS) في Chrome من التحليل الكمّي المستقبلي من خلال نشر خوارزمية اتفاق المفاتيح المقاومة للكميات Kyber768. وهي اتفاقية رئيسية هجينة X25519 + Kyber768 تستند إلى معيار مجموعة مهندسي شبكة الإنترنت (IETF). تقع هذه المواصفات والإطلاق خارج نطاق W3C. سيتم إطلاق هذه الاتفاقية الرئيسية كرمز بروتوكول أمان طبقة النقل (TLS)، ويجب أن تكون هذه الاتفاقية شفافة للمستخدمين.

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

في الإصدار 121 من متصفِّح Chrome، يمكنك تفعيل تجارب المصدر الجديدة التالية.

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

توفر واجهة برمجة تطبيقات التقاط العناصر طرقًا لالتقاط شجرة فرعية من نموذج العناصر في المستند (DOM).

نظرًا إلى فيديو MediaStreamTrack الذي تم الحصول عليه من خلال وسائل موجودة مسبقًا لبدء التقاط علامات التبويب، يسمح عنصر "التقاط العناصر" بتعديل المقطع الصوتي لالتقاط شجرة فرعية فقط من عنصر DOM بدءًا من عنصر معيّن.

هناك تشابه إلى حد ما مع واجهة برمجة التطبيقات Region Scroll API، ولكنّها توفر مرونة أكبر في التطبيقات، إذ يتم استبعاد كل من المحتوى المُغطى بالتظليل والمحتوى المُغطى.

التسجيل في مرحلة التجربة والتقييم في ElementCapture

التغييرات على السلوك الحالي

يتضمّن Chrome 121 التغيير التالي المتعلّق بالسلوك الحالي، حتى يكون المطوّرون على دراية بهذا التغيير .

تجاهل أحداث الإدخال إلى إطارات Iframe التي تم نقلها مؤخرًا

في حال نقل إطار iframe من مصادر متعددة مؤخرًا ضمن صفحة التضمين، سيتجاهل Chrome بشكلٍ غير ملحوظ الأحداث التي تستهدف إطار iframe. والسبب المنطقي هو أنه إذا تم نقل إطار iframe مؤخرًا، من المحتمل ألا ينوي المستخدم النقر عليه أو النقر عليه.

تم إصدار هذا التغيير بشكل محدود في عام 2019، حيث أثّر فقط في إطارات iframe التي تحتوي على نص برمجي باستخدام ميزات الإصدار 2 من IntersectionMonitorer (أي رصد التظليل أو التأثير). يوسّع هذا الإطلاق هذا السلوك ليشمل جميع إطارات iframe من مصادر متعددة، وسيبدأ كتجربة محدودة في الإصدار 121 من Chrome ثم تحسينه.