تاريخ النشر: 16 أكتوبر 2024
ما لم يُذكر خلاف ذلك، تنطبق التغييرات التالية على أحدث إصدار من قناة الإصدار التجريبي من Chrome على أجهزة Android وChromeOS وLinux وmacOS وWindows. يمكنك الاطّلاع على مزيد من المعلومات حول الميزات المدرَجة هنا من خلال الروابط المتوفّرة أو من القائمة على ChromeStatus.com. يتوفّر الإصدار التجريبي من Chrome 131 اعتبارًا من 16 أكتوبر 2024. يمكنك تنزيل أحدث إصدار على Google.com لأجهزة الكمبيوتر أو على "متجر Google Play" على أجهزة Android.
CSS
يضيف هذا الإصدار ثماني ميزات جديدة في CSS.
تحديد موضع الإرساء CSS: anchor-scope
تسمح السمة anchor-scope بالحدّ من مستوى ظهور أسماء الروابط الثابتة في شجرة فرعية معيّنة.
CSS font-variant-emoji
توفّر خاصية font-variant-emoji في CSS طريقة للتحكّم في الأحرف الرسومية للإيموجي بين الألوان (نمط الإيموجي) والأحادية اللون (نمط النص). يمكن إجراء ذلك أيضًا عن طريق إضافة أداة اختيار شكل الإيموجي، وتحديدًا U+FE0E للنص وU+FE0F للإيموجي، بعد كل نقطة رمز إيموجي.
اكتساب تمييز CSS
باستخدام ميزة "توريث التمييز في CSS"، ترث فئات التمييز الصورية في CSS، مثل ::selection و::highlight، خصائصها من خلال سلسلة التمييز الصوري، وليس من خلال سلسلة العناصر. والنتيجة هي نموذج أكثر سهولة لفهم كيفية توريث الخصائص في اللحظات البارزة.
لمزيد من المعلومات، يمكنك الاطّلاع على مشاركة المدونة تغييرات في الميراث لتصميم اختيار CSS التي كتبها "ستيفن تشيني" من Igalia.
تحسينات على بنية تنسيق عنصرَي <details> و<summary>
إتاحة المزيد من أنماط CSS لبنية العنصرَين <details> و<summary>
للسماح باستخدام هذين العنصرَين في المزيد من الحالات التي يتم فيها إنشاء أدوات الإفصاح أو أدوات الأكورديون على الويب على وجه الخصوص، يزيل هذا التغيير القيود التي كانت تمنع ضبط خاصية العرض على هذه العناصر، ويضيف عنصرًا زائفًا ::details-content لتصميم الحاوية للجزء الذي يتم توسيعه وتصغيره.
@page مربّعات الهوامش
إضافة إمكانية استخدام مربّعات هوامش الصفحات عند طباعة مستند ويب أو تصديره بتنسيق PDF
تتيح لك مربّعات الهوامش @page تحديد المحتوى في منطقة الهامش من الصفحة، مثلاً لتوفير رؤوس وتذييلات مخصّصة بدلاً من استخدام الرؤوس والتذييلات المضمّنة التي ينشئها المتصفّح.
يتم تحديد مربع الهامش باستخدام قاعدة at-rule داخل قاعدة @page في CSS. يتم تحديد مظهر ومحتوى مربّع الهامش باستخدام سمات CSS داخل قاعدة at، بما في ذلك السمة content. تتوفّر أيضًا العدادات لترقيم الصفحات. يحدّد هذا المواصفة اسمَين خاصَّين للعدادات، هما page لرقم الصفحة الحالية وpages لإجمالي عدد الصفحات.
بنية @property support <string>
إتاحة اسم مكوّن بنية <string> للسمات المخصّصة المسجَّلة
إتاحة استخدام currentcolor في بنية الألوان النسبية
السماح باستخدام الألوان النسبية في CSS (باستخدام الكلمة الرئيسية from) لاستخدام currentcolor كأساس. تتيح لك هذه السمة ضبط ألوان تكميلية استنادًا إلى لون نص العنصر، وذلك لحدود العنصر أو ظلاله أو خلفياته.
تشمل هذه الميزة أيضًا حالات الاستخدام التي يتم فيها تضمين وظائف الألوان مع اعتماد على currentcolor، على سبيل المثال color-mix(in srgb, rgb(from currentcolor r g b), white)) أو rgb(from rgb(from currentcolor 1 g b) b g r).
إتاحة استخدام موارد SVG الخارجية لسمات clip-path وfill وstroke وmarker-*
تتيح هذه الميزة استخدام مراجع خارجية لمسارات القص والعلامات وخوادم الطلاء (لسمتَي fill وstroke). على سبيل المثال:
clip-path: url("resources.svg#myPath").
واجهات برمجة التطبيقات على الويب
Direct Sockets API
يسمح هذا الإذن لتطبيقات الويب المعزولة بإنشاء اتصالات مباشرة باستخدام بروتوكول التحكّم في الإرسال (TCP) وبروتوكول مخطط بيانات المستخدم (UDP) مع أجهزة وأنظمة الشبكة، بالإضافة إلى الاستماع إلى الاتصالات الواردة وقبولها.
إعفاء عنوان Speculation-Rules من قيود CSP
تعدّل هذه السمة عملية الدمج بين قواعد التخمين و"سياسة أمان المحتوى" (CSP) بحيث لا تنطبق هذه السياسة إلا على <script type=speculationrules> وليس على العنوان Speculation-Rules. تهدف سياسات النصوص البرمجية في CSP إلى الحماية من إدخال نصوص برمجية في HTML، ولا يرتبط نموذج التهديد في CSP بعناوين HTTP. يتيح ذلك نشر قواعد التوقّع بسهولة أكبر من شبكات توصيل المحتوى (CDN) وخوادم الحافة الأخرى.
FedCM كإشارة ثقة لواجهة Storage Access API
تتوافق واجهتا برمجة التطبيقات FedCM وStorage Access API من خلال جعل الموافقة السابقة على FedCM سببًا صالحًا للموافقة تلقائيًا على طلب الوصول إلى مساحة التخزين.
عندما يمنح المستخدم إذنًا باستخدام هويته مع موفِّر هوية خارجي (IdP) على جهة معتمدة (RP)، يطلب العديد من موفِّري الهوية الخارجيين ملفات تعريف الارتباط التابعة لجهات خارجية لتعمل بشكل صحيح وآمن. يهدف هذا الاقتراح إلى استيفاء هذا الشرط بطريقة خاصة وآمنة من خلال تعديل عمليات التحقّق من الأذونات في Storage Access API (SAA) لعدم قبول منح الإذن الذي يتم تقديمه من خلال طلب الوصول إلى مساحة التخزين فحسب، بل أيضًا منح الإذن الذي يتم تقديمه من خلال طلب FedCM.
من الخصائص الأساسية لهذه الآلية حصر عملية منح الإذن بالحالات التي يسمح بها مقدّم الخدمة بشكل صريح من خلال سياسة أذونات FedCM، وفرض عنصر تحكّم لكل إطار لمقدّم الخدمة، ومنع المراقبة السلبية من قِبل مقدّم خدمة الهوية بما يتجاوز الإمكانات التي يمنحها FedCM حاليًا.
قيمة COOP noopener-allow-popups
يمكن أن تتضمّن بعض المصادر تطبيقات مختلفة ذات مستويات مختلفة من متطلبات الأمان. في هذه الحالات، قد يكون من المفيد منع النصوص البرمجية التي يتم تشغيلها في أحد التطبيقات من فتح صفحات نصية برمجية لتطبيق آخر من المصدر نفسه.
في مثل هذه الحالات، قد يكون من المفيد أن يضمن المستند عدم إمكانية إنشاء نص برمجي له من خلال المستند الذي فتحه، حتى إذا كان المستند الذي فتحه من المصدر نفسه. تتيح قيمة
noopener-allow-popups Cross-Origin-Opener-Policy للمستندات
تحديد هذا السلوك.
Private Aggregation API: زيادة الحدّ الأقصى للمساهمة إلى 100 لبرنامج Protected Audience
تتيح هذه السمة لبرامج تنفيذ النصوص البرمجية في Protected Audience تقديم ما يصل إلى 100 مساهمة لكل تقرير Private Aggregation، مقارنةً بالحدّ الحالي البالغ 20 مساهمة.
تفرض Private Aggregation حدًا أقصى على عدد مساهمات المدرّج التكراري التي يمكن تضمينها في تقرير واحد قابل للتجميع، ويتم تجاهل أي مساهمات إضافية. يمكن للمتصلين في Shared Storage تجاوز الحدّ من خلال استدعاء عملية أخرى في Shared Storage. ومع ذلك، لا يملك المتصلون في Protected Audience مساحة تخزين دائمة، لذا يفقدون مساهماتهم الزائدة في نهاية مزادهم. يُرجى العِلم أنّ هذا التغيير لا يؤثّر في الخصوصية لأنّ مساهمات واجهة برمجة التطبيقات تظل محدودة بميزانية الخصوصية نفسها.
بسبب إضافة المساحة الفارغة، سيحتوي كل تقرير في Protected Audience على حمولة أكبر، حتى إذا لم يكن بحاجة إلى حدّ المساهمة الأكبر. نتوقّع أن تؤدي هذه التقارير الأكبر حجمًا إلى زيادة تكلفة تشغيل "خدمة تجميع البيانات".
اختيار تخفيف المحلل اللغوي
يؤدي هذا التغيير إلى السماح لمحلّل HTML اللغوي بعلامات إضافية في <select> إلى جانب <option> و<optgroup> و<hr>.
يهدف هذا التغيير إلى دعم ميزة <select> القابلة للتخصيص، ولكن سيتم طرحه أولاً لأنّه يمكن إجراؤه بشكل منفصل ويتضمّن بعض المخاطر المتعلقة بالتوافق التي يريد فريق Chrome الحصول على ملاحظات بشأنها.
WebGPU: مسافات القطع
تضيف هذه السمة ميزة وحدة معالجة الرسومات الاختيارية clip-distances التي تتيح ضبط مسافات القطع التي يحدّدها المستخدم في نواتج برنامج تظليل الرؤوس. تكون هذه التقنية مفيدة بشكل خاص للتطبيقات التي تحتاج إلى قص جميع الرؤوس في مشهد يتجاوز مستوى محدّدًا من قِبل المستخدم، مثل العديد من تطبيقات التصميم بمساعدة الكمبيوتر (CAD).
WebGPU: GPUCanvasContext getConfiguration()
بعد استدعاء GPUCanvasContext configure() باستخدام قاموس إعدادات، يمكنك استخدام طريقة GPUCanvasContext getConfiguration() للتحقّق من إعدادات سياق لوحة العرض. وتشمل هذه المجموعة أعضاءً من وحدات معالجة الرسومات device وformat وusage وviewFormats وcolorSpace وtoneMapping وalphaMode.
كما هو موضّح في المشكلة 4828،
يمكن لتطبيقات الويب استخدامها
للكشف عمّا إذا كانت لوحة الرسم بتنسيق HDR متوافقة مع WebGPU.
WebHID على العاملين المخصّصين
تتيح هذه السياسة استخدام WebHID داخل سياقات العامل المخصّص. يتيح لك ذلك تنفيذ عمليات إدخال/إخراج مكثّفة ومعالجة البيانات من جهاز HID في سلسلة تعليمات منفصلة، ما يساعد في الحد من تأثير الأداء في سلسلة التعليمات الرئيسية.
WebRTC RTCRtpEncodingParameters.scaleResolutionDownTo
واجهة برمجة تطبيقات تضبط برامج ترميز WebRTC لتغيير حجم إطارات الإدخال إذا كانت أكبر من maxWidth وmaxHeight المحدّدتَين. تشبه واجهة برمجة التطبيقات هذه واجهة scaleResolutionDownBy، إلا أنّ قيود الدقة يتم التعبير عنها بعبارات مطلقة (على سبيل المثال، 640x360) بدلاً من عبارات نسبية (على سبيل المثال، تصغير بمقدار 2)، ما يؤدي إلى تجنُّب حالات التعارض المتعلقة بتغيير حجم إطار الإدخال أثناء التنفيذ.
مراحل تجربة وتقييم جديدة
في الإصدار 131 من Chrome، يمكنك الاشتراك في التجارب الأصلية الجديدة التالية.
إحصاءات التشغيل لأداة WebAudio
تتيح ميزة AudioContext.playoutStats لأحد التطبيقات قياس جودة تشغيل الصوت ومدّة الاستجابة باستخدام WebAudio.
Summarizer API
واجهة برمجة تطبيقات JavaScript لإنشاء ملخّصات للنص المدخل، تستند إلى نموذج لغوي مستند إلى الذكاء الاصطناعي.
الميزات التي سيتم إيقافها نهائيًا وإزالتها
يتضمّن هذا الإصدار من Chrome عمليات الإيقاف والإزالة التالية. يمكنك الانتقال إلى ChromeStatus.com للاطّلاع على قوائم بعمليات الإيقاف النهائي المخطّط لها وعمليات الإيقاف النهائي الحالية وعمليات الإزالة السابقة.
يزيل هذا الإصدار من Chrome ثلاث ميزات.
إزالة سمة تحديد موضع الإرساء CSS inset-area
بعد قرار مجموعة عمل CSS بشأن إعادة تسمية السمة inset-area إلى position-area، ستؤدي عملية الإزالة هذه إلى تنظيف عملية التنفيذ في Chromium للحصول على ميزة متوافقة مع المعايير.
إزالة إمكانية إيقاف BeforeunloadEventCancelByPreventDefault
تم طرح الميزة BeforeunloadEventCancelByPreventDefault في الإصدار 117 من Chrome، ولكن تتوفّر سياسة خاصة بالمؤسسات تتيح إيقاف هذه العلامة التجريبية بشكل إلزامي. ستتم إزالة سياسة المؤسسة هذه في الإصدار 131 من Chrome.
إزالة طريقة requestAdapterInfo() غير العادية في GPUAdapter
قرّر فريق عمل WebGPU أنّ من غير العملي أن يؤدي requestAdapterInfo() إلى ظهور طلب للحصول على إذن، لذا أزال هذا الخيار واستبدله بالسمة info الخاصة بـ GPUAdapter، ما يتيح لمطوّري الويب الحصول على القيمة نفسها GPUAdapterInfo بشكل متزامن.