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

يوفّر لك الإصدار التجريبي من Chrome 119 بنية الألوان النسبية في CSS وفئات زائفة جديدة وغير ذلك الكثير.

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

CSS

يوفّر هذا الإصدار أربع ميزات CSS جديدة.

فئات CSS الزائفة: :user- valid و:user- invalid

وتمثل الفئتان الصورتان :user-invalid و:user-valid عنصرًا مع إدخال غير صحيح أو صحيح على التوالي، ولكن فقط بعد تفاعل المستخدم معه بشكل كبير. وهذا يشبه :valid و:invalid، ولكن مع القيد الإضافي الذي لا تتطابق معه هذه الفئات الزائفة إلا بعد تفاعل المستخدم مع العنصر.

بنية اللون النسبي في CSS (RCS)

تتيح بنية الألوان النسبية للمطوّرين تحديد الألوان عن طريق تعديل معلَمات الألوان الأخرى.

على سبيل المثال: ينتج عن oklab(from magenta calc(l * 0.8) a b); لون أرجواني أرجواني فاتح بنسبة 80%.

قيم المربع الهندسي لمسار مقطع CSS

تتيح سمة clip-path في CSS الآن استخدام قيم <geometry-box> للتحكّم في المربّع المرجعي للمقطع، ما يسهّل استخدام clip-path. يمكن استخدام قيم المربّع هذه إلى جانب الأشكال الأساسية (مثل clip-path: circle(50%) margin-box)، أو يمكن استخدامها بمفردها للاقتصاص إلى المربّع المحدَّد (مثل clip-path: content-box).

قيم مسار مقطع CSS xywh() وrect()

يتيح Chrome الآن استخدام القيمتَين xywh() وrect() في السمة clip-path، ما يسهّل تحديد المقاطع المستطيلة أو المستديرة المستطيلة.

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

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

DisplayMediaStreamOptionsMonitorTypeSurfaces

عند استدعاء getDisplayMedia()، يتيح المتصفِّح للمستخدم إمكانية الاختيار من بين مساحات العرض، مثل علامات التبويب أو النوافذ أو الشاشات. باستخدام الخيار monitorTypeSurfaces، قد يلمح تطبيق الويب الآن إلى المتصفّح إذا كان يفضّل أن يتضمّن مساحات عرض الشاشة التي يراقب نوعها بين الخيارات المعروضة للمستخدم.

تحديثات وظائف ميزة Fenced Frames

يتضمن الإصدار 119 من Chrome التحسينات التالية على ميزة Fenced Frames.

يتوفّر خيار تنسيق إضافي لوحدات ماكرو حجم الإعلانات بموجب Protected Audience ضمن Protected Audience API ضمن "مبادرة حماية الخصوصية". تتيح لك إحدى ميزات الموافقة إجراء تغييرات صغيرة على حجم الإعلان الذي يفوز بالمزاد في عنوان URL للإعلان، على سبيل المثال:

https://ad.com?width={/%AD_WIDTH%}&height={/%AD_HEIGHT%}

لتحقيق اتّساق أكبر مع أنواع وحدات الماكرو الأخرى في Protected Audience، مثل تلك المستخدَمة في deprecatedReplaceInURN وregisterAdMacro، سنضيف في Chrome 119 إمكانية استخدام ${AD_WIDTH} و${AD_HEIGHT} كتنسيق لوحدات الماكرو بالإضافة إلى التنسيق الحالي.

وبذلك سيتم إرسال الإشارات التلقائية إلى جميع عناوين URL المسجَّلة. في السابق، كانت الوجهات المحددة عند الاتصال بـ setReportEventDataForAutomaticBeacons() فقط تتلقى إشارات آلية، حتى إذا كانت هذه الوجهة تُسمى registerAdBeacon() لـ "reserved.top_navigation" في العمل الصغير. وبالتالي، فإن أي وجهة تسمى registerAdBeacon() للنطاق "reserved.top_navigation" ستحصل على إشارة آلية، ولكن الوجهات المحددة في setReportEventDataForAutomaticBeacons() هي التي ستحصل على بيانات المرشد التلقائية إلى جانب الوجهات المحددة فقط. ستحدد الآن المعلمة "once" في setReportEventDataForAutomaticBeacons() ما إذا كان سيتم إرسال البيانات مرة واحدة، بدلاً من تحديد ما إذا كان قد تم إرسال المرشد بالكامل مرة واحدة أم لا.

هامش تمرير مراقب التقاطع

تسمح سمة "مراقب التقاطع" scrollMargin للمطوّرين بمراقبة الأهداف داخل حاويات التمرير المُدمَجة التي يتم اقتصاصها حاليًا بواسطة حاويات التمرير. ويتم ذلك من خلال توسيع مستطيل قاطع الحاوية بمقدار scrollMargin عند حساب التقاطع.

حاويات التمرير التي يمكن التركيز عليها في لوحة المفاتيح

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

قيود الوصول إلى الشبكة الخاصة للسيارات

فرض قيود الوصول إلى الشبكة الخاصة على متصفِّح Chrome لنظام التشغيل Android Automotive (بدلاً من التحذير فقط) (في حال استخدام BuildInfo::is_automotive). يتضمّن ذلك طلبات الإعداد المسبق "الوصول إلى الشبكة الخاصة" للموارد الفرعية و"الوصول إلى الشبكة الخاصة للعاملين".

قراءة سمات جهاز Chrome

واجهة برمجة تطبيقات الويب لـ Device Attributes Web API هي مجموعة فرعية من واجهة برمجة تطبيقات الويب على الأجهزة المُدارة التي تتيح لتطبيقات الويب إمكانية طلب معلومات الجهاز. على سبيل المثال، رقم تعريف الجهاز والرقم التسلسلي والموقع الجغرافي

استبدال الترميز المتدلٍ في اسم الهدف بـ _blank

يؤدي هذا التغيير إلى استبدال اسم الهدف القابل للتنقُّل (الذي يتم ضبطه عادةً من خلال السمة المستهدفة) على _blank، إذا كان يحتوي على ترميز متدني (مثل \n و<). يساعد هذا الإجراء في إصلاح تجاوز في عملية تخفيف آثار حقن الترميز المعلَّق.

عنوان "تلميحات العميل" في إعدادات الوسائط المفضّلة من Sec-CH-Prefers-Simplifiedd-Transparency

يحدد عنوان "تلميحات العميل" الذي يفضّله المستخدم مجموعة من عناوين "تلميحات عملاء HTTP" حول ميزات الوسائط المفضّلة للمستخدم، كما هو موضّح في المستوى 5 من طلبات بحث الوسائط. فإذا تم استخدام هذه العناوين كملاحظات مهمة للعميل، فإنها تتيح للخوادم اتخاذ خيارات ذكية بشأن تضمين CSS، على سبيل المثال. يعكس Sec-CH-Prefers-Reduced-Transparency إعدادات المستخدم المفضّلة لنظام التشغيل prefers-reduced-transparency، وهو متاح من Chrome 119.

أحرف علامات الترقيم المتوافقة مع المعايير في مضيف عنوان URL

تأكّد من توافق تعامل Chrome مع علامات الترقيم في مضيف عنوان URL مع معيار عنوان URL. على سبيل المثال:

قبل:

> const url = new URL("http://exa(mple.com;");
> url.href
'http://exa%28mple.com/&apos;

إنّ ( حرف محظور، إلا أنّ Chrome يسمح به بشكل غير صحيح.

بعد:

> const url = new URL("http://exa(mple.com;");
> => throws TypeError: Invalid URL.

وضع معدل نقل البيانات في برنامج WebCodecs AudioEncoder

تتيح بعض برامج ترميز الصوت تحديد أوضاع معدل نقل البيانات في برنامج ترميز الصوت. تضيف هذه الميزة علامة "bitrateMode" بقيمة تلقائية تبلغ "variable" إلى AudioEncoderConfig في برنامج WebCodec، ما يعكس خيار الإعداد، وهو متوفّر تلقائيًا حاليًا لـ VideoEncoderConfig.

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

ويؤثر الخياران التاليان:

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

اعتبارًا من الإصدار 119 من Chrome، ستؤثر هذه العلامة في برنامجَي ترميز على Chromium، وهما Opus وAAC.

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

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

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

في Chrome 119، يمكنك تفعيل مرحلة التجربة والتقييم الجديدة التالية.

فتح النوافذ المنبثقة كنوافذ بملء الشاشة

تضيف التجربة الجديدة للمصدر مَعلمة windowFeatures fullscreen إلى واجهة برمجة تطبيقات JavaScript window.open(). يتيح هذا للمتصل فتح نافذة منبثقة مباشرةً إلى وضع ملء الشاشة على الشاشة التي ستحتوي على النافذة المنبثقة (استنادًا إلى screenX وscreenY). يلغي ذلك حاجة المطوّر إلى نقل نافذة منبثقة يدويًا إلى وضع ملء الشاشة، ما قد يتطلّب إشارة تفعيل مستخدم جديدة.

عمليات الإيقاف وعمليات الإزالة

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

يزيل هذا الإصدار من Chrome أربع ميزات.

إزالة لغة الاستعلامات البنيوية (SQL) على الويب

أعلنّا سابقًا عن إيقاف لغة الاستعلامات البنيوية (SQL) على الويب وإزالتها نهائيًا. وقد تمت إزالة هذه الميزة بالكامل اعتبارًا من الإصدار 119 من Chrome. تسمح مرحلة التجربة والتقييم العكسي للمطوّرين بمواصلة استخدام WebSQL حتى الإصدار Chrome 123.

إزالة Sanitizer API

تهدف واجهة برمجة التطبيقات Sanitizer API إلى إنشاء مصحح HTML سهل الاستخدام وآمن دائمًا ويحافظ عليه المتصفح في النظام الأساسي. شحن Chrome إصدارًا أوليًا في الإصدار 105 من Chrome، استنادًا إلى مسودة المواصفات السارية في ذلك الوقت. ومع ذلك، فقد تقدمت المناقشة وتغير شكل واجهة برمجة التطبيقات المقترح بدرجة كبيرة.

لتجنّب ترسيخ واجهة برمجة التطبيقات الحالية، نحن بصدد إزالة طريقة التنفيذ الحالية. ونتوقع إعادة استخدام واجهة برمجة التطبيقات Sanitizer API عند استقرار المواصفات المقترَحة مرة أخرى.

إزالة البيانات: عنوان URL بتنسيق SVGUseElement

يمكن أن يؤدي تحديد data: URL في SVGUseElement إلى إنشاء XSS. وأدى ذلك أيضًا إلى تجاوز ميزة "الأنواع الموثوق بها". لهذا السبب، نخطّط لإيقافه نهائيًا وإزالته.

إزالة سمة shadowroot غير العادية لنموذج shadow DOM التعريفي

تم شحن سمة "المسار القياسي" shadowrootmode التي تُفعّل نموذج Shadow DOM التعريفي، وقد تم شحنها في Chrome 111. ستتم إزالة سمة shadowroot القديمة غير العادية في الإصدار 119 من Chrome. هناك مسار نقل بيانات مباشر: استبدل shadowroot بـ shadowrootmode.