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

Joe Medley
Joe Medley

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

إزالة سمة BluetoothDevice.uuids

جارٍ إزالة السمة BluetoothDevice.uuids لجلب Web Bluetooth API in (واجهة برمجة تطبيقات Web Bluetooth API) مع المواصفات الحالية. يمكنك استرداد جميع خدمات GATT المسموح بها من خلال الاتصال device.getPrimaryServices().

خطأ Chromium

إزالة عنصر إنشاء المفتاح

منذ الإصدار Chrome 49، كان السلوك التلقائي لـ <keygen> هو عرض القيم الفارغة ما لم يتم منح إذن لهذه الصفحة. IE/Edge غير متوافق <keygen> ولم يتم تحديد إشارات عامة لإتاحة استخدام <keygen>. يحجب متصفّح Firefox <keygen> خلف إيماءة المستخدم، وهو متاح بشكلٍ علني. داعمة لإزالته. يشحن Safari <keygen> ولم يتم إرسال بريد وجهات نظر عامة حول الدعم المستمر لها. مع Chrome 57، سيكون هذا العنصر تمت إزالته.

نية الإزالة | أداة تتبُّع Chromestatus | خطأ Chromium

إزالة واجهة برمجة تطبيقات إدارة المخزن المؤقت لتوقيت الموارد التي تسبقها بادئات

هناك طريقتان ومعالج الأحداث، webkitClearResourceTimings()، webkitSetResourceTimingBufferSize() وonwebkitresourcetimingbufferfull قديمة وخاصة بالبائعين. تشير رسالة الأشكال البيانية الإصدارات العادية من واجهات برمجة التطبيقات هذه منذ Chrome 46، وكانت الوظائف السابقة نهائيًا في هذا الإصدار أيضًا. كانت هذه الميزات في الأصل في WebKit، ولكن Safari لم يمكِّنها. Firefox وIE 10 والإصدارات الأحدث تضم Edge فقط إصدارًا من واجهة برمجة التطبيقات غير مزود ببادئة. وبالتالي، لا يمكن استخدام إصدارات webkit. ستتم إزالتها.

نية الإزالة | أداة تتبُّع Chromestatus | خطأ Chromium

إزالة ServiceWorkerMessageEvent لصالح استخدام MessageEvent

وسعت مواصفات HTML إلى MessageEvent للسماح بـ ServiceWorker كنوع السمة source. client.postMessage() وإنشاء رسالة مخصّصة تم تغيير الأحداث لاستخدام MessageEvent بدلاً من ServiceWorkerMessageEvent. تمت إزالة ServiceWorkerMessageEvent.

نية الإزالة | أداة تتبُّع Chromestatus | خطأ Chromium

إزالة الأسماء المستعارة العالمية لـ IndexedDB التي تبدأ ببادئة webkit

تم عرض نقطة الدخول IndexedDB والإنشاءات العامة باستخدام webkit البادئات في مكان ما حول Chrome 11. تمت إضافة الإصدارات غير المسبوقة في تم إيقاف Chrome 24 والإصدارات الأقدم نهائيًا في Chrome 38. تشير رسالة الأشكال البيانية تتأثر الواجهات التالية:

  • webkitIndexedDB (نقطة الدخول الرئيسية)
  • webkitIDBKeyRange (دالة إنشائية عمومية غير قابلة للاستدعاء، لكن بها طرق ثابتة مفيدة)
  • webkitIDBCursor
  • webkitIDBDatabase
  • webkitIDBFactory
  • webkitIDBIndex
  • webkitIDBObjectStore
  • webkitIDBRequest
  • webkitIDBTransaction (دوال إنشاء عمومية غير قابلة للاستدعاء)

نية الإزالة | أداة تتبُّع Chromestatus | خطأ Chromium

WebAudio: إزالة AudioContext (سياق الصوت) وOnlineAudioContext (سياق بلا إنترنت) الذي يتضمّن بادئتين

لقد دعم Chrome WebAudio منذ منتصف 2011، بما في ذلك AudioContext. تمت إضافة "OfflineAudioContext" في العام التالي. بالنظر إلى المدة التي يستغرقها الواجهات، وكان هدف Google على المدى الطويل إزالة الميزات السابقة، تم إيقاف العمل بالإصدارات السابقة من هذه الواجهات منذ أواخر عام 2014 وتتم إزالتها الآن.

نية الإزالة | أداة تتبُّع Chromestatus | خطأ Chromium

إيقاف طريقة webkitCancelRequestAnimationFrame نهائيًا وإزالتها

طريقة webkitCancelRequestAnimationFrame() هي طريقة قديمة، وواجهة برمجة التطبيقات الخاصة بالمورِّد وواجهة برمجة التطبيقات cancelAnimationFrame() العادية التي تتضمَّن في Chromium. وبالتالي، ستتم إزالة إصدار webkit.

نية الإزالة | أداة تتبُّع Chromestatus | خطأ Chromium

إيقاف نهائي للمطابقة غير الحساسة لحالة الأحرف لسمة usemap

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

وبالتالي، تم تحديث المواصفات بحيث تصبح المطابقة الحساسة لحالة الأحرف المنهجية. تم إيقاف السلوك القديم نهائيًا في الإصدار 57 من Chrome، ومن المتوقَّع إزالته في الإصدار 58 من Chrome.

نية الإزالة | أداة تتبُّع Chromestatus | خطأ Chromium

إيقاف FileReaderSync نهائيًا في مشغّلي الخدمات

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

يعرض كل من Firefox وChrome فقط FileReaderSync في عاملي الخدمة في الوقت الحالي. هناك اتفاق من Firefox في مناقشة المواصفات أنه ينبغي إصلاح هذا. ومن المتوقَّع أن تتم الإزالة في الإصدار 59 من Chrome.

نية الإزالة | أداة تتبُّع Chromestatus | خطأ Chromium

إيقاف المتصل القديم بـ HTMLEmbedElement وHTMLObjectElement

ويعني احتواء الواجهة على متصل قديم، مما يعني أنه يمكن استدعاء المثيل الأخرى. حاليًا، يتوافق كل من HTMLEmbedElement وHTMLObjectElement مع هذا الخيار الوظيفة. في Chrome 57، تم إيقاف هذه الإمكانية. بعد الإزالة، وهي متوقعًا في الإصدار 58 من Chrome، فسيعرض الاتصال استثناءً.

يؤدي هذا التغيير إلى توافق Chrome مع التغييرات الأخيرة في المواصفات. السلوك القديم غير معتمد في Edge أو Safari، وجارٍ من Firefox.

نية الإزالة | أداة تتبُّع Chromestatus | خطأ Chromium

إيقاف العمل بسياسة RTCRtcpMuxPolicy "التفاوض"

يستخدم متصفِّح Chrome rtcpMuxPolicy لتحديد سياسته المفضّلة بشأن استخدام مضاعفة إرسال RTP/RTCP. في Chrome 57، غيّرنا الإعداد التلقائي rtcpMuxPolicy إلى "الطلب" وأوقفت ميزة "التفاوض" للأسباب التالية:

  • يستخدم RTCP غير المختلَط موارد شبكة إضافية.
  • جارٍ إزالة كلمة "التفاوض" واجهة برمجة التطبيقات (API) أبسط، نظرًا &quot;RtpSender&quot;/&quot;RtpReceiver&quot; وحينئذٍ سيكون هناك عملية نقل واحدة فقط.

في Chrome 57، "التفاوض" نهائيًا. نعتقد أنّ هذا التغيير يسري. لأنّ المستخدم سيتلقّى رسالة تم إيقافها نهائيًا وسيظل بإمكان RTCPeerConnection إنشاء المشروعات. عملية الإزالة في Chrome 63.

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

إيقاف إتاحة بيانات الاعتماد المضمّنة في طلبات الموارد الفرعية

تتسبب بيانات اعتماد التشفير الثابت في طلبات الموارد الفرعية في حدوث مشكلة من منظورًا أمنيًا، حيث سمحت للمخترقين بفرض بيانات الاعتماد الغاشمة الماضي. تزداد هذه المخاطر بسبب طلبات الموارد الفرعية المعتمدة التي تصل إلى نطاقات عناوين IP الداخلية (الموجهات وغيرها). ونظرًا لقلة الاستخدام، وإغلاق هذه الثغرة الأمنية (الصغيرة) يبدو معقولاً إلى حد ما.

يمكن للمطوّرين تضمين الموارد التي لا تتطلب مصادقة أساسية/ملخصة، اعتمادًا على بدلاً من ملفات تعريف الارتباط وآليات إدارة الجلسات الأخرى.

نية الإزالة | أداة تتبُّع Chromestatus | خطأ Chromium