mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-24 05:11:16 +00:00
9e235485ec
Remote browsers are fully hidden by default. The only place we mark them as visible is in nsDisplayRemote::CreateWebRenderCommands https://searchfox.org/mozilla-central/rev/b3933df6e119bd6caf5d9e5868670348ec26dee3/layout/generic/nsSubDocumentFrame.cpp#1363 and we create a WebRenderUserData item there that marks the remote browser hidden in its destructor https://searchfox.org/mozilla-central/rev/b3933df6e119bd6caf5d9e5868670348ec26dee3/gfx/layers/wr/WebRenderUserData.cpp#426 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. Differential Revision: https://phabricator.services.mozilla.com/D135575 |
||
---|---|---|
.. | ||
base | ||
build | ||
docs | ||
forms | ||
generic | ||
inspector | ||
ipc | ||
mathml | ||
media | ||
painting | ||
printing | ||
reftests | ||
style | ||
svg | ||
tables | ||
tools | ||
xul | ||
moz.build |