Closed Bug 1636004 Opened 4 years ago Closed 4 years ago

Ensure frames are up to date when initializing a XUL browser element.

Categories

(Core :: DOM: Navigation, defect)

defect

Tracking

()

RESOLVED FIXED
mozilla78
Tracking Status
firefox78 --- fixed

People

(Reporter: emilio, Assigned: emilio)

References

Details

Attachments

(1 file)

No description provided.

With LazyFC in the parent process enabled, we can get here more easily
without frames for the <browser> element.

This causes some assertion failures because we start parenting the
remote browsers to the wrong layer manager when inside a popup.

If we get to nsFrameLoader::TryRemoteBrowser without a frame,
GetLayerManager (which uses GetWidgetForContent) will just fall back to
GetWidgetForDocument. Badness ensues if the widget should actually not
be that one.

Make sure to flush frames when we load an event, so that we can
initialize stuff properly.

We could try to only flush if inside a popup or something, but this code
is a bit tricky so if possible I'd prefer not to diverge.

Pushed by ealvarez@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/43625f3bc860
Flush frames in nsFrameLoader::TryRemoteBrowser. r=mattwoodrow
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla78
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: