puppeteer 13.5.1がリリースされました。
さっそくリリースノートを見ていきましょう。
Bug Fixes
・waitForNavigation in OOPIFs
https://github.com/puppeteer/puppeteer/releases/tag/v13.5.1
今回はバグ修正のみでした。
ところで「OOPIFs」は「out-of-process iframes」の略です。即ちiframeを別のプロセスでレンダリングするという意味です。ご存知の通り、HTMLにはiframeを記述することで別のサイト(ドメイン)のページを表示することができます。
従来よりこれはセキュリティ上の問題となっていました。例えば、親ページで処理されている情報(クッキーだったりJavaScriptのオブジェクトだったり)を、セキュリティホールを突いてiframe側が意図しない方法で抜き出すようなことがありました。こういった問題を事前に回避するた、CORS(オリジン間リソース共有)などで明示的にリソースを共有する・しないを指定するようになったのです。
話を戻すと、HTMLやJavaScriptの世界では確かにデータが漏れないようにしていますが、それを更に強化する方法として考え出されたのがOOPIFsです。そもそもiframeを別の(ブラウザ)プロセスで処理させることで、メモリ空間を分けてしまうという考え方なわけです。
Webセキュリティを第一に考えているGoogleのChromiumならではの機能でした。そのうちChromeにも降りてくるんじゃないかと思います。