Implementing iframe mozbrowser> bug 1318532
Opportunities with this API
- Tile Tabs
- Create a wrapper around web content (à la Responsive design Mode)
- Make use of container tabs properties for iframes
- More secure alternative to overriding CSP to make web content iframe-able
- All iframe supported attributes
- noisolation (sets whether the docshell should be isolated from the tab I think, not sure)
- remote (makes the iframe content run in a different process, but that implies no direct contentWindow access)
-> Issue: I don't think WebExtensions should be able to set these, but we should rather choose some sensible default. Chrome allows access to the contentWindow, but also has getProcessId which implies remoteness ?
Existing mozbrowser APIs
I plan on progressively enable these APIs and test them at the same time. All of them should work on Firefox desktop, but since they were initially built for Firefox OS, it's better to do testing. Especially since the only usage of iframe mozbrowser on desktop (Responsive design mode) doesn't make use of any of these APIs.
P1 APIs (should be initially available):
P2 APIs (potentially as follow ups)
P3 (may need modifications)
P4 (need decisions):
I intent to implement these APIs:
Nice to have:
- All webview events
Is partition useful ?
-> Issue: should we rename the mozbrowser APIs to match Chrome webview APIs ?
- Container tabs
- Ideas ??
- Should the add-on request a special permission ?
- Do we want to try and match chrome as closely as we can ?
- Maybe make webview> an alias to iframe mozbrowser>