في كل إصدار من Chrome تقريبًا، نلاحظ عددًا كبيرًا من التحديثات والتحسينات على المنتج وأدائه وإمكانات Web Platform. توضّح هذه المقالة الميزات التي سيتم إيقافها نهائيًا أو إزالتها في الإصدار 58 من Chrome، الذي أصبح متاحًا في إصدار تجريبي اعتبارًا من 16 آذار (مارس). تخضع هذه القائمة للتغيير في أي وقت.
يتوقف الماوس على Android عن تنشيط أحداث اللمس
حتى الإصدار 57 من Chrome، كانت أحداث الماوس ذات المستوى المنخفض في Android في Chrome تتّبع في الأساس مسار حدث مصمّم للتفاعلات باللمس. على سبيل المثال، تؤدي حركة سحب الماوس التي تحدث أثناء
الضغط على زر الماوس إلى إنشاء MotionEvents
، ويتم تسليمها من خلال
View.onTouchEvent
.
ولكن بما أنّ أحداث اللمس لا يمكنها إتاحة التمرير بمؤشر الماوس، اتّبعت تمريرات مؤشر الماوس أثناء التمرير بخطٍ
منفصل. كان للتصميم العديد من الآثار الجانبية، بما في ذلك تفاعلات الماوس التي تؤدي إلى TouchEvents
، وظهور جميع أزرار الماوس على أنّها أزرار الماوس الأيسر، وMouseEvents
التي يتم إخفاؤها بواسطة TouchEvents
.
اعتبارًا من الإصدار 58 من Chrome، سيؤدي استخدام الماوس على نظام التشغيل Android M أو الإصدارات الأحدث إلى:
- لم تعُد تُطلق
TouchEvents
. - شغِّل تسلسلًا متسقًا من
MouseEvents
باستخدام الأزرار المناسبة وغيرها من السمات.
Intent to Remove | Chromestatus Tracker | Chromium Bug
إزالة المطابقة غير الحسّاسة لحالة الأحرف لسمة usemap
كانت سمة usemap
محدّدة سابقًا على أنّها غير حسّاسة لحالة الأحرف. لسوء الحظ، كان تنفيذ ذلك معقدًا بما يكفي لدرجة أنّه لم يتم تنفيذه بشكلٍ صحيح في أيّ من المتصفّحات. أشارت الأبحاث إلى أنّ هذه الخوارزمية المعقّدة غير ضرورية،
وحتى المطابقة غير الحسّاسة لحالة الأحرف في ASCII غير ضرورية.
نتيجةً لذلك، تم تعديل المواصفة لتتم أولاً المطابقة الحساسة لحالة الأحرف. تم إيقاف السلوك القديم نهائيًا في الإصدار 57 من Chrome، وتمّت إزالته الآن.
Intent to Remove | Chromestatus Tracker | Chromium Bug
إزالة عمليات التنقّل التي يبدأها المحتوى في أعلى الإطار إلى عناوين URL للبيانات
ونظرًا لعدم معرفة مستخدمي المتصفّح غير التقنيين بأسلوب data:
، نرى
بشكل متزايد استخدام هذا الأسلوب في هجمات التصيّد والتزوير. لمنع حدوث ذلك، نحظر على صفحات الويب تحميل عناوين URL الخاصة بـ data:
في الإطار العلوي. ينطبق ذلك على علامات <a>
وwindow.open
window.location
والآليات المشابهة. سيظلّ مخطّط data:
صالحًا
للموارد التي يتم تحميلها أدناه من خلال صفحة.
ستتم إزالة هذه الميزة في الإصدار 60 من Chrome.
Intent to Remove | Chromestatus Tracker | Chromium Bug
إزالة الأسماء المتوقّفة نهائيًا لخصائص مسار الحركة
تسمح خصائص CSS لمسار الحركة للمؤلفين بتحريك أي عنصر رسومي على طول مسار يحدّده المؤلف. امتثالاً للمواصفات، تم تنفيذ العديد من السمات في الإصدار 45 من Chrome. تم تغيير أسماء هذه السمات في المواصفات في منتصف عام 2016. فعَّل Chrome الأسماء الجديدة في Chrome 55 وChrome 56. تم أيضًا تنفيذ تحذيرات إيقاف الميزات نهائيًا في Console.
في الإصدار 58 من Chrome، تتم إزالة أسماء المواقع القديمة. في ما يلي المواقع المتأثرة واسماؤها الجديدة.
الموقع الذي تمّت إزالته | الاسم الحالي |
---|---|
مسار الحركة | offset-path |
motion-offset | offset-distance |
motion-rotation | offset-rotate |
حركة | offset |
إزالة EME من السياقات غير الآمنة
تؤدي بعض استخدامات إضافات الوسائط المشفّرة (EME) إلى تعريض عمليات تنفيذ إدارة الحقوق الرقمية التي لا تستند إلى مصدر مفتوح، و/أو تتضمن الوصول إلى معرّفات فريدة دائمة، و/أو يتم تشغيلها بدون وضع الحماية أو باستخدام إذن وصول متميز. تزداد مخاطر الأمان للمواقع الإلكترونية التي يتم عرضها من خلال بروتوكول برمجة التطبيقات HTTP غير الآمن، لأنّه يمكن لأي مستخدم على القناة مهاجمة هذه المواقع. بالإضافة إلى ذلك، عندما يكون مطلوبًا الحصول على موافقة المستخدم، يمكن للمهاجم استغلال استمرار القبول لموقع إلكتروني غير آمن يستخدم بروتوكول HTTP.
تمّت إزالة التوافق مع السياقات غير الآمنة من مواصفات EME الإصدار 1، وهو غير متاح في الاقتراح ولا يمكن توقّعه في الإصدار النهائي اللاحق. ولن يكون متاحًا في الاقتراح القادم أو الإصدار النهائي اللاحق. تعرِض واجهة برمجة التطبيقات رسالة إيقاف نهائي على المصادر غير الآمنة منذ إصدار Chrome 44 (مايو 2015). وفي الإصدار Chrome 58، تمت إزالته. يُعدّ هذا التغيير جزءًا من جهودنا الأوسع نطاقًا ل إزالة الميزات القوية من مصادر غير آمنة.
Intent to Remove | Chromestatus Tracker | Chromium Bug
إزالة المُرسِل القديم لعنصرَي HTMLEmbedElement وHTMLObjectElement
إذا كانت الواجهة تحتوي على مُرسِل طلب قديم، يعني ذلك أنّه يمكن استدعاء مثيل كأحد
الدوالّ. تتوفّر هذه الميزة في الوقت الحالي على HTMLEmbedElement
وHTMLObjectElement
. وتم إيقاف هذه الميزة نهائيًا في الإصدار 57 من Chrome. بدءًا من الإصدار 58 من Chrome، يؤدي بدء الإجراء إلى طرح استثناء.
يتوافق هذا التغيير مع التغييرات الأخيرة في المواصفات. لا يتوفّر السلوك القديم في Edge أو Safari، ويتم إزالته من Firefox.
Intent to Remove | Chromestatus Tracker | Chromium Bug
إزالة التشفيرات غير المتوافقة مع المعايير ChaCha20-Poly1305
في عام 2013، تم نشر Chrome 31 مجموعات رموز TLS جديدة استنادًا إلى خوارزميات ChaCha20 وPoly1305 التي وضعها البروفيسور "دان بيرنشتاين". تم بعد ذلك توحيد هذه المعايير، مع إجراء تعديلات طفيفة، في IETF باسم RFC 7539 وRFC 7905. لقد طرحنا الإصدار المُعَدَّل في أوائل عام 2016 مع Chrome 49. نحن بصدد إزالة الأسعار المتغيرة قبل الإصدار العادي.
Intent to Remove | Chromestatus Tracker | Chromium Bug
إزالة إمكانية مطابقة commonName في الشهادات
يصف معيار RFC 2818 طريقتَين لمطابقة اسم
النطاق مع شهادة: استخدام الأسماء المتاحة ضمن إضافة
subjectAlternativeName
، أو التراجع إلى commonName
في حال عدم توفّر إضافة SAN. تم التوقّف عن استخدام commonName
بشكل نهائي في RFC 2818 (الذي تم نشره في عام 2000)، ولكن لا يزال متاحًا في عدد من
عملاء بروتوكول أمان طبقة النقل (TLS)، وغالبًا ما يكون ذلك بشكل غير صحيح.
يؤدي استخدام حقول subjectAlternativeName
إلى توضيح ما إذا كانت الشهادة تصف عملية ربط بعنوان IP أو اسم نطاق، ويتم تحديدها بالكامل من حيث تفاعلها مع قيود الأسماء. ومع ذلك، فإنّ commonName
غير واضح، ولهذا السبب، كان دعمه مصدرًا لمشاكل الأمان في Chrome والمكتبات التي يستخدمها وفي المنظومة المتكاملة لبروتوكول TLS بشكل عام.
إنّ خطر عدم التوافق الناتج عن إزالة commonName
منخفض. تم إيقاف هذا الإجراء نهائيًا في RFC 2818 منذ ما يقرب من عقدين من الزمن، وأصبح من متطلبات المتطلبات الأساسية (التي يجب أن تلتزم بها جميع مراجع التصديق الموثوق بها بشكل علني) أن يكون subjectAltName
متوفّرًا منذ عام 2012. يتطلّب Firefox استخدام علامة العميل الموثوق به
subjectAltName
لأي شهادات موثوق بها بشكل علني تم إصدارها حديثًا منذ إصدار Firefox 48.
Intent to Remove | Chromestatus Tracker | Chromium Bug
أجزاء TextTrack ذات الصلة بـ VTTRegion
تمت إزالة عناصر الواجهة regions
وaddRegion()
وremoveRegion()
من مواصفات WebVTT، كما تمت إزالتها من الإصدار 58 من Chrome للامتثال
لأحدث المواصفات. لا نتوقّع حدوث تأثير كبير نتيجةً
لهذه الإزالة لأنّ الميزة لم يتم تفعيلها مطلقًا تلقائيًا (أي أنّه كانت
متوقفة عن العمل). يمكن للمستخدمين الذين يحتاجون إلى بديل استخدام السمة VTTCue.region
التي تتم إضافتها في الإصدار 58 من Chrome.
Chromestatus Tracker | Chromium Bug
WebAudio: إزالة واجهة AudioSourceNode
لا تشكّل واجهة AudioSourceNode
جزءًا من
مواصفات Web Audio،
ولا يمكن إنشاؤها، ولا تحتوي على أي سمات، لذا لا تتضمّن أي وظائف يمكن للمطوّر
الوصول إليها. لذلك، تتم إزالته.
Intent to Remove | Chromestatus Tracker | Chromium Bug
إزالة السمة الشاملة webkitdropzone
تمّ تقديم السمة الشاملة dropzone
من خلال
مواصفات HTML5 للسحب والإفلات
كطريقة توضيحية لتحديد استعداد عنصر HTML ليكون
هدفًا لعملية سحب وإفلات، وأنواع المحتوى التي يمكن إسقاطها على
العنصر، وعملية السحب والإفلات (النسخ/النقل/الربط).
لم تحظ السمة باهتمام كبير من مورّدي المتصفّحات. لا ينفذ كلّ من Blink وWebKit سوى شكل بادئة للسمة، وهي webkitdropzone
. بما أنّه تمت إزالة سمة
dropzone
من المواصفات في
أوائل آذار (مارس) 2017
، تتم إزالة الإصدار الذي يتضمّن البادئة من Chrome.
Intent to Remove | Chromestatus Tracker | Chromium Bug
إيقاف الاستخدام غير الآمن للإشعارات
تُعدّ الإشعارات ميزة فعّالة، لأنّها تسمح للمواقع الإلكترونية بالاستعانة بواجهة مستخدم للنظام من أجل نقل المعلومات الخاصة نفسها أو إشارة بأنّه تم تغيير المعلومات الخاصة. يمكن للمهاجمين استنشاق أو سرقة أي معلومات يتم إرسالها من خلال إشعار عبر اتصال غير آمن. تتطلّب الإشعارات الفورية على الويب مصدرًا آمنًا، لذا سيؤدي هذا التغيير إلى مواءمة الإشعارات غير الفورية مع الإشعارات الفورية. يُعدّ هذا التغيير جزءًا من جهودنا الأوسع نطاقًا ل إزالة الميزات القوية من مصادر غير آمنة.
Intent to Remove | Chromestatus Tracker | Chromium Bug
إيقاف استخدام الإشعارات من إطارات iframe غير الآمنة نهائيًا
يمكن أن تؤدي طلبات الأذونات الواردة من إطارات iframe إلى إرباك المستخدمين لأنّه من الصعب التمييز بين مصدر الصفحة التي تتضمّن الإطار ومصادر إطار iframe الذي يقدّم الطلب. عندما يكون نطاق الطلبات غير واضح، يصعب على المستخدمين الحكم على ما إذا كانوا يريدون منح الإذن أو رفضه.
سيؤدي حظر الإشعارات في إطارات iframe أيضًا إلى مواءمة متطلبات إذن الإشعارات مع متطلبات الإشعارات الفورية، ما يسهّل على المطوّرين استخدامها.
يمكن للمطوّرين الذين يحتاجون إلى هذه الوظيفة فتح نافذة جديدة لطلب إذن إرسال الإشعارات.
تمّت إزالة هذه الميزة في الإصدار 62 من Chrome.
Intent to Remove | Chromestatus Tracker | Chromium Bug
أزِل indexedDB.webkitGetDatabaseNames().
أضفنا هذه الميزة عندما كان Indexed DB جديدًا نسبيًا في Chrome وكانت البادئة رائجة. تعرض واجهة برمجة التطبيقات بشكل غير متزامن قائمة بأسماء قاعدة بيانات الحالية في مصدر، ما بدا منطقيًا بما يكفي.
للأسف، يتضمّن التصميم عيوبًا، إذ قد تصبح النتائج قديمة بعد ثواني من عرضها، لذا لا يمكن استخدامها إلا للتسجيل، وليس لتطبيق منطق جاد. تتتبّع مشكلة github/ترتبط بمناقشة سابقة حول البدائل، ما يتطلّب نهجًا مختلفًا. على الرغم من أنّ المطوّرين أبدوا اهتمامًا متقطعًا بهذه المشكلة، إلا أنّهم توصّلوا إلى حلّ لها بسبب عدم إحراز أي تقدم في حلّها على مستوى جميع المتصفّحات.
على المطوّرين الذين يحتاجون إلى هذه الوظيفة تطوير حلّهم الخاص. على سبيل المثال، تستخدِم المكتبات مثل Dexie.js جدولاً شاملاً وهو نفسه قاعدة بيانات أخرى لتتبُّع أسماء قواعد البيانات.
تمت إزالة هذه الميزة في الإصدار 60 من Chrome.
القرار بإيقاف الميزة نهائيًا | Chromestatus Tracker | خطأ في Chromium