عمليات الإيقاف والإزالة في Chrome 105

تم إطلاق الإصدار التجريبي من متصفِّح Chrome 105 في 4 آب (أغسطس) 2022، ومن المتوقّع أن يصبح الإصدار الثابت في أواخر آب (أغسطس) 2022.

إزالة لغة الاستعلامات البنيوية (SQL) على الويب في سياقات غير آمنة

تم إيقاف لغة الاستعلامات البنيوية (SQL) على الويب في السياقات غير الآمنة نهائيًا، وسيظهر تحذير في لوحة "المشاكل" للمطوِّرين الذين يحاولون استخدام هذه الميزة في هذه الظروف. تم اقتراح معيار قاعدة بيانات الويب SQL (لغة الاستعلام البنيوية) لأول مرة في نيسان (أبريل) 2009 وتم التخلي عنه في تشرين الثاني (نوفمبر) 2010. لم تنفذ Gecko هذه الميزة أبدًا وأوقفتها WebKit نهائيًا في عام 2019. تشجّع W3C على استخدام Web Storage وIndexedDB للمستخدمين الذين يحتاجون إلى بدائل.

تم نهائيًا إيقاف لوحة مشاكل "أدوات مطوري البرامج في Chrome" التي تتضمّن تحذيرًا يشير إلى لغة SQL (لغة الاستعلامات البنيوية) على الويب في السياقات غير الآمنة، وستتم إزالتها في الإصدار M107. يُرجى استخدام Web Storage أو Indexed Database.

يجب أن يتوقع المطوّرون أنّه سيتم إيقاف لغة الاستعلامات البنيوية (SQL) على الويب نفسها وإزالتها عندما يكون الاستخدام منخفضًا بدرجة كافية.

لا يُسمح باستخدام الكلمة الرئيسية التلقائية لخدمة مقارنة الأسعار (CSS) في المعرّفات المخصّصة

لم يعُد مسموحًا باستخدام الكلمة الرئيسية "تلقائية" في CSS ضِمن المعرّفات المخصّصة لخدمة CSS، والتي يتم استخدامها للعديد من أنواع الأسماء التي يحددها المستخدم في CSS (على سبيل المثال، الأسماء التي تم إنشاؤها بواسطة قواعد @keyframes أو العدّادات أو أسماء @container أو التنسيق المخصّص أو أسماء الألوان). يؤدي ذلك إلى إضافة الاسم 'default' إلى قائمة الأسماء التي يُحظر استخدامها في المعرّفات المخصّصة، وتحديدًا 'inherit' و'initial' و'unset' و'revert' و'revert-layer'.

عمليات الإيقاف في واجهة برمجة تطبيقات التنقّل

تم أيضًا إيقاف الإجراءَين transitionWhile() وrestoreScroll() نهائيًا في هذا الإصدار، ونتوقع إزالتهما في الإصدار 108. على المطوّرين الذين يحتاجون إلى هذه الوظيفة استخدام طريقتَي intercept() وscroll() الجديدتَين. للحصول على توضيحات للمشاكل المتعلّقة بالطرق الحالية وأمثلة على استخدام الطريقة الجديدة، يمكنك الاطّلاع على مقالة التغييرات في NavigationEvent.

للتوافق مع أحدث المواصفات (RFC 6265bisسيرفض Chromium قريبًا ملفات تعريف الارتباط التي تحتوي على سمة "نطاق" تحتوي على حرف غير ASCII (على سبيل المثال، Domain=éxample.com). لم يتم منذ فترة طويلة تحديد إمكانية استخدام سمات نطاق IDN في ملفات تعريف الارتباط، مع تغيّر سلوك Chromium وSafari وFirefox. يهدف هذا التغيير إلى توحيد طريقة عمل Firefox لرفض ملفات تعريف الارتباط التي تتضمّن سمات نطاقات غير ASCII.

نظرًا لأن Chromium كان قد قبل في السابق أحرفًا غير ASCII وحاول تحويلها إلى ترميز punycode تمت تسويته، سنطبّق الآن قواعد أكثر صرامة وسنطلب سمات نطاق ASCII صالحة (punycode إن أمكن).

تتم طباعة تحذير في وحدة التحكّم بدءًا من 105. ومن المتوقّع إزالة هذه الأداة في الإصدار 106.

إزالة أحداث DOM لتمرير الإيماءات

تمت إزالة أحداث DOM للتنقّل بالإيماءات من Chrome، وتحديدًا gesturescrollstart وgesturescrollupdate وgesturescrollend. كانت هذه واجهات برمجة التطبيقات غير عادية وتمّت إضافتها إلى Blink لاستخدامها في المكوّنات الإضافية، ولكن تمّ عرضها أيضًا على الويب.

سياسة الإيقاف النهائي

للحفاظ على سلامة النظام الأساسي، نزيل أحيانًا واجهات برمجة التطبيقات التي شغّلت دورتها التدريبية. قد تكون هناك أسباب عديدة وراء إزالة واجهات برمجة التطبيقات، منها:

  • وتحل محلها واجهات برمجة تطبيقات أحدث.
  • يتم تحديثها لتعكس التغييرات على المواصفات لتحقيق المواءمة والاتساق مع المتصفحات الأخرى.
  • إنّها تجارب مبكرة لم تؤتي ثمارها في المتصفحات الأخرى، وبالتالي يمكن أن تزيد من أعباء الدعم للمطوّرين على الويب.

ستؤثر بعض هذه التغييرات في عدد قليل جدًا من المواقع الإلكترونية. للحدّ من المشاكل مسبقًا، نحاول إرسال إشعار مسبق للمطوّرين كي يتمكّنوا من إجراء التغييرات المطلوبة لمواصلة تشغيل مواقعهم الإلكترونية.

تتوفر في Chrome حاليًا عملية للإيقاف النهائي لواجهة برمجة التطبيقات وإزالتها، وبشكل أساسي:

  • يمكنك الإعلان عن ذلك في القائمة البريدية blink-dev.
  • يمكنك ضبط التحذيرات وتقديم مقاييس زمنية في "وحدة تحكّم أدوات مطوّري البرامج في Chrome" عند رصد بيانات الاستخدام على الصفحة.
  • عليك الانتظار والمراقبة ثم إزالة الميزة عند انخفاض استخدامها.

يمكنك العثور على قائمة بجميع الميزات المتوقّفة نهائيًا على chromestatus.com باستخدام الفلتر المتوقّف نهائيًا والميزات التي تمت إزالتها من خلال استخدام الفلتر الذي تمت إزالته. سنحاول أيضًا تلخيص بعض التغييرات والأسباب ومسارات النقل في هذه المشاركات.