حذف و حذف API در Chrome 57

جو مدلی
Joe Medley

تقریباً در هر نسخه کروم، شاهد تعداد قابل توجهی از به‌روزرسانی‌ها و بهبودها در محصول، عملکرد آن و همچنین قابلیت‌های پلتفرم وب هستیم. این مقاله منسوخ شدن و حذف Chrome 57 را شرح می‌دهد که از اوایل فوریه در نسخه بتا است. این لیست در هر زمان ممکن است تغییر کند.

ویژگی BluetoothDevice.uuids را حذف کنید

ویژگی BluetoothDevice.uuids در حال حذف است تا Web Bluetooth API با مشخصات فعلی مطابقت داشته باشد. با فراخوانی device.getPrimaryServices() می توانید تمام خدمات مجاز گات را بازیابی کنید.

اشکال کروم

عنصر تولید کلید را حذف کنید

از Chrome 49، رفتار پیش‌فرض <keygen> برگرداندن رشته خالی بوده است، مگر اینکه مجوزی به این صفحه داده شده باشد. IE/Edge <keygen> پشتیبانی نمی‌کند و سیگنال‌های عمومی را برای پشتیبانی از <keygen> نشان نداده است. فایرفاکس قبلاً <keygen> پشت ژست کاربر قرار می دهد، اما به طور عمومی از حذف آن حمایت می کند. سافاری <keygen> را حمل می کند و نظر عمومی را در مورد حمایت مستمر خود بیان نکرده است. با Chrome 57، این عنصر حذف می شود.

قصد حذف | ردیاب Chromestatus | اشکال کروم

API مدیریت بافر زمان‌بندی منابع پیشوندی را حذف کنید

دو متد و یک مدیریت رویداد، webkitClearResourceTimings() ، webkitSetResourceTimingBufferSize() و onwebkitresourcetimingbufferfull منسوخ شده و مختص فروشنده هستند. نسخه‌های استاندارد این APIها از Chrome 46 پشتیبانی می‌شوند و توابع پیشوندی نیز در آن نسخه منسوخ شده‌اند. این ویژگی ها در ابتدا در WebKit پیاده سازی شدند، اما سافاری آنها را فعال نکرده است. فایرفاکس، IE 10+ و Edge فقط نسخه بدون پیشوند API دارند. بنابراین نسخه های وب کیت حذف می شوند.

قصد حذف | ردیاب Chromestatus | اشکال کروم

به نفع استفاده از MessageEvent، ServiceWorkerMessageEvent را حذف کنید

مشخصات HTML MessageEvent گسترش داد تا به ServiceWorker به عنوان یک نوع ویژگی source اجازه دهد. client.postMessage() و ایجاد رویدادهای پیام سفارشی برای استفاده از MessageEvent به جای ServiceWorkerMessageEvent تغییر کرده است. ServiceWorkerMessageEvent حذف شد.

قصد حذف | ردیاب Chromestatus | اشکال کروم

نام مستعار جهانی IndexedDB با پیشوند وب کیت را حذف کنید

نقطه ورودی IndexedDB و سازنده های جهانی با پیشوندهای webkit در اطراف Chrome 11 در معرض دید قرار گرفتند. نسخه های بدون پیشوند در Chrome 24 اضافه شدند و نسخه های پیشوندی در Chrome 38 منسوخ شدند. رابط های زیر تحت تأثیر قرار می گیرند:

  • webkitIndexedDB (نقطه ورودی اصلی)
  • webkitIDBKeyRange (سازنده جهانی غیرقابل فراخوانی، اما دارای روش‌های استاتیک مفید است)
  • webkitIDBCursor
  • webkitIDBDatabase
  • webkitIDBFactory
  • webkitIDBIndex
  • webkitIDBObjectStore
  • webkitIDBRequest
  • webkitIDBTransaction (سازندگان جهانی غیر قابل فراخوانی)

قصد حذف | ردیاب Chromestatus | اشکال کروم

WebAudio: AudioContext و OfflineAudioContext پیشوندی را حذف کنید

Chrome از اواسط سال 2011 WebAudio از جمله AudioContext پشتیبانی کرده است. OfflineAudioContext سال بعد اضافه شد. با توجه به مدت زمانی که رابط‌های استاندارد پشتیبانی می‌شوند و هدف بلندمدت گوگل برای حذف ویژگی‌های پیشوندی، نسخه‌های پیشوندی این رابط‌ها از اواخر سال ۲۰۱۴ منسوخ شده‌اند و اکنون حذف می‌شوند.

قصد حذف | ردیاب Chromestatus | اشکال کروم

منسوخ کردن و حذف webkitCancelRequestAnimationFrame

متد webkitCancelRequestAnimationFrame() یک API منسوخ و خاص فروشنده است و cancelAnimationFrame() استاندارد مدت‌هاست در Chromium پشتیبانی می‌شود. بنابراین نسخه وب کیت در حال حذف شدن است.

قصد حذف | ردیاب Chromestatus | اشکال کروم

انطباق غیر حساس به حروف بزرگ برای ویژگی usemap را منسوخ کنید

ویژگی usemap قبلاً به عنوان بدون مورد تعریف می شد. متأسفانه اجرای آن به اندازه کافی پیچیده بود که هیچ مرورگری آن را به درستی پیاده سازی نکرد. تحقیقات نشان می‌دهد که چنین الگوریتم پیچیده‌ای غیرضروری است و حتی تطبیق حساس به حروف بزرگ و کوچک ASCII غیرضروری است.

در نتیجه، مشخصات به‌روزرسانی شد تا تطابق حساس به حروف کوچک و بزرگ اعمال شود. رفتار قدیمی در Chrome 57 منسوخ شده است و انتظار می رود در Chrome 58 حذف شود.

قصد حذف | ردیاب Chromestatus | اشکال کروم

FileReaderSync را در سرویس‌کاران منسوخ کنید

مشخصات Service Worker همیشه این نکته (غیر هنجاری) را داشته است که "هر نوع درخواست همزمان نباید در داخل یک Service Worker آغاز شود" تا از مسدود کردن سرویس‌گر جلوگیری شود. مسدود کردن سرویس‌کار تمام درخواست‌های شبکه از صفحات کنترل‌شده را مسدود می‌کند. متأسفانه، FileReaderSync API مدت‌هاست که در سرویس‌کاران موجود است.

در حال حاضر فقط فایرفاکس و کروم FileReaderSync در سرویس‌کاران افشا می‌کنند. توافقی از طرف فایرفاکس در بحث مشخصات وجود دارد که باید این مشکل برطرف شود. حذف در Chrome 59 پیش بینی می شود.

قصد حذف | ردیاب Chromestatus | اشکال کروم

تماس گیرنده قدیمی را برای HTMLEmbedElement و HTMLObjectElement منسوخ کنید

اینکه یک رابط دارای یک فراخوان قدیمی است به این معنی است که یک نمونه را می توان به عنوان یک تابع فراخوانی کرد. در حال حاضر، HTMLEmbedElement و HTMLObjectElement از این قابلیت پشتیبانی می کنند. در Chrome 57 این قابلیت منسوخ شده است. پس از حذف، که در Chrome 58 انتظار می‌رود، تماس یک استثنا ایجاد می‌کند.

این تغییر کروم را با تغییرات اخیر مشخصات مطابقت می دهد. رفتار قدیمی در Edge یا Safari پشتیبانی نمی‌شود و از Firefox حذف می‌شود.

قصد حذف | ردیاب Chromestatus | اشکال کروم

منسوخ کردن RTCRtcpMuxPolicy "مذاکره"

rtcpMuxPolicy توسط Chrome برای تعیین خط مشی ترجیحی خود در مورد استفاده از چندگانه سازی RTP/RTCP استفاده می شود. در Chrome 57، rtcpMuxPolicy پیش‌فرض را به «نیاز» تغییر دادیم و «مذاکره» را به دلایل زیر منسوخ کردیم:

  • RTCP غیر muxed از منابع شبکه اضافی استفاده می کند.
  • حذف "مذاکره" سطح API را ساده تر می کند، زیرا یک "RtpSender"/"RtpReceiver" تنها یک انتقال خواهد داشت.

در Chrome 57، «مذاکره» منسوخ شده است. ما معتقدیم که این یک تغییر غیرقابل شکست است زیرا کاربر یک پیام منسوخ شدن دریافت می کند و RTCPeerConnection همچنان می تواند ایجاد شود. حذف در Chrome 63 است.

قصد منسوخ کردن | اشکال کروم

پشتیبانی از اعتبارنامه های جاسازی شده در درخواست های منابع فرعی را منسوخ کنید

رمزگذاری سخت اعتبارنامه‌ها در درخواست‌های زیرمنبع از منظر امنیتی مشکل‌ساز است، زیرا در گذشته به هکرها این امکان را می‌داد که اعتبارنامه‌ها را به صورت بیرحمانه اعمال کنند. این خطرات برای درخواست‌های زیرمنبع معتبر که به محدوده IP داخلی (روترهای شما و غیره) می‌رسند تشدید می‌شوند. با توجه به استفاده کم، بستن این حفره امنیتی (کوچک) کاملا منطقی به نظر می رسد.

توسعه‌دهندگان می‌توانند منابعی را جاسازی کنند که به اعتبار اولیه/هضمی نیاز ندارند، در عوض به کوکی‌ها و دیگر مکانیسم‌های مدیریت جلسه تکیه می‌کنند.

قصد حذف | ردیاب Chromestatus | اشکال کروم