Open Bug 1260828 Opened 8 years ago Updated 2 years ago

Remove the chromium event loop

Categories

(Core :: IPC, defect, P3)

defect

Tracking

()

People

(Reporter: khuey, Unassigned)

References

(Depends on 1 open bug)

Details

(Whiteboard: btpp-backlog)

Our unholy combination of different event loops is an enormous pain, leading to everything from confusion (should I be using nsIRunnable or Task?) to outright bugs (when people don't realize that events of different types aren't necessarily ordered, or that PostDelayedTask is ... weird). We will unify around the XPCOM event loop/thread/etc machinery.
Whiteboard: btpp-active
Depends on: 1265951
On XPCOM threads, the chromium event loop now just passes through dispatches to the XPCOM event queue.

For threads that are not XPCOM threads, we should make them XPCOM threads.  For the chromium threads that need special event processing logic (e.g. the IO thread, the miscellaneous UI threads) we should dispatch a runnable that runs some custom logic and calls NS_Process[Next|Pending]Events when appropriate to run the XPCOM event queue.
Assignee: khuey → nobody
Priority: -- → P2
Whiteboard: btpp-active → btpp-backlog
Priority: P2 → P3
Depends on: 1634253
Depends on: 1634846
Depends on: 1635001
Depends on: 1635390
Depends on: 1649671
Depends on: 1649684
Depends on: 1649685
Depends on: 1649977
Depends on: 1650277
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.