الإيقاف والإزالة في Chrome 59

Joe Medley
Joe Medley

في كل إصدار من Chrome تقريبًا، نلاحظ عددًا كبيرًا من التحديثات والتحسينات على المنتج وأدائه وإمكانات Web Platform. توضّح هذه المقالة الميزات التي سيتم إيقافها نهائيًا وإزالتها في الإصدار 59 من Chrome، الذي أصبح متاحًا في إصدار تجريبي اعتبارًا من 27 نيسان (أبريل). تخضع هذه القائمة للتغيير في أي وقت.

إيقاف navigator.sendBeacon() مؤقتًا لبعض العناصر

أصبحت الدالة navigator.sendBeacon() متاحة منذ الإصدار 39 من Chrome. وفقًا للتنفيذ الأصلي، يمكن أن تحتوي الوسيطة data للدالة على أي بيانات ثنائية كبيرة عشوائية لا يكون نوعها مدرَجًا في القائمة الآمنة لبروتوكول CORS. نعتقد أنّ هذا الخطر يمثّل تهديدًا محتمَلاً للأمان، على الرغم من أنّه لم يحاول أحد استغلاله بعد. بسبب عدم توفّر حلّ فوري معقول، لن يعود بإمكانك مؤقتًا استخدام sendBeacon() مع ملفات البيانات التي لا تندرج ضمن القائمة الآمنة لبروتوكول CORS.

على الرغم من أنّه تم تنفيذ هذا التغيير في الإصدار 60 من Chrome، تم دمجه مجددًا في الإصدار 59.

خطأ في Chromium

إزالة الميزات من WebVR التي لا تتضمّنها المواصفات المعدَّلة

يتضمّن الإصدار الحالي من WebVR، الذي تم تنفيذه في الأصل في الإصدار 52 من Chrome، العديد من الطرق والسمات التي لن تكون مضمّنة في المواصفات النهائية. تمت إضافة رسائل الإيقاف النهائي لهذه الميزات في الإصدار التجريبي من الإصدار الأول الذي بدأ في الإصدار 56 من Chrome. ونحن بصدد إزالة هذه الميزات الآن. وتشمل:

  • VRDisplay.getPose()
  • VRDisplay.resetPose()
  • VRDisplay.isConnected
  • VRDisplayCapabilities.hasOrientation
  • VREyeParameters.fieldOfView

Intent to Experiment | Chromestatus Tracker | Chromium Bug | Origin Trial Results so Far

إزالة FileReaderSync من ملفات تشغيل الخدمات

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

القرار بإيقاف الميزة نهائيًا | تتبُّع حالة Chrome | خطأ في Chromium

إزالة وظائف إعداد حدث DeviceOrientation غير العادية

منذ بعض الوقت، كان هناك اتجاه عام في واجهات برمجة تطبيقات المتصفّحات بعيدًا عن وظائف الإعدادات والاتجاه نحو منشئي العناصر. يتّبع الإصدار الأحدث من مواصفات حدث DeviceOrientation هذا النهج من خلال طلب منشئين لكلٍّ من DeviceOrientationEvent وDeviceMotionEvent.

بما أنّ Chrome يفعّل وظائف الإنشاء هذه تلقائيًا في الإصدار 59 من Chrome، تتم أيضًا إزالة وظائف الإعداد القديمة initDeviceMotionEvent() و initDeviceOrientationEvent(). أوقف Edge نهائيًا استخدام دوال الإعداد، وسبق أن أصدر Firefox الدوالّ المنشئة.

النية في الإزالة | خطأ في Chromium

إزالة القيمة "عند الطلب" لطلبات البحث عن الوسائط التي تستخدِم hover/any-hover

تمت إزالة القيمة "عند الطلب" لطلبات البحث عن الوسائط التي تستخدِم hover/any-hover من مواصفات قبل عام تقريبًا. نتيجةً لذلك، تتم إزالة طلبات البحث عن الوسائط هذه في الإصدار 59 من Chrome.

Intent to Remove | Chromestatus Tracker | Chromium Bug

إزالة MediaStreamTrack.remote

في الإصدار 48 من Chrome، تمت إضافة السمة MediaStreamTrack.remote للتوافق مع Media Capture and Streams API بغرض السماح لـ JavaScript بمعرفة ما إذا كان MediaStreamTrack في WebRTC مصدره بعيدًا أو محليًا.

ومنذ ذلك الحين، تمت إزالة هذه السمة من المواصفات، ولم تعُد متاحة اعتبارًا من Chrome 59.

خطأ في Chromium

إزالة إمكانية إنشاء ProgressEvent باستخدام document.createEvent()

كانت الإصدارات السابقة من مواصفات DOM تتطلّب تنفيذ document.createEvent("ProgressEvent"). ومع ذلك، كان معدّل الاستخدام منخفضًا دائمًا، وقد تمت إزالة التوافق من Gecko و Webkit. تمت إزالة الحدث نفسه من المواصفات في آذار (مارس) من هذا العام.

امتثالاً للنظام الأساسي والمواصفات الأحدث، تمت إزالة ProgressEvent من Chrome.

خطأ في Chromium

إزالة ميزات SVGTests.required

في الإصدار الأول من مواصفات SVG، يمكن للتطبيق استدعاء DOMImplementation.hasFeature للتحقّق من إتاحة واجهة SVG معيّنة. احتوت العديد من عناصر SVG على سمة requiredFeatures كانت تعرِض المعلومات نفسها.

في SVG2، تُرجع السمة DOMImplementation.hasFeature دائمًا القيمة true. نتيجةً لذلك، لم تعُد requiredFeatures تؤدي أيّ وظيفة مفيدة. وبما أنّه تمّت إزالته من المواصفات، تم إيقافه نهائيًا في الإصدار 54 من Chrome وتمّت إزالته الآن.

Intent to Remove | Chromestatus Tracker | Chromium Bug