Make nsGlobalWindowInner::Suspend/Resume work for nested in-process modal event loops in fission world
Categories
(Core :: DOM: Window and Location, defect, P2)
Tracking
()
Tracking | Status | |
---|---|---|
firefox88 | --- | fixed |
People
(Reporter: hiro, Assigned: edgar)
References
(Blocks 1 open bug)
Details
Attachments
(1 file)
(deleted),
text/x-phabricator-request
|
Details |
Assignee | ||
Updated•4 years ago
|
Reporter | ||
Comment 1•4 years ago
|
||
These functions are also used for session history.
Updated•4 years ago
|
Comment 2•4 years ago
|
||
The BFCache case can probably be handled separately, by calling nsGlobalWindowInner::Suspend/Resume
in every process when the document enters the BFCache, and can be fixed in a separate bug.
We should probably make sure that we handle cases like a.com -iframe> b.com -iframe> a.com
by suspending/resuming both a.com
frames.
Comment 3•4 years ago
|
||
This bug doesn't need to block Fission Nightly. Tracking for Fission riding the trains to Beta (M7).
Updated•4 years ago
|
Updated•4 years ago
|
Comment 4•4 years ago
|
||
Jens, can someone from the DOM Core team work on this?
Assignee | ||
Updated•4 years ago
|
Assignee | ||
Comment 5•4 years ago
|
||
(In reply to Nika Layzell [:nika] (ni? for response) from comment #2)
We should probably make sure that we handle cases like
a.com -iframe> b.com -iframe> a.com
by suspending/resuming botha.com
frames.
nsGlobalWindowInner::Suspend/Resume
has already suspended/resumed all in-process child in
- https://searchfox.org/mozilla-central/rev/26330a08b1f9d06938faa0aa5e0f8c7a58064aa2/dom/base/nsGlobalWindowInner.cpp#5462
- https://searchfox.org/mozilla-central/rev/26330a08b1f9d06938faa0aa5e0f8c7a58064aa2/dom/base/nsGlobalWindowInner.cpp#5509
Nika, do we need to do something more in this bug? Thanks!
Comment 6•4 years ago
|
||
(In reply to Edgar Chen [:edgar] from comment #5)
(In reply to Nika Layzell [:nika] (ni? for response) from comment #2)
We should probably make sure that we handle cases like
a.com -iframe> b.com -iframe> a.com
by suspending/resuming botha.com
frames.
nsGlobalWindowInner::Suspend/Resume
has already suspended/resumed all in-process child in
- https://searchfox.org/mozilla-central/rev/26330a08b1f9d06938faa0aa5e0f8c7a58064aa2/dom/base/nsGlobalWindowInner.cpp#5462
- https://searchfox.org/mozilla-central/rev/26330a08b1f9d06938faa0aa5e0f8c7a58064aa2/dom/base/nsGlobalWindowInner.cpp#5509
Nika, do we need to do something more in this bug? Thanks!
That method doesn't handle cases such as the one which I mention in my comment, as CallOnAllInProcessChildren
won't recurse into in-process subframes of out-of-process subframes. IIRC fixing that behaviour to correctly freeze everything in the same window agent is the purpose of this bug.
Assignee | ||
Comment 7•4 years ago
|
||
Yeah, right. Thanks!
Updated•4 years ago
|
Assignee | ||
Comment 8•4 years ago
|
||
Assignee | ||
Comment 9•4 years ago
|
||
Assignee | ||
Comment 10•4 years ago
|
||
Assignee | ||
Comment 11•4 years ago
|
||
Comment 12•4 years ago
|
||
Comment 13•4 years ago
|
||
bugherder |
Description
•