Re: Bootstrapping necko

Benjamin Smedberg <[email protected]>
Newsgroups gmane.comp.mozilla.devel.dom
Message-ID <[email protected]>
On 8/11/09 12:20 AM, Jason Duell wrote:

> Right now the TabParent code in dom/ipc forks off a subprocess and sets
> up an IPDL protocol with it.

We need a parent protocol which allows the creation of multiple tabs
(IFrameEmbeddings) and which we can use to hook up other global protocol
state (networking, history, prefs, etc). I've been calling it
ContentProcess.ipdl.

I started on this a while back and got stuck with async constructors. I
think cjones fixed up the async-constructor bit and I'll go resurrect that
work. There will be a singleton/global ContentProcessChild in the content
process which we'll make accessible for it to talk to the parent. For the
moment we'll have a singleton/global ContentProcessParent in the chrome
process also (because we're planning on running all tabs in a single content
process for now). Later we'll end up with multiple ContentProcessParent
(per-domain or using some heuristic similar to what Chromium does).

> 2) I use Chris' Test IPDL code and/or bent's testshell to bootstrap
> necko completely independently of the dom code for now, and rig things
> to init necko requests manually and use printf, etc. to check reply
> content.

I think we also want to make the testshell use ContentProcess, and make
ContentProcess manage a TestShell singleton: that way test scripts will have
the same content-process environment they would actually have in Firefox.

robin_bb posted a patch in
https://bugzilla.mozilla.org/show_bug.cgi?id=507218 which allows client code
(necko) to know whether it's running as the chrome process or the content
process. bent, can you review that?

--BDS

Please send this sort of question to mozilla.dev.tech.dom... there are
lurkers trying to learn how this all fits together and public discussion
will help! followup there please
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.