E10S compatibility sketch and description

0 views
Skip to first unread message

Myk Melez

unread,
Aug 31, 2010, 4:48:13 PM8/31/10
to mozilla-la...@googlegroups.com
Hi all,

I made a primitive sketch for how I've been thinking we'll make core
content-accessing APIs like Panel, Page Worker, Page Mods, Context Menu,
and Widget compatible with E10S:

https://wiki.mozilla.org/images/e/ef/Jetpack-e10s-sketch.png

The basic idea is that an addons would run in a separate "addon"
process, and a module that gives that addon access to content would
straddle the boundary between the addon and content processes, with one
part of the module in the addon process and the other in the content
process.

The module would then create a JavaScript context called a "content
symbiont" with access to the frame for the content being accessed and
load scripts (called "content scripts") provided by the addon in the
symbiont. The addon and the content scripts in the symbiont would
communicate with each other via a Web Worker-like API.

There are lots of devils in the details (some APIs like Page Mods access
multiple pages, some like Context Menu have special needs, etc.), and in
the long run I really hope we can come up with a simpler, more ergonomic
experience that abstracts some of the pain of multiple processes, but
this is the basic idea.

Thoughts?

-myk

Reply all
Reply to author
Forward
0 new messages