في كل إصدار من Chrome تقريبًا، نلاحظ عددًا كبيرًا من التحديثات والتحسينات على المنتج وأدائه وإمكانات Web Platform. توضّح هذه المقالة الميزات التي سيتم إيقافها نهائيًا وإزالتها في الإصدار 59 من Chrome، الذي أصبح متاحًا في إصدار تجريبي اعتبارًا من 27 نيسان (أبريل). تخضع هذه القائمة للتغيير في أي وقت.
إيقاف navigator.sendBeacon() مؤقتًا لبعض العناصر
أصبحت الدالة navigator.sendBeacon()
متاحة
منذ الإصدار 39 من Chrome.
وفقًا للتنفيذ الأصلي، يمكن أن تحتوي الوسيطة data
للدالة على أي
بيانات ثنائية كبيرة عشوائية لا يكون نوعها مدرَجًا في القائمة الآمنة لبروتوكول CORS. نعتقد أنّ هذا الخطر يمثّل تهديدًا محتمَلاً للأمان، على الرغم من أنّه لم يحاول أحد استغلاله بعد. بسبب عدم توفّر حلّ فوري معقول، لن يعود بإمكانك مؤقتًا استخدام sendBeacon()
مع ملفات البيانات التي لا تندرج ضمن القائمة الآمنة لبروتوكول CORS.
على الرغم من أنّه تم تنفيذ هذا التغيير في الإصدار 60 من Chrome، تم دمجه مجددًا في الإصدار 59.
إزالة الميزات من 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.
إزالة إمكانية إنشاء ProgressEvent باستخدام document.createEvent()
كانت الإصدارات السابقة من مواصفات DOM تتطلّب تنفيذ
document.createEvent("ProgressEvent")
. ومع ذلك، كان معدّل الاستخدام منخفضًا دائمًا، وقد تمت إزالة التوافق من
Gecko و
Webkit. تمت
إزالة الحدث نفسه من المواصفات في آذار (مارس)
من هذا العام.
امتثالاً للنظام الأساسي والمواصفات الأحدث، تمت إزالة ProgressEvent
من Chrome.
إزالة ميزات SVGTests.required
في الإصدار الأول من مواصفات SVG، يمكن للتطبيق استدعاء
DOMImplementation.hasFeature
للتحقّق من إتاحة واجهة SVG معيّنة. احتوت العديد من عناصر SVG على سمة requiredFeatures
كانت تعرِض
المعلومات نفسها.
في SVG2، تُرجع السمة DOMImplementation.hasFeature
دائمًا القيمة true.
نتيجةً لذلك، لم تعُد requiredFeatures
تؤدي أيّ وظيفة مفيدة. وبما أنّه
تمّت إزالته من المواصفات،
تم إيقافه نهائيًا في الإصدار 54 من Chrome وتمّت إزالته الآن.