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

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

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

الاستغناء تدريجيًا عن الرموز المستندة إلى DHE

النص المختصر (TL;DR): تتم إزالة الرموز المستندة إلى DHE في الإصدار 53 من متصفّح Chrome على أجهزة الكمبيوتر المكتبي، لأنّها غير كافية للاستخدام على المدى الطويل. يجب أن تستخدم الخوادم ECDHE، إذا كان متاحًا، أو تشفير RSA عادي إذا لم يكن متاحًا.

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

في العام الماضي، قمنا باستخدام Chrome مع الحد الأدنى لحجم مجموعة TLS Diffie-Hellman من 512 بت إلى 1024 بت؛ ومع ذلك، فإن 1024 بت غير كافية على المدى الطويل. تشير المقاييس إلى أنّ حوالي 95% من اتصالات DHE التي يرصدها Chrome تستخدم DHE بمعدّل 1024 بت. هذا، إلى جانب كيفية التفاوض بشأن DHE في بروتوكول TLS، يجعل من الصعب تجاوز 1024 بت.

على الرغم من وجود مواصفات مسودة تعمل على حل هذه المشكلة، إلا أنها لا تزال مسودة وتتطلب تغييرات على كلٍ من العميل والخادم. وفي الوقت نفسه، يتم حاليًا تنفيذ بروتوكول ECDHE ونشره على نطاق واسع. يجب ترقية الخوادم إلى ECDHE إذا كان ذلك متاحًا. وبخلاف ذلك، تأكّد من تفعيل مجموعة تشفير RSA العادي.

تم إيقاف الرموز المستندة إلى DHE نهائيًا منذ إصدار Chrome 51. وستتم إزالة التوافق مع أجهزة سطح المكتب في الإصدار 53 من Chrome.

تحذير بشأن إيقاف FileError نهائيًا

النص المختصر (TL;DR): من المتوقّع إزالة واجهة FileError المتوقّفة في الإصدار 54 من Chrome. استبدِل المراجع إلى err.code بـ err.name وerr.message.

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

لا يحتوي الإصدار الحالي من معيار File API على الواجهة FileError، وقد تم إيقاف دعمه في عام 2013. في الإصدار 53 من Chrome، ستتم طباعة تحذير الإيقاف النهائي هذا في وحدة التحكّم في "أدوات مطوّري البرامج":

تم إيقاف "FileError" نهائيًا وستتم إزالته في الإصدار 54. يُرجى استخدام سمات "الاسم" أو "الرسالة" للخطأ بدلاً من سمة "الرمز".

تؤدي هذه العبارة إلى تأثيرات مختلفة في سياقات مختلفة.

  • سيتم تحويل FileReader.error وFileWriter.error إلى عناصر DOMException بدلاً من FileError.
  • بالنسبة إلى المكالمات غير المتزامنة FileSystem، سيتم تمرير ErrorCallback إلى FileError.ErrorCode بدلاً من FileError.
  • بالنسبة إلى مكالمات FileSystem المتزامنة، سيتم طرح FileError.ErrorCode بدلاً من FileError.

لا يؤثر هذا التغيير إلا في الرمز الذي يعتمد على مقارنة رمز مثيل الخطأ (e.code) مباشرةً بقيم تعداد FileError (FileError.NOT_FOUND_ERR، وما إلى ذلك). قد يتعذّر على الرمز الذي يتم اختباره مقابل الثوابت الثابتة الترميز (على سبيل المثال e.code === 1) إبلاغ المستخدم بالأخطاء غير الصحيحة.

من حسن الحظ أن أنواع الأخطاء FileError وDOMError وDOMException تشترك جميعها في الخصائص name وmessage التي تُعطي أسماء متسقة لحالات الأخطاء (بمعنى آخر e.name === "NotFoundError"). ويجب أن يستخدم الرمز تلك السمات بدلاً من ذلك، حيث سيعمل الرمز على جميع المتصفحات وسيواصل العمل بعد إزالة واجهة FileError نفسها.

ومن المتوقَّع إزالة الإصدار FileError من Chrome 54.

إزالة سمة النتائج لـ <input type=search>

النص المختصر (TL;DR): تتم إزالة السمة results لأنّها ليست جزءًا من أي معيار وتم تنفيذها بشكل غير متناسق على جميع المتصفّحات.

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

لا يتم تنفيذ قيمة results إلا في واجهة برمجة التطبيقات، ولا تعمل القيمة على الإطلاق على تلك القيمة. على سبيل المثال، يضيف Chrome رمز المكبّر إلى مربع الإدخال، بينما يتحكّم في عدد عمليات البحث السابقة التي تظهر في نافذة منبثقة معروضة من خلال النقر على رمز المكبِّر على كمبيوتر مكتبي من متصفّح Safari. بما أنّ هذا ليس جزءًا من أي معيار، فقد تم إيقافه.

إذا كنت لا تزال بحاجة إلى تضمين رمز البحث في حقل الإدخال، عليك إضافة تصميم مخصّص إلى العنصر. يمكنك إجراء ذلك من خلال تضمين صورة خلفية وتحديد مساحة متروكة لليسار في حقل الإدخال.

    input[type=search] {
      background: url(some-great-icon.png) no-repeat scroll 15px 15px;
      padding-left:30px;
    }
 ```   

This attribute has been deprecated since Chrome 51.