Last Comment Bug 669640 - Fix the message manager API/impl for multiple content processes
: Fix the message manager API/impl for multiple content processes
Status: RESOLVED FIXED
:
Product: Core
Classification: Components
Component: IPC (show other bugs)
: unspecified
: All All
: -- normal with 1 vote (vote)
: mozilla9
Assigned To: Olli Pettay [:smaug] (way behind * queues, especially ni? queue)
:
Mentors:
Depends on:
Blocks: 641683 666748
  Show dependency treegraph
 
Reported: 2011-07-06 08:02 PDT by Benjamin Smedberg [:bsmedberg]
Modified: 2011-08-19 07:17 PDT (History)
5 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments
patch (14.15 KB, patch)
2011-07-06 15:36 PDT, Olli Pettay [:smaug] (way behind * queues, especially ni? queue)
benjamin: review+
Details | Diff | Splinter Review

Description Benjamin Smedberg [:bsmedberg] 2011-07-06 08:02:52 PDT
The message manager currently makes some assumptions in both the API and implementation about having a single content process. Since this is changing, we need to design and implement the correct API for multiple content processes.
Comment 1 Olli Pettay [:smaug] (way behind * queues, especially ni? queue) 2011-07-06 15:36:57 PDT
Created attachment 544361 [details] [diff] [review]
patch

This is pretty simple. The current process mm becomes global process message manager (gpmm), and
whenever a new ContentParent is created, it gets a new message manager which is
added as a child to the global pmm.

The patch adds also nsITreeItemFrameMessageManager interface, which is
implemented by all the chrome message managers. That way one can iterate through the child message managers of some parent.
Later we can add some process ID to the per-process message managers (ppmm)

This is on top the patch for bug 666748

I haven't posted this to tryserver yet, since I don't know if the patch
for bug 666748 works there.
Comment 2 Olli Pettay [:smaug] (way behind * queues, especially ni? queue) 2011-07-06 15:38:57 PDT
Also, I need to mochitestify the tests, but I'd like to do that once it is
clear that the patch for bug 666748 works reasonable well.
Comment 3 Benjamin Smedberg [:bsmedberg] 2011-07-27 11:57:02 PDT
That patch has review, so if you can post the mochitests for this one, I'll land that all together in the e10s tree.
Comment 4 Benjamin Smedberg [:bsmedberg] 2011-07-27 12:47:34 PDT
Also, it's probably better to disconnect the message manager in ContentParent::ActorDestroy, not in ~ContentParent.
Comment 5 Olli Pettay [:smaug] (way behind * queues, especially ni? queue) 2011-08-05 12:52:18 PDT
http://hg.mozilla.org/projects/electrolysis/rev/0ecd5149132c
Comment 6 Benjamin Smedberg [:bsmedberg] 2011-08-19 07:17:24 PDT
http://hg.mozilla.org/mozilla-central/rev/0ecd5149132c

Note You need to log in before you can comment on or make changes to this bug.