k08045kk/RejectServiceWorker

サブフレームの Service Worker をどう扱うか

Opened this issue · 1 comments


Gmail (https://mail.google.com/mail/u/0/) の Service Worker は、次の2つです。
https://chat.google.com/
https://mail.google.com/mail/u/0/

chat.google.com のように、別サイト(サブフレーム)の Service Worker をどのように扱うかが本件の主題です。

備考
iframe 等を利用することで、別サイトの Service Worker をインストールすることは、可能です。
(実際に、 Gmail がどの様な方法でインストールしているかは、不明です)

備考2
chat.google.com の Service Worker がインストールされないと、 mail.google.com の Service Worker がインストールされないようです。
(先のインストール処理が進まないと、次のインストールが始まらないため?)


  • ポップアップの「Add to Whitelist」で別サイトの Service Worker を確認できない。
    • 実際にインストール処理が始まるまで、対象サイトでどのサイトの Service Worker が使用されるか判断できない
    • frame / iframe で呼び出されるサイトのインストールの可能性がある

案1:サブフレームのドメインを個別に登録する(登録方法を提供する)
備考:ポップアップの情報量の按配に注意
NoScript の UI が参考になる?

案2:メインフレームが許可されている場合、サブフレームを許可する
備考:ハッキング等により意図しないサブフレームが挿入されることを考慮すると危険

補足:現時点では、オプション画面からサブフレームのドメインを手動で登録する必要がある