في كل إصدار من Chrome تقريبًا، نلاحظ عددًا كبيرًا من التحديثات والتحسينات على المنتج وأدائه وإمكانات Web Platform. توضّح هذه المقالة التغييرات في الإصدار 52 من Chrome، وهو إصدار تجريبي اعتبارًا من 9 حزيران (يونيو). تخضع هذه القائمة للتغيير في أي وقت.
إيقاف حدث MediaStream ended والسمة وonended
الملخّص: يتم إيقاف الحدث ended
والسمة ended
ومعالِج الحدث onended
نهائيًا لأنّه تمّت إزالتهما من مواصفات تسجيل الوسائط وبثّها.
Intent to Remove | Chromestatus Tracker | Chromium Bug
لم يكن حدث ended
أو معالِج الحدث onended
جزءًا من مواصفات WebRTC لمدة ثلاث سنوات تقريبًا. على المطوّرين الذين يريدون مشاهدة الأحداث استخدام MediaStreamTracks
بدلاً من MediaStreams
.
من المتوقّع أن تتم إزالة هذه الميزة في الإصدار 53 من Chrome.
حظر النوافذ المنبثقة من إطارات iframe متعددة المصادر أثناء أحداث اللمس باستثناء أثناء إيماءة النقر
الملخّص: سيبدأ Chrome في حظر النوافذ المنبثقة وغيرها من العمليات الحسّاسة في أحداث اللمس التي لا تتوافق مع نقرة من داخل إطارات iframe من مصادر مختلفة.
Intent to Remove | Chromestatus Tracker | Chromium Bug
بطبيعتها، يمكن أن تكون أحداث اللمس غير واضحة عند مقارنتها بأحداث الماوس المقابلة لها. على سبيل المثال، إذا مرّر المستخدم إصبعه على الشاشة، هل يمرّر المستخدم مفتاح تبديل أو ينتقل إلى أعلى أو أسفل الشاشة؟ وقد استفاد بعض المحتوى التابع لجهات خارجية في إطارات iframe من هذا الغموض لإيقاف الانتقال للأعلى أو للأسفل في الصفحة التي يحتوي عليها عن قصد.
لمواجهة هذه المشكلة، لن يُسمح بالنوافذ المنبثقة وغيرها من العمليات الحسّاسة في أحداث اللمس من إطارات iframe من مصادر متعددة. سيستمرّ الحدث touchend في التصرّف كالمعتاد.
إيقاف استخدام التحميل الزائد لدالة postMessage() نهائيًا
الملخّص: سيتم إيقاف إصدار غير ضروري وقليل الاستخدام من واجهة postMessage()
نهائيًا، وهو postMessage(message, transferables, targetOrigin)
على وجه التحديد.
Intent to Remove | Chromestatus Tracker | Chromium Bug
تُعدّ طريقة postMessage()
طريقة للتواصل بأمان بين النصوص البرمجية للصفحات من مصادر مختلفة. يتيح WebKit/Blink ثلاثة إصدارات:
postMessage(message, targetOrigin)
postMessage(message, targetOrigin, transferables)
postMessage(message, transferables, targetOrigin)
العنصر الأخير في هذه القائمة هو نتيجة خطأ في تاريخ تطوير المواصفات وتنفيذها. وبما أنّه نادر الاستخدام، سيتم إيقافه نهائيًا وإزالته لاحقًا. وينطبق ذلك على كل من window.postMessage()
وworker.postMessage()
.
من المتوقّع أن تتم إزالة هذه الميزة في الإصدار 54 من Chrome.
إزالة دعم X-Frame-Options في الإشارات
النصّ المختصر (TL;DR): للالتزام بالمواصفات وزيادة التوافق مع المتصفّحات الأخرى، تتم إزالة إمكانية استخدام علامة X-Frame-Options
داخل علامة <meta>
.
النية في الإزالة | خطأ في Chromium
يشير عنوان استجابة HTTP الذي يتضمّن X-Frame-Options
إلى ما إذا كان بإمكان المتصفّح عرض صفحة في علامة <frame>
أو <iframe>
أو <object>
. ويسمح ذلك للموقع الإلكتروني بتجنّب هجمات clickjacking لأنّه لا يمكن تضمين هذه الصفحات في مواقع إلكترونية أخرى. يحظّر الإصدار الحالي من مواصفات X-Frame-Options صراحةً وكلاء المستخدمين من السماح بهذا الحقل داخل علامة <meta>
.
للالتزام بالمواصفات وزيادة التوافق مع المتصفّحات الأخرى، تتم إزالة إمكانية استخدام علامة X-Frame-Options
داخل علامة <meta>
.
إزالة حدث النقر على الزر غير الأساسي
النصّ المختصر: لم تعُد نقرات الماوس غير الأساسية تؤدي إلى بدء أحداث النقرات، ولكنّ MouseEvent.button
لا يزال متاحًا.
Intent to Remove | Chromestatus Tracker | Chromium Bug
لجعل Chrome متوافقًا مع مواصفات UIEvents، سنزيل أحداث النقر على أزرار الماوس غير الأساسية. تختلف أزرار الماوس غير الأساسية حسب الجهاز. ويعني ذلك بشكل عام أي شيء آخر غير زر الماوس الأيمن أو الأيسر. يُرجى العِلم أنّه قد يظلّ بإمكانك استرداد الزرّ المحدّد الذي تم النقر عليه باستخدام السمة MouseEvent.button
المُرسَلة إلى أحداث مثل mousedown
أو mouseup
.
إزالة requestAutocomplete()
كانت دالة requestAutocomplete()
تسمح بملء النماذج عند الطلب من خلال ميزة الملء التلقائي في المتصفّح. وبعد مرور أكثر من عامَين، لا تتوفّر هذه الميزة إلا في Blink واستخدامها منخفض. لهذه الأسباب، تمت إزالة requestAutocomplete()
في الإصدار 52 من Chrome.