Hi,

Machines are getting more cores, web devs want to make use of that opportunity.
We (webdev hat) have WebWorkers, that's cool, but one can only do ~math in 
there. It's not possible to update a UI in real time from a WebWorker. It's not 
possible to update a canvas or WebGL context either. New APIs are being 
designed and implemented to cover this specific use case.

We have cross-origin iframes which are very very close from being able to run 
in parallel. Communication between an iframe and its cross-origin parent are 
more or less restricted to:
* postMessage + message event
* resizing the iframe from the parent (which modifies the viewport dimensions 
inside the iframe?)
.... that's the ideal view, because, of course, web reality kicks in and 
document.domain allows for a frame and its parent to dynamically change of 
origin (and synchronous communication can begin) and there is also named access 
on cross-origin Windows which has proven to be web-required [1].

It looks like cross-origin iframes are a dead end from a practical point of 
view when it comes to parallelism.
Enters: Sandboxed iframes! A sandboxed iframe has the same properties than 
cross-origin iframes with the benefit of document.domain being disabled [2] (I 
need to look at the named access thing). So in theory, it could run in parallel 
from its parent.

I'm writing this message to ask about the practical aspects. From what I 
understand, it's already possible to create process-separated frames [3] which 
I feel isn't that far away from a parallel iframe (though for now, I haven't 
been really able to make it work :-/). 
Sandboxed iframes have flags to disable a bunch of things (plugin, top 
navigation, etc.) if that can help finding a workable subset that can work in 
parallel from its parent.

I believe parallel sandboxed iframes would be a good thing also because it 
would encourage web developers to use them also for their security 
characteristics. It would also save the work of creating new WebWorker-specific 
APIs.

Thoughts?

David

[1] https://bugzilla.mozilla.org/show_bug.cgi?id=916939
[2] https://bugzilla.mozilla.org/show_bug.cgi?id=907892
[3] remote option described in 
https://developer.mozilla.org/en-US/Add-ons/SDK/Low-Level_APIs/frame_utils
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to