[Security] Introduce the concept of cross-origin isolated.
A cross origin isolated page is a page that has set COOP and COEP, eventually unlocking access to powerful APIs such as SharedArrayBuffer. This first patch goal is to introduce cross origin isolated BrowsingInstances that only contain cross origin isolated pages. It modifies the SiteInstance selection process to make sure the invariant holds. In more details: - BrowsingInstances now have a is_coop_coep_cross_origin_isolated boolean, that indicates if all the pages contained into it have been COOP+COEP enabled. Each BrowsingInstance also holds the origin of the top level pages contained in it, unique across all the top level pages in it. - CHECKS and DCHECKS enforce the BrowsingInstance invariant. See the full design doc https://docs.google.com/document/d/1OFaz1Txi4ynFLmRqNTLFF3qd6jm4kK4GkJdmgr5_aZA/edit?usp=sharing for more information. It was based on clamy@ work here: https://chromium-review.googlesource.com/c/chromium/src/+/2066844 and further discussed here: https://chromium-review.googlesource.com/c/chromium/src/+/2119854 BUG=1055779 Change-Id: I4829337f5fd4a4c2cd18f2cfaaf7ef8054eb67a8 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2230632Reviewed-by:Camille Lamy <clamy@chromium.org> Reviewed-by:
Alex Moshchuk <alexmos@chromium.org> Reviewed-by:
Arthur Sonzogni <arthursonzogni@chromium.org> Commit-Queue: Arthur Hemery <ahemery@chromium.org> Cr-Commit-Position: refs/heads/master@{#800556}
Showing
This diff is collapsed.
This diff is collapsed.
Please register or sign in to comment