تاريخ النشر: 1 أكتوبر 2025
ما لم يُذكر خلاف ذلك، تنطبق هذه التغييرات على إصدار قناة Chrome 142 التجريبية لأجهزة Android وChromeOS وLinux وmacOS وWindows. يمكنك الاطّلاع على مزيد من المعلومات حول هذه الميزات من الروابط المقدَّمة أو على ChromeStatus.com. يمكنك تنزيل الإصدار التجريبي من Chrome 142 لأجهزة الكمبيوتر من Google.com أو من "متجر Google Play" لأجهزة Android.
CSS وواجهة المستخدم
الفئتان الصوريتان :target-before و:target-after
تطابق هاتان الفئتان الصوريتان علامات التمرير التي تسبق العلامة النشطة أو تليها (مطابقة :target-current) ضمن مجموعة علامات التمرير نفسها، وذلك على النحو الذي يحدّده ترتيب الشجرة المسطّحة:
:target-before: تطابق جميع علامات التمرير التي تسبق العلامة النشطة في ترتيب الشجرة المسطّحة ضمن المجموعة.:target-after: تطابق جميع علامات التمرير التي تلي العلامة النشطة في ترتيب الشجرة المسطّحة ضمن المجموعة.
التحديد المطلق لموضع العنصر ::view-transition
تستخدِم انتقالات العرض شجرة فرعية صورية للعنصر، ويكون ::view-transition هو جذر هذا الانتقال. في السابق، كان يتم تحديد العنصر ::view-transition على أنّه position: fixed. قرّر فريق عمل CSS جعل هذا العنصر position: absolute، ويعكس Chrome الآن هذا التغيير.
لن يكون هذا التغيير ملحوظًا لأنّ الحاوية التي تحتوي على هذا العنصر تظل هي الحاوية التي تحتوي على اللقطة في كلتا الحالتَين المطلقة والثابتة. الفرق الملحوظ الوحيد هو في getComputedStyle.
السمة activeViewTransition في المستند
تتيح View Transitions API للمطوّرين بدء انتقالات مرئية بين حالات مختلفة. نقطة الدخول الرئيسية إلى التطبيق ذي الصفحة الواحدة هي startViewTransition()، التي تعرض كائن انتقال. يحتوي هذا الكائن على عدة وعود ووظائف لتتبُّع تقدّم الانتقال، ويتيح لك معالجة الانتقالات، مثلاً من خلال تخطّي الانتقال أو تعديل أنواعه.
اعتبارًا من Chrome 142، لم يعُد على المطوّرين تخزين هذا الكائن. تمثّل السمة document.activeViewTransition هذا الكائن، أو null إذا لم يكن هناك أي انتقال قيد التنفيذ.
ينطبق ذلك أيضًا على انتقالات التطبيقات المتعددة الصفحات، حيث لا يتوفّر الكائن إلا من خلال أحداث pageswap وpagereveal. في هذا التحديث، يتم ضبط document.activeViewTransition على هذا الكائن طوال مدة الانتقال.
بنية النطاق لاستعلامات حاوية النمط وif()
يحسّن Chrome استعلامات نمط CSS والدالة if() من خلال إضافة دعم لبنية النطاق.
يوسّع ذلك نطاق استعلامات النمط إلى ما بعد مطابقة القيمة الدقيقة (مثلاً، style(--theme: dark)). يمكن للمطوّرين استخدام معامِلات المقارنة (مثل > و<) لمقارنة الخصائص المخصّصة والقيم الحرفية (مثلاً، 10 بكسل أو %25) والقيم من دوال الاستبدال مثل attr() وenv(). لإجراء مقارنة صالحة، يجب أن يتم حلّ كلا الجانبَين إلى نوع البيانات نفسه. يقتصر ذلك على الأنواع الرقمية التالية: <length> و<number> و<percentage> و<angle> و<time> و<frequency> و<resolution>.
أمثلة:
مقارنة خاصية مخصّصة بطول حرفي:
@container style(--inner-padding > 1em) {
.card {
border: 2px solid;
}
}
مقارنة قيمتَين حرفيتَين
@container style(1em < 20px) {
/* ... */
}
استخدام نطاقات النمط في if():
.item-grid {
background-color: if(style(attr(data-columns, type<number>) > 2): lightblue; else: white);
}
مُشغّلات الاهتمام (السمة interestfor)
يضيف Chrome سمة interestfor إلى العنصرَين <button> و<a>. تضيف هذه السمة سلوكيات "الاهتمام" إلى العنصر. عندما "يُظهر" المستخدم اهتمامًا بالعنصر، يتم تشغيل إجراءات على العنصر المستهدَف، مثلاً عرض عنصر منبثق. يرصد وكيل المستخدم متى "يُظهر" المستخدم اهتمامًا بالعنصر من خلال طرق مثل إبقاء المؤشر فوق العنصر أو الضغط على مفاتيح الاختصار الخاصة على لوحة المفاتيح أو الضغط مع الاستمرار على العنصر على الشاشات التي تعمل باللمس. عند إظهار الاهتمام أو فقدانه، يتم تشغيل InterestEvent على الهدف، الذي يتضمّن إجراءات تلقائية للعناصر المنبثقة، مثل عرض العنصر المنبثق وإخفائه.
السمة font-language-override
يتيح Chrome استخدام سمة CSS font-language-override. تتيح هذه السمة للمطوّرين تجاوز لغة النظام المستخدَمة لاستبدال الحروف الرسومية في OpenType عن طريق تحديد علامة لغة مكوّنة من أربعة أحرف مباشرةً في CSS.
يتيح ذلك التحكّم الدقيق في الطباعة، وهو أمر مفيد بشكل خاص للمحتوى المتعدد اللغات أو الخطوط التي تتضمّن أشكالاً مختلفة للرموز خاصة باللغة.
السمة download في عنصر SVG <a>
يتيح Chrome استخدام السمة download في واجهة SVGAElement، بما يتوافق مع مواصفات SVG 2. تتيح السمة download للمؤلفين تحديد أنّها تنزّل هدف ارتباط تشعّبي بتنسيق SVG بدلاً من الانتقال إليه. يعكس ذلك السلوك المتوافق معه حاليًا في HTMLAnchorElement. يعزّز ذلك إمكانية التشغيل التفاعلي بين المتصفّحات الرئيسية ويضمن سلوكًا متسقًا بين عنصرَي HTML وSVG <a>، ويحسّن تجربة المطوّرين وتوقعات المستخدمين.
التكافؤ بين الأجهزة الجوّالة وأجهزة الكمبيوتر في أوضاع عرض عناصر select المحدّدة
باستخدام السمتَين size وmultiple، يمكن عرض العنصر <select> كقائمة منسدلة مضمّنة في الصفحة أو كزر يتضمّن نافذة منبثقة. ومع ذلك، لا تتوفّر هذه الأوضاع بشكل متسق على أجهزة Chrome الجوّالة وأجهزة الكمبيوتر. لا يتوفّر عرض القائمة المنسدلة المضمّنة في الصفحة على الأجهزة الجوّالة، ولا يتوفّر زر يتضمّن نافذة منبثقة على أجهزة الكمبيوتر عند توفّر السمة multiple.
يضيف هذا التحديث القائمة المنسدلة إلى الأجهزة الجوّالة والنافذة المنبثقة التي تتيح تحديد عناصر متعددة إلى أجهزة الكمبيوتر، ويضمن أن تؤدي الخيارات التي تتضمّن السمتَين size وmultiple إلى وضع العرض نفسه على الأجهزة الجوّالة وأجهزة الكمبيوتر. يتم تلخيص التغييرات على النحو التالي:
- عندما تكون قيمة السمة
sizeأكبر من1، يتم دائمًا استخدام العرض المضمّن في الصفحة. كانت الأجهزة الجوّالة تتجاهل ذلك من قبل. - عند ضبط السمة
multipleبدون سمةsize، يتم استخدام العرض المضمّن في الصفحة. في السابق، كانت الأجهزة الجوّالة تستخدم نافذة منبثقة بدلاً من قائمة منسدلة مضمّنة في الصفحة. - عند ضبط السمة
multipleعلىsize=1، يتم استخدام نافذة منبثقة. في السابق، كانت أجهزة الكمبيوتر المكتبية تستخدم قائمة منسدلة مضمّنة في الصفحة.
تفعيل المستخدم الثابت في عمليات التنقّل التي يبدأها العارض من المصدر نفسه
يحتفظ Chrome بحالة تفعيل المستخدم الثابت بعد انتقال الصفحة إلى صفحة أخرى من المصدر نفسه. يمنع عدم تفعيل المستخدم في الصفحة بعد التنقّل بعض حالات الاستخدام، مثلاً عرض لوحات المفاتيح الافتراضية عند التركيز التلقائي. وقد منع ذلك المطوّرين الذين يريدون إنشاء تطبيقات متعددة الصفحات بدلاً من تطبيقات ذات صفحة واحدة.
لا يشمل ذلك طلبات التنقّل التي يبدأها المتصفّح (إعادة التحميل والتنقّل في السجلّ وعنوان URL الذي تم إدخاله في شريط العناوين وما إلى ذلك).
واجهات برمجة التطبيقات على الويب
WebGPU: ميزة primitive_index
تضيف WebGPU إمكانية اختيارية جديدة تعرض دالة WGSL shader مضمّنة جديدة، هي primitive_index. توفّر هذه الدالة فهرسًا لكل عنصر أساسي في برامج التظليل الجزئية على الأجهزة المتوافقة، على غرار الدوال المضمّنة vertex_index وinstance_index. يكون الفهرس الأساسي مفيدًا للتقنيات الرسومية المتقدّمة، مثل الهندسة المجسّمة الافتراضية.
WebGPU: تنسيقات الزخرفة من المستوى 1 والمستوى 2
يمكنك توسيع نطاق دعم تنسيق نسيج وحدة معالجة الرسومات (GPU) بإمكانات مثل إرفاق العرض والمزج وأخذ عينات متعددة والحلّ وstorage_binding.
السمة `DataTransfer` لأحداث الإدخال insertFromPaste وinsertFromDrop وinsertReplacementText
يمكنك ملء السمة dataTransfer في أحداث الإدخال بقيم inputType التي تمثّل insertFromPaste وinsertFromDrop وinsertReplacementText لتوفير إمكانية الوصول إلى الحافظة وبيانات السحب والإفلات أثناء عمليات التعديل في العناصر `contenteditable`.
يحتوي الكائن dataTransfer على البيانات نفسها التي كانت متوفّرة أثناء حدث beforeinput.
لا تنطبق هذه الميزة إلا على العناصر `contenteditable`. بالنسبة إلى عناصر التحكّم في النماذج
(textarea وinput)، يظل السلوك بدون تغيير.
تجعل هذه السمة Chrome قابلاً للتشغيل التفاعلي مع Safari وFirefox.
جلسة الوسائط: إضافة سبب إلى تفاصيل الإجراء enterpictureinpicture
تتم إضافة enterPictureInPictureReason إلى MediaSessionActionDetails التي يتم إرسالها إلى الإجراء enterpictureinpicture في Media Session API. يتيح ذلك للمطوّرين التمييز بين إجراءات enterpictureinpicture التي يبدأها المستخدم صراحةً (مثلاً، من زر في وكيل المستخدم) وإجراءات enterpictureinpicture التي يبدأها وكيل المستخدم تلقائيًا لأنّ المحتوى يصبح محجوبًا.
التحيز السياقي في Web Speech API
يتيح هذا التحديث للمواقع الإلكترونية دعم التحيز السياقي للتعرّف على الكلام من خلال إضافة قائمة عبارات التعرّف إلى Web Speech API.
يمكن للمطوّرين تقديم قائمة بالعبارات وتعديلها لتطبيق تحيز على نماذج التعرّف على الكلام لصالح هذه العبارات. يساعد ذلك في تحسين الدقة والملاءمة للتعرّف على الكلام المخصّص والمحدّد حسب المجال.
التحقّق الأكثر صرامة من صحة رمز MIME *+json لوحدات JSON
يتم رفض استجابات النصوص البرمجية لوحدة JSON التي يحتوي نوع MIME الخاص بها أو نوعه الفرعي على نقاط رموز غير HTTP (مثلاً، مسافات) عند مطابقتها مع *+json. يتوافق ذلك مع مواصفات MIME Sniffing والمحرّكات الأخرى. وهو جزء من مجال التركيز على الوحدات في Interop2025.
FedCM: إمكانية عرض مصادر iframe التابعة لجهات خارجية في واجهة المستخدم
قبل Chrome 142، كان FedCM يعرض دائمًا الموقع الإلكتروني ذي المستوى الأعلى في واجهة المستخدم.
يعمل ذلك بشكل جيد عندما يكون iframe تابعًا للطرف الأول من الناحية المفاهيمية (مثلاً، قد يكون لدى foo.com عنصر iframe هو foostatic.com، وهو غير ذي صلة بالمستخدم).
ولكن إذا كان iframe تابعًا لجهة خارجية، من الأفضل عرض مصدر iframe في واجهة المستخدم حتى يفهم المستخدمون بشكل أفضل الجهة التي يشاركون بيانات اعتمادهم معها. على سبيل المثال، قد يكون محرّر صور مضمّنًا في تطبيق ويب لنشر الكتب وقد يريد السماح للمستخدمين بالوصول إلى الملفات التي سبق لهم تخزينها باستخدام محرّر الصور. تتوفّر هذه الإمكانية الآن.
عزل العمليات استنادًا إلى المصدر
يتم نقل سياسة عزل العمليات من حظر العمليات على موقع إلكتروني (مثلاً، example.com) إلى حظرها على مصدر معيّن (مثلاً، foo.example.com).
لتعزيز الأمان بشكل أكبر، ينتقل Chrome إلى نموذج أكثر دقة لعزل العمليات يُعرف باسم "عزل المصدر". استخدَم Chrome "عزل الموقع الإلكتروني"، الذي كان يجمّع مصادر مختلفة من الموقع الإلكتروني نفسه، مثلاً a.example.com وb.example.com، في عملية عرض واحدة.
باستخدام "عزل المصدر"، يتم عزل كل مصدر فردي (مثل https://foo.example.com) في عملية عرض خاصة به. يعزّز ذلك بنية أمان Chrome من خلال مطابقة حدود العمليات مع نموذج الأمان الأساسي المستند إلى المصدر على الويب، ما يوفّر حماية أكبر من الثغرات المحتمَلة داخل المواقع الإلكترونية.
أحداث pointerrawupdate القابلة للتشغيل التفاعلي والتي لا تظهر إلا في السياقات الآمنة
في عام 2020، قصرت مواصفات PointerEvents استخدام pointerrawupdate على السياقات الآمنة، ما أدى إلى إخفاء كل من تشغيل الحدث ومستمعي الأحداث العالميين عن السياقات غير الآمنة. باستخدام هذا التحديث، يتطابق Chrome مع المواصفات المعدَّلة ويصبح قابلاً للتشغيل التفاعلي مع المتصفّحات الرئيسية الأخرى.
عمليات التجربة والتقييم قيد التنفيذ
في Chrome 142، يمكنك الاشتراك في عمليات التجربة والتقييم الجديدة التالية origin trials.
بيانات اعتماد الجلسة المرتبطة بالجهاز
طريقة تتيح للمواقع الإلكترونية ربط جلسة بأمان بجهاز واحد.
تتيح للخوادم ربط جلسة بجهاز بأمان. يجدّد المتصفّح الجلسة بشكل دوري عندما يطلب الخادم ذلك، مع إثبات امتلاك مفتاح خاص.
مجموعة مقابس TCP لكل موقع إلكتروني ذي مستوى أعلى
تقيِّم هذه التجربة تأثير تغيير حجم مجموعة مقابس TCP لكل ملف شخصي من 256 (الإعداد التلقائي) إلى 513 مع إضافة حد أقصى لكل موقع إلكتروني ذي مستوى أعلى يبلغ 256 (لضمان عدم قدرة علامتَي تبويب على استنفاد المجموعة). تمت دراسة مدى جدوى رفع الحد الأقصى لكل ملف شخصي إلى 512 ولم يؤدِّ ذلك إلى نتائج سلبية. الحد الأقصى لكل موقع إلكتروني ذي مستوى أعلى البالغ 256 يساوي الحد الأقصى التلقائي لكل ملف شخصي، لذا يجب ألا يؤثر سلبًا في الأداء. يتم فرض هذه الحدود بشكل مستقل لمجموعة WebSocket ومجموعة المقابس العادية (HTTP).
الهدف هو إطلاق هذه التجربة مباشرةً إذا لم تحدث أي آثار سلبية.