API のサポート終了と削除(Chrome 52)

Joe Medley
Joe Medley

ほぼすべてのバージョンの Chrome で、プロダクト、そのパフォーマンス、ウェブ プラットフォームの機能に多くの更新と改善が加えられています。この記事では、6 月 9 日時点でベータ版である Chrome 52 の変更点について説明します。このリストは随時変更される可能性があります。

MediaStream の ended イベントと属性、onended 属性のサポートを終了

要約: ended イベントと属性、onended イベント ハンドラは、Media Capture and Streams の仕様から削除されたため、非推奨になりました。

削除の意向 | Chromestatus トラッカー | Chromium のバグ

ended イベントも onended イベント ハンドラも、約 3 年間 WebRTC 仕様の一部ではありませんでした。イベントを監視するデベロッパーは、MediaStreams ではなく MediaStreamTracks を使用する必要があります。

削除は Chrome 53 で予定されています。

タップ ジェスチャーを除き、タッチイベント中にクロスオリジンの iframe からのポップアップをブロックする

要約: Chrome では、クロスオリジン iframe 内からのタップに対応していないタップ イベントに対するポップアップなどの機密性の高い操作が禁止されるようになります。

削除の意向 | Chromestatus トラッカー | Chromium のバグ

タップイベントは、対応するマウスイベントと比較すると、その性質上あいまいになる可能性があります。たとえば、ユーザーが画面上で指をスライドさせた場合、ユーザーは切り替えスイッチをスライドさせたのか、ビューをスクロールしたのか。iframe 内のサードパーティのコンテンツの中には、このあいまいさを悪用して、そのコンテンツを含むページのスクロールを意図的に無効にしているものがあります。

これに対処するため、クロスオリジン iframe からのタップイベントで、ポップアップなどの機密性の高いオペレーションが禁止されます。touchend イベントは引き続き以前どおりに動作します。

postMessage() のオーバーロードを非推奨にする

要約: postMessage() インターフェースの不要であまり使用されていないバリアント(特に postMessage(message, transferables, targetOrigin))のサポートが終了します。

削除の意向 | Chromestatus トラッカー | Chromium のバグ

postMessage() メソッドは、異なるオリジンのページのスクリプト間で安全に通信する方法です。WebKit/Blink は、次の 3 つのバージョンをサポートしています。

  • postMessage(message, targetOrigin)
  • postMessage(message, targetOrigin, transferables)
  • postMessage(message, transferables, targetOrigin)

このリストの最後の項目は、仕様の進化と実装の歴史の中で発生した偶発的なものです。使用頻度が低いため、非推奨となり、後で削除されます。これは、window.postMessage()worker.postMessage() の両方に適用されます。

削除は Chrome 54 で予定されています。

Remove support for X-Frame-Options in tags

要約: 仕様に準拠し、他のブラウザとの整合性を高めるため、<meta> タグ内の X-Frame-Options のサポートが削除されます。

削除の目的 | Chromium バグ

X-Frame-Options HTTP レスポンス ヘッダーは、ブラウザが <frame><iframe><object> タグでページをレンダリングできるかどうかを示します。このようなページは他のサイトに埋め込めないため、クリックジャッキングを回避できます。現在のバージョンの X-Frame-Options 仕様では、<meta> タグ内のこのフィールドをユーザー エージェントがサポートすることを明示的に制限しています。

仕様に準拠し、他のブラウザとの整合性を高めるため、<meta> タグ内の X-Frame-Options のサポートが削除されます。

プライマリ以外のボタンのクリック イベントを削除

要約: プライマリ以外のマウスクリックでクリック イベントがトリガーされなくなりました。ただし、MouseEvent.button は引き続き使用できます。

削除の意向 | Chromestatus トラッカー | Chromium のバグ

Chrome を UIEvents 仕様に準拠させるため、メイン以外のマウスボタンのクリック イベントを削除します。メイン以外のマウスボタンはデバイスによって異なります。通常は、マウスの右ボタンまたは左ボタン以外のボタンを指します。なお、クリックされたボタンを正確に取得するには、mousedownmouseup などのイベントに送信される MouseEvent.button プロパティを使用します。

requestAutocomplete() を削除

requestAutocomplete() 関数を使用すると、ブラウザの自動入力機能によってフォームをオンデマンドで入力できるようになります。しかし、2 年以上経過した現在でも、この機能は Blink でのみサポートされており、使用率は低い状況です。これらの理由により、requestAutocomplete() は Chrome 52 で削除されます。

削除の意図