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

ジョー・メドレー
Joe Medley

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

MediaStream の終了イベントと属性および onended 属性のサポート終了

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

削除の目的 | Chromestatus Tracker | Chromium のバグ

ended イベントも onended イベント ハンドラも、この約 3 年間、WebRTC 仕様には含まれていません。イベントを視聴するデベロッパーは、MediaStreams ではなく MediaStreamTracks を使用する必要があります。

Chrome 53 で削除される予定です。

タップ操作時を除き、タッチイベント中はクロスオリジンの iframe からのポップアップをブロックする

要約: Chrome では、クロスオリジンの iframe 内からのタップに関係のないタッチイベントに対するポップアップなどの機密性の高い操作ができなくなります。

削除の目的 | Chromestatus Tracker | Chromium のバグ

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

この問題を回避するため、クロスオリジンの iframe からのタッチイベントでは、ポップアップなどの機密性の高い操作は禁止されます。touchend イベントはこれまでと同様に動作します。

postMessage() のオーバーロードを非推奨にしました

要約: postMessage() インターフェースの不要でほとんど使用されていないバリアント(特に postMessage(message, transferables, targetOrigin))が非推奨になりました。

削除の目的 | Chromestatus Tracker | Chromium のバグ

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

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

このリストの最後の項目は、仕様の進化と実装の歴史に基づく偶発的なものです。ほとんど使用されていないため、サポートが終了し、今後削除されます。これは、window.postMessage()worker.postMessage() の両方に適用されます。

Chrome 54 で削除される予定です。

次の X-Frame-Options のサポートを削除 tags

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

削除の目的 | Chromium のバグ

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

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

メイン以外のボタンのクリック イベントを削除

要約: メイン以外のマウスクリックでクリック イベントが発生しなくなりましたが、MouseEvent.button は引き続き使用できます。

削除の目的 | Chromestatus Tracker | Chromium のバグ

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

requestAutocomplete() を削除する

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

削除の目的