إيقاف واجهات برمجة التطبيقات وإزالتها في Chrome 52

جو ميدلي
جو ميدلي

في كل إصدار تقريبًا من Chrome، نشهد عددًا كبيرًا من التحديثات والتحسينات للمنتج وأدائه وإمكانات "منصة الويب" أيضًا. توضّح هذه المقالة التغييرات التي سيتم إجراؤها على إصدار 52 من Chrome، والذي سيكون كإصدار تجريبي اعتبارًا من 9 حزيران (يونيو). تخضع هذه القائمة للتغيير في أي وقت.

إيقاف الحدث والسمة المنتهية في MediaStream والسمة المرتبطة

النص المختصر (TL;DR): يتم إيقاف الحدث وسمة ended ومعالج أحداث onended نهائيًا بسبب إزالةهما من مواصفات التقاط الوسائط ومصادر البيانات.

هدف الإزالة | Chromestatus Tracker | خطأ Chromium

لم يكن حدث ended أو معالج أحداث onended جزءًا من مواصفات WebRTC لمدة ثلاث سنوات تقريبًا. على المطوّرين الذين يريدون مشاهدة الأحداث استخدام MediaStreamTracks بدلاً من MediaStreams.

من المتوقَّع إجراء الإزالة في الإصدار 53 من Chrome.

حظر النوافذ المنبثقة من إطارات iframe متعددة المصادر أثناء أحداث اللمس إلا أثناء استخدام إيماءة النقر

النص المختصر (TL;DR): سيبدأ Chrome في منع النوافذ المنبثقة والعمليات الحسّاسة الأخرى في أحداث اللمس التي لا تتوافق مع النقرة من داخل إطارات iframe المتعددة المصادر.

هدف الإزالة | Chromestatus Tracker | خطأ Chromium

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

لمنع حدوث ذلك، لن يُسمَح بعرض النوافذ المنبثقة وغيرها من العمليات الحسّاسة في أحداث اللمس من إطارات iframe من مصادر متعددة. سيستمر عمل حدث اللمس على النحو السابق.

إيقاف التحميل الزائد لـ postMessage()

النص المختصر (TL;DR): سيتم نهائيًا إيقاف صيغة غير ضرورية وقليل استخدامها من واجهة postMessage()، وتحديدًا postMessage(message, transferables, targetOrigin).

هدف الإزالة | Chromestatus Tracker | خطأ Chromium

توفّر طريقة postMessage() طريقة للتواصل بشكل آمن بين النصوص البرمجية للصفحات ذات المصادر المختلفة. تتوافق مجموعة أدوات الويب/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>. ويسمح هذا للموقع الإلكتروني بتجنّب تمويه النقر بسبب عدم إمكانية تضمين هذه الصفحات في مواقع إلكترونية أخرى. يمنع الإصدار الحالي من مواصفات X-Frame-Options بشكل واضح برامج وكيل المستخدم من إتاحة استخدام هذا الحقل داخل العلامة <meta>.

ومن أجل الالتزام بالمواصفات وزيادة الاتساق مع المتصفّحات الأخرى، سنلغي إمكانية استخدام X-Frame-Options داخل العلامة <meta>.

إزالة حدث النقر على الزر غير الأساسي

النص المختصر (TL;DR): لم تعد نقرات الماوس غير الأساسية تنشيط أحداث النقر، ولكن لا تزال MouseEvent.button متاحة.

هدف الإزالة | Chromestatus Tracker | خطأ Chromium

لكي يتماشى Chrome مع مواصفات واجهة المستخدم، سنزيل أحداث النقر لأزرار الماوس غير الأساسية. تختلف أزرار الماوس غير الأساسية باختلاف الجهاز. ويعني ذلك بشكل عام أي شيء بخلاف زر الماوس الأيمن أو الأيسر. يُرجى العلم أنّه قد يتم استرداد زر الدقيقة الذي تم النقر عليه باستخدام السمة MouseEvent.button التي تم إرسالها إلى أحداث مثل mousedown أو mouseup.

إزالة requestAutocomplete()

أتاحت الدالة requestAutocomplete() ملء النماذج عند الطلب باستخدام ميزة الملء التلقائي في المتصفّح. على مدار أكثر من عامَين، لا تتوفّر هذه الإمكانية إلا في Blink، ومعدّل استخدامها منخفض. لهذه الأسباب، تمت إزالة requestAutocomplete() في الإصدار 52 من Chrome.

نية الإزالة