影響あり クロスオリジン <iframe> からの位置情報、全画面表示、カメラ、マイク、画面キャプチャリクエストが初期設定で無効化されました

公開日:

カテゴリー: 音声 & 動画, DOM, プライバシー & セキュリティ

リリース: Firefox 74, Firefox 78 ESR

概要

様々なウェブプラットフォーム機能や API の挙動をウェブ開発者が制御できるようにする Feature Policy への対応が Firefox 74 で追加されました。<iframe> 要素上の新しい allow 要素を使うことで <iframe> 内の機能を制御できますが、ユーザーの混乱を防ぐため、サードパーティに対しては特定の機能が初期設定で無効化されるようになりました。

以下の機能は、その機能が allow 属性で明示的に有効化されていない限り、クロスオリジン <iframe> 内で使用できなくなりました。

そのため、例えば、サードパーティ <iframe> が Geolocation API を使うことを許可したい場合、以下のように記述する必要があり、そうしないと許可設定リクエストは黙ってブロックされてしまいます。

<iframe src="https://maps.example.com/" allow="geolocation"></iframe>

以下の機能は allow 属性を使った場合でもクロスオリジン <iframe> 内で使用できなくなりました。

  • navigator.storage.persist() を通じた持続的ストレージ
  • Notifications API (Firefox 70 以降)
  • Vibration API (Firefox 72 以降)

更新: この変更は Firefox 73 から 74 へ延期されました。

更新 2: Google Hangouts がこの変更の影響を受けており、Gmail からのマイクアクセスが動作しません。また、HuffPostEngadgetTechCrunch といった AOL が運営するウェブサイト上で動画プレーヤーの全画面表示ボタンが動作していません。

参考資料