Replace the frameloader after marking the BC as not being in BFCache anymore
Categories
(Core :: DOM: Navigation, defect, P2)
Tracking
()
Tracking | Status | |
---|---|---|
firefox90 | --- | fixed |
People
(Reporter: peterv, Assigned: peterv)
References
(Blocks 1 open bug)
Details
Attachments
(1 file)
Assignee | ||
Updated•4 years ago
|
Assignee | ||
Comment 1•4 years ago
|
||
The way we do it currently causes us to change focus (as a result of the nsFrameLoaderOwner::ReplaceFrameLoader call) before we marked the BC as not in BFCache. nsFocusManager::IsWindowVisible is false for windows that are in BFCache (they're frozen), and so we set the focus but don't fire any events. When we then mark the BC as 'not in BFCache' we never end up firing the focus event. Postponing the nsFrameLoaderOwner::ReplaceFrameLoader call until after we mark the BC as 'not in BFCache' seems to fix this.
Assignee | ||
Comment 2•4 years ago
|
||
nsFrameLoaderOwner::ReplaceFrameLoader calls nsFocusManager::ActivateRemoteFrameIfNeeded.
If the call to nsFrameLoaderOwner::ReplaceFrameLoader happens before the BC is marked as
not in BFCache, then the focus manager will not fire focus events because the window is
still frozen.
Comment 4•4 years ago
|
||
bugherder |
Description
•