remove redundant calls marking remote browsers as hidden
Categories
(Core :: Web Painting, task)
Tracking
()
Tracking | Status | |
---|---|---|
firefox98 | --- | fixed |
People
(Reporter: tnikkel, Assigned: tnikkel)
References
(Blocks 1 open bug)
Details
Attachments
(1 file)
Assignee | ||
Comment 1•3 years ago
|
||
Remote browsers are fully hidden by default. The only place we mark them as visible is in nsDisplayRemote::CreateWebRenderCommands
and we create a WebRenderUserData item there that marks the remote browser hidden in its destructor
So that will mark it hidden when it's no longer visible. And in fact we destroy the WebRenderUserData table for the frame at both call sites that we are removing in this patch. So there shouldn't be any change with this patch.
I think the way this redundancy came about was because the code was first added for the layers backend in
https://hg.mozilla.org/integration/mozilla-inbound/rev/b81cf35a573e
and that of course doesn't user WebRenderUserdata so it needed to mark remote browsers hidden in its own way.
And then for webrender in
https://hg.mozilla.org/integration/mozilla-inbound/rev/ac0ad5d8e9a5
And then when FrameLayerBuilder was removed they got put together directly
https://hg.mozilla.org/mozilla-central/rev/a95f6a0cd9eb
The reason this is important is for bug 1737503. In that bug we destroy and recreate a remote iframe to handle a style change. If we mark a remote browser as hidden we will draw it as blank for one frame. So instead we want to delay this until the end of the next frame so we don't do that.
Comment 3•3 years ago
|
||
bugherder |
Description
•