لغو و حذف در Chrome 99

کروم 99 بتا در 3 فوریه 2022 منتشر شد و انتظار می رود در اوایل مارس 2022 به نسخه پایدار تبدیل شود.

API وضعیت باتری را در منابع ناامن حذف کنید

Battery Status API دیگر در منابع ناامن، مانند صفحات HTTP یا iframes HTTPS تعبیه شده در صفحات HTTP، پشتیبانی نمی‌شود . Battery Status API به توسعه دهندگان وب اجازه می دهد تا از جمله به سطح شارژ باتری سیستم و اینکه آیا در حال شارژ شدن است دسترسی داشته باشند. این یک ویژگی قدرتمند است که بیش از یک دهه است که وجود داشته است و به همین دلیل، در ابتدا با محدودیت های امنیتی مختلف طراحی شده است.

font-family -webkit-standard را حذف کنید

این نسخه از Chrome پشتیبانی از مقدار font-family "-webkit-standard" را حذف می کند . این مقدار صرفاً یک نام مستعار برای کلمه کلیدی اختصاصی "-webkit-body" است و فقط به این دلیل آشکار می شود که از WebKit به ارث رسیده است. حذف این هم تراز با مشخصات CSS و فایرفاکس را بهبود می بخشد.

حذف gamepadlist

متد navigator.getGamepads() اکنون آرایه ای از اشیاء Gamepad را به جای GamepadList برمی گرداند. GamepadList دیگر در کروم پشتیبانی نمی شود. این کروم را با مشخصات و با Gecko و Webkit مطابقت می دهد. برای کسب اطلاعات در مورد Gamepads به طور کلی، به بازی Chrome dino با گیم پد خود مراجعه کنید.

WebCodec ها را برای مطابقت با مشخصات به روز کنید

کروم دو مورد را به دلیل تغییرات اخیر در مشخصات WebCodecs حذف کرده است.

متد EncodedVideoChunkOutputCallback() یک فرهنگ لغت EncodedVideoChunkMetadata می گیرد. قبلاً عضوی به نام temporalLayerId در EncodedVideoChunkMetadata.temporalLayerId قرار داشت. مطابق با مشخصات، اکنون در EncodedVideoChunkMetadata.SvcOutputMetadata.temporalLayerId قرار دارد.

این مشخصات مستلزم آن است که سازنده VideoFrame() یک آرگومان مهر زمانی ( VideoFrameInit.timestamp ) برای انواع CanvasImageSource که به طور ضمنی دارای مهر زمانی نیستند (مثلا HTMLCanvasElement ) داشته باشد. درج نشدن مهر زمانی باید منجر به TypeError شود، اما Chrome قبلاً مهر زمانی را صفر کرده بود. این به نظر مفید است، اما اگر VideoFrame به یک VideoEncoder ارسال کنید، جایی که از مهرهای زمانی برای هدایت کنترل نرخ بیت استفاده می شود، مشکل ساز است.

سیاست استهلاک

برای سالم نگه داشتن پلتفرم، گاهی اوقات API هایی را که دوره خود را اجرا کرده اند از پلتفرم وب حذف می کنیم. دلایل زیادی برای حذف یک API وجود دارد، مانند:

  • API های جدیدتر جایگزین آنها می شوند.
  • آنها به روز می شوند تا تغییرات در مشخصات را منعکس کنند تا با سایر مرورگرها هماهنگی و سازگاری داشته باشند.
  • آنها آزمایش های اولیه ای هستند که هرگز در مرورگرهای دیگر به نتیجه نرسیدند و بنابراین می توانند بار پشتیبانی را برای توسعه دهندگان وب افزایش دهند.

برخی از این تغییرات بر تعداد بسیار کمی از سایت ها تأثیر خواهد گذاشت. برای کاهش مشکلات پیش از موعد، ما سعی می‌کنیم به توسعه‌دهندگان اطلاع‌رسانی پیشرفته بدهیم تا بتوانند تغییرات مورد نیاز را برای فعال نگه داشتن سایت‌های خود انجام دهند.

Chrome در حال حاضر فرآیندی برای لغو و حذف APIها دارد، اساساً:

  • در لیست پستی blink-dev اعلام کنید.
  • هنگام شناسایی استفاده در صفحه، هشدارها را تنظیم کنید و مقیاس‌های زمانی را در کنسول Chrome DevTools ارائه دهید.
  • صبر کنید، نظارت کنید، و سپس با کاهش مصرف، ویژگی را حذف کنید.

می‌توانید با استفاده از فیلتر منسوخ و ویژگی‌های حذف‌شده، فهرستی از همه ویژگی‌های منسوخ شده را در chromestatus.com پیدا کنید. همچنین سعی خواهیم کرد تا برخی از تغییرات، استدلال ها و مسیرهای مهاجرت را در این پست ها خلاصه کنیم.