Closed Bug 1037625 Opened 11 years ago Closed 11 years ago

TabChild destruction doesn't let consumers respond to "inner-window-destroyed" notifications before potentially killing the process

Categories

(Core :: DOM: Content Processes, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla36

People

(Reporter: bent.mozilla, Assigned: bent.mozilla)

Details

Attachments

(1 file)

Attached patch Patch, v1Splinter Review
Datastore relies on the "inner-window-destroyed" notification to unregister some message listeners in the parent process. These notifications are generated via an async event, the WindowDestroyedEvent that gets generated in nsGlobalWindow::FreeInnerObjects/NotifyWindowIDDestroyed. This event does not have a chance to run if the TabChild that is being destroyed is the final TabChild for a process. One additional bounce through the event loop of the child is enough to ensure that all async messages like this get delivered.
Attachment #8454650 - Flags: review?(khuey)
Status: ASSIGNED → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla36
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: