Document splitting fails to render Customizable UI after Bug 1558995
Categories
(Core :: Graphics: WebRender, defect, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox-esr60 | --- | unaffected |
firefox67 | --- | unaffected |
firefox68 | --- | unaffected |
firefox69 | --- | disabled |
firefox70 | --- | fixed |
People
(Reporter: bgrins, Assigned: kats)
References
Details
Attachments
(2 files)
See this discussion: https://phabricator.services.mozilla.com/D34792#inline-208116.
Previously the markup looked like:
<window>
<deck id="content-deck" renderoot="content">
<hbox id="browser" />
<box id="customization-container" />
</deck>
</window>
And then after Bug 1558995 it will look like:
<window>
<hbox id="browser" renderoot="content" />
<box id="customization-container" renderoot="content" />
</window>
If I ./mach run --temp-profile --setpref gfx.webrender.all=true --setpref gfx.webrender.split-render-roots=true
with the change, then the content area continues to render properly, but the Customizable UI doesn't get painted.
One observation I've made is that if I remove renderroot="content" from the #browser element then the web content stops rendering (as expected) but the Customizable UI starts working (both with and without the attribute set on #customization-container).
Updated•6 years ago
|
Comment 2•6 years ago
|
||
Doug: "we just need to add something somewhere in Gecko display list building to appropriately create an nsDisplayRenderRoot for this. It doesn't go through nsBoxFrame. I think it goes through nsFlexContainerFrame? This side of things is a bit outside my knowledge anyway, and I would just be poking around and trying to cargo cult something together."
Updated•6 years ago
|
Assignee | ||
Comment 3•6 years ago
|
||
Indeed, modifying nsFlexContainerFrame::BuildDisplayList wrap stuff in a nsDisplayRenderRoot seems to fix things locally. Will clean my patch a bit and do a try push.
Assignee | ||
Comment 4•6 years ago
|
||
Assignee | ||
Comment 5•6 years ago
|
||
Only the parent process ever respects the renderroot attribute, so we can
add some extra early-exit checks for this. This also adds a bit of safety
for the next patch, to avoid inadvertently exposing renderroot stuff to
web content.
Also, the GetRenderRootForElement function is only ever called by the
GetRenderRootForFrame function, so let's scope it down to avoid doing
unnecessary work.
Assignee | ||
Comment 6•6 years ago
|
||
Depends on D37504
Comment 8•6 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/33dc819da62f
https://hg.mozilla.org/mozilla-central/rev/9e4404e0c267
Description
•