Chrome 99 でのサポートの終了と削除

Chrome 99 ベータ版は 2022 年 2 月 3 日にリリースされました。2022 年 3 月上旬に安定版になる予定です。

安全でないオリジンの Battery Status API を削除

Battery Status API は、安全でないオリジン(HTTP ページに埋め込まれた HTTPS iframe など)ではサポートされなくなりました。ウェブ デベロッパーは、Battery Status API を使用して、システムのバッテリー充電レベルや充電中かどうかなどを確認できます。これは 10 年以上前から存在する優れた機能であり、元々はさまざまなセキュリティ制約を考慮して設計されたものです。

font-family -webkit-standard を削除する

このバージョンの Chrome では、font-family"-webkit-standard" のサポートは終了しています。この値は、独自のキーワード "-webkit-body" のエイリアスであり、WebKit から継承されるためのみに公開されます。これを削除することで、CSS 仕様や Firefox との整合を改善できます。

GamepadList を削除する

navigator.getGamepads() メソッドは、GamepadList ではなく Gamepad オブジェクトの配列を返すようになりました。 GamepadList は Chrome でサポートされなくなりました。これにより Chrome は Gecko や Webkit の仕様に合致します。ゲームパッドに関する一般的な情報については、ゲームパッドで Chrome Dino ゲームをプレイするをご覧ください。

仕様に合わせて WebCodecs を更新する

WebCodecs 仕様の最近の変更により、Chrome では 2 つの項目が削除されました

EncodedVideoChunkOutputCallback() メソッドは EncodedVideoChunkMetadata 辞書を受け取ります。以前は、temporalLayerId というメンバーは EncodedVideoChunkMetadata.temporalLayerId にありました。仕様に沿って、EncodedVideoChunkMetadata.SvcOutputMetadata.temporalLayerId に配置されました。

この仕様では、暗黙的にタイムスタンプを持たない CanvasImageSource 型(HTMLCanvasElement など)の場合、VideoFrame() コンストラクタにタイムスタンプ引数(VideoFrameInit.timestamp)を含める必要があります。タイムスタンプを含めないと TypeError になりますが、Chrome ではこれまで、タイムスタンプがデフォルトでゼロに設定されていました。これは一見有用ですが、VideoFrameVideoEncoder に送信すると問題になります。ここでは、ビットレートの制御にタイムスタンプが使用されます。

非推奨ポリシー

プラットフォームの健全性を維持するため、コースを実施したウェブ プラットフォームから API を削除することがあります。API の削除には、以下のようにさまざまな理由があります。

  • 新しい API が優先されます。
  • 他のブラウザとの調整と一貫性を確保するため、仕様の変更を反映するように更新されています。
  • これらの API は、他のブラウザでは実現しなかった初期段階のテストであるため、ウェブ デベロッパーに対するサポートの負担が増える可能性があります。

これらの変更の一部は、ごく一部のサイトに影響するものです。問題を事前に軽減するため、Google はデベロッパーに事前通知を行い、サイトを実行し続けるために必要な変更を行えるようにしています。

現在、Chrome には基本的に、API のサポート終了と削除のプロセスがあります。

  • blink-dev メーリング リストで発表します。
  • ページ上で使用状況が検出された場合に、Chrome DevTools Console で警告を設定し、時間尺度を指定します。
  • しばらく待ってモニタリングを行い、使用量が低下したらその機能を削除する。

chromestatus.com で非推奨の機能の一覧は、非推奨のフィルタで確認できます。削除された機能は、削除済みのフィルタを適用することで確認できます。また、これらの投稿で変更、理由、移行パスの一部について概要を示します。