Closed Bug 528147 Opened 15 years ago Closed 14 years ago

Stop using the chromium UI MessageLoop on the XPCOM thread

Categories

(Core :: IPC, defect)

defect
Not set
normal

Tracking

()

RESOLVED WONTFIX

People

(Reporter: cjones, Unassigned)

References

Details

AFAICT, this was done because we had originally expected to use the chromium IPC code as-is, and that code posts IPC messages to be processed back to the "UI" thread.  But IPDL uses its own message processors, AsyncChannel et al., and these can easily be modified to post back to the XPCOM event loop.

bent, can you think of any other reasons we use the UI MessageLoop?
There are about a gabillion places in chromium code that do things like |MessageLoop::current()->foo()| which will cease to function if we try. As long as we're using chromium at all I think we're stuck.
That we call on the XPCOM thread?
Oh ... there's PostTask(), when we need to tell the IO thread to do something.  That takes a Location parameter that ends up touching thread storage.  But this should be easy to disable or fake.
Is this still blocking bug 528146?
We are exclusively using the chromium UIMessageLoop now, since plugin processes at least don't have an XPCOM message loop at all.
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.