Support browser elements in WebExtensions
Categories
(WebExtensions :: General, enhancement, P5)
Tracking
(Not tracked)
People
(Reporter: cvan, Unassigned)
References
(Blocks 1 open bug, )
Details
(Keywords: dev-doc-needed, Whiteboard: [webvr][design-decision-approved])
Attachments
(5 files)
Comment 1•8 years ago
|
||
Reporter | ||
Comment 2•8 years ago
|
||
Updated•8 years ago
|
Comment 3•8 years ago
|
||
Comment 4•8 years ago
|
||
Updated•8 years ago
|
Updated•8 years ago
|
Comment 5•8 years ago
|
||
Comment 6•8 years ago
|
||
Updated•8 years ago
|
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment 9•8 years ago
|
||
mozreview-review |
Comment 10•8 years ago
|
||
mozreview-review |
Comment 11•8 years ago
|
||
mozreview-review-reply |
Comment 12•8 years ago
|
||
mozreview-review-reply |
Comment 13•8 years ago
|
||
Comment 14•8 years ago
|
||
Comment 15•8 years ago
|
||
Comment 16•8 years ago
|
||
Comment 17•8 years ago
|
||
Updated•8 years ago
|
Comment 18•7 years ago
|
||
Comment 19•7 years ago
|
||
Updated•7 years ago
|
Updated•7 years ago
|
Comment 21•7 years ago
|
||
mozreview-review |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment 24•7 years ago
|
||
Comment 25•7 years ago
|
||
mozreview-review |
Comment 26•7 years ago
|
||
mozreview-review |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment 29•7 years ago
|
||
mozreview-review |
Comment 30•7 years ago
|
||
Updated•7 years ago
|
Comment 31•7 years ago
|
||
Comment 32•7 years ago
|
||
Comment 33•7 years ago
|
||
Comment 34•7 years ago
|
||
Comment 35•7 years ago
|
||
Comment 36•7 years ago
|
||
Comment 37•7 years ago
|
||
Comment 38•7 years ago
|
||
Comment 40•7 years ago
|
||
Updated•7 years ago
|
Comment 41•7 years ago
|
||
Updated•7 years ago
|
Updated•7 years ago
|
Comment 42•7 years ago
|
||
Comment 43•7 years ago
|
||
Comment 44•7 years ago
|
||
Comment 45•7 years ago
|
||
Comment 46•7 years ago
|
||
Updated•7 years ago
|
Comment 48•6 years ago
|
||
Updated•6 years ago
|
Comment 49•6 years ago
|
||
Updated•6 years ago
|
Comment 50•6 years ago
|
||
This extension is a prototype and is only for evaluation by developers.
Comment 51•6 years ago
|
||
As a demonstrator of how useful <iframe mozbrower> elements (or out-of-process <iframe> elements) could be, I have developed a prototype WebExtension (Tile Pages WE) with similar functionality to my legacy Tile Tabs extension.
The key features of Tile Page WE are:
- Several web pages can be tiled in almost any layout within a single tab.
- Web pages in other tabs can be assigned into existing tiles.
- Bookmarks can be dragged into existing tiles or Shift+dragged to create new tiles.
- Links in a tiled web page can be opened in an adjacent tile.
- Web pages in adjacent tiles can be synchronized scrolled.
- Splitters can be dragged to resize tiles.
- Layouts can be saved (with or without web page URLs) and can be re-opened.
For the moment, Tile Pages WE uses sandboxed <iframe> elements to tile several web pages within a tab. Optionally, Tile Pages WE removes X-Frame-Options and CSP 'frame-ancestors' directives from the web pages loaded into the <iframe> tiles, but not from nested frames within the framed web pages.
It is not clear whether Tile Pages WE in its current state is sufficiently secure, but the following points are relevant:
- The container page is an add-on page and is not hostile.
- The container page (moz-extension:) has a different origin from those of the framed web pages (http: or https:).
- The sandbox prevents scripts running in the framed web pages.
- The sandbox applies to all nested frames within the framed web pages.
Tile Pages WE 0.8 is attached for evaluation purposes only.
Comment 52•6 years ago
|
||
Hi Mike, Would it be possible to get a clear path forward here ? This API would allow bypassing CSP in <iframe> in a secure way, which would solve many useful use-cases. One use-case is the Tile Tabs use case: https://www.youtube.com/watch?v=HPO3wGM9qXw . The current way of bypassing CSP is just to override and remove the CSP for a site, which isn't very secure and doesn't scale (since you can't bypass all websites' CSP).
Comment 53•6 years ago
|
||
Comment 54•6 years ago
|
||
(In reply to Tim Nguyen :ntim from comment #52)
Hi Mike, Would it be possible to get a clear path forward here ? This API would allow bypassing CSP in <iframe> in a secure way, which would solve many useful use-cases. One use-case is the Tile Tabs use case: https://www.youtube.com/watch?v=HPO3wGM9qXw . The current way of bypassing CSP is just to override and remove the CSP for a site, which isn't very secure and doesn't scale (since you can't bypass all websites' CSP).
Sorry, Tim, but we are still going to hold on this for now. The use cases are clear and valid, but the near-term focus for the team is on extension security and protecting users from malicious behavior. Expanding the API via this functionality increases the potential attack vectors we need to evaluate, something we don't want to do at this time. Also, we need to let Project Fission run a bit longer so that we understand exactly how OOP iframes and complete site isolation might impact this type of API.
Updated•5 years ago
|
Updated•2 years ago
|
Description
•