Closed Bug 1390741 Opened 7 years ago Closed 7 years ago

webrender: panels of remote webextensions are white

Categories

(Core :: Graphics: WebRender, defect, P1)

Unspecified
Windows 10
defect

Tracking

()

VERIFIED FIXED
mozilla58
Tracking Status
firefox56 --- unaffected
firefox57 --- unaffected
firefox58 --- fixed

People

(Reporter: jan, Assigned: sotaro)

References

Details

(Keywords: nightly-community, Whiteboard: [wr-mvp][gfx-noted])

Attachments

(1 file, 4 obsolete files)

Nightly 57 x64 20170815100349 @ Debian Testing with webrender+servo enabled

STR:
1. Install the latest "pure webext version" from https://addons.mozilla.org/de/firefox/addon/ublock-origin/versions/beta

2. set
gfx.webrender.enabled;true
extensions.webextensions.remote;true (default)
and click on Ublock Origin's icon: the bubble is white, but you can hover things

3. set extensions.webextensions.remote;false
Now we can see its contents.

Please correct the bug title if you have more appropriate words for it or mark this as duplicate. I haven't found a bug with this search terms and also nothing open that blocked webrender. I might have tomatoes on my eyes.
(comment 0 = fresh profile on Windows 10)
I can't reproduce it in Nightly 57 x64 20170815100349 @ Debian Testing
and couldn't test it on a Mac of a friend yet.
Has STR: --- → yes
OS: Unspecified → Windows 10
On my Mac I can see the contents of the popup with webrender + remote webextensions turned on. (Note that remote webextensions is off by default on OS X, it's only on by default on Windows). I can reproduce the behaviour on Windows though.
(In reply to Jan Andre Ikenmeyer [:darkspirit] from comment #0)
> Nightly 57 x64 20170815100349 @ Debian Testing with webrender+servo enabled
I meant "Windows 10" there. I was tired, sorry.
See Also: → 1395592
Priority: P3 → P2
Whiteboard: [wr-mvp]
Whiteboard: [wr-mvp] → [wr-mvp][gfx-noted]
Assignee: nobody → sotaro.ikeda.g
Status: NEW → ASSIGNED
Priority: P2 → P1
This is a transparent window's problem. Gecko does not support accelerated composition with transparent windows. Non webrender case, it fallback to BasicCompositor. But in WebRender case, it fallback to BasicLayerManager, since WebRender does not support  software composition nor support of mixed usage of ClientLayerManager and WebRenderLayerManager.

Then if panels of remote webextensions is loaded in content process, its rendering is not connected to Compositor.
There seems to be 2 ways to solve the problem.
[1] Disable remote webextensions
[2] Add support of mixed usage of WebRender and BasicCompositor(only for transparent window).

[1] seems not ideal. [2] seems better solution, but it might becomes a bit complex.
(This reminds me of bug 1377321.)
(In reply to Jan Andre Ikenmeyer [:darkspirit] from comment #8)
> (This reminds me of bug 1377321.)

Yes, it is also try to do similar thing. Bug 1333122 already did preparation work for [2].
(In reply to Sotaro Ikeda [:sotaro] from comment #9)
> (In reply to Jan Andre Ikenmeyer [:darkspirit] from comment #8)
> > (This reminds me of bug 1377321.)
> 
> Bug 1333122 already did preparation work for [2].

But some implementation was removed by Bug 1351384. Current gecko controls and checks more about how LayerManager is created by puppet widget. Then we could try the way again, I think.
Attachment #8924494 - Flags: review?(bugmail)
Comment on attachment 8924494 [details] [diff] [review]
patch - Use BasicCompositor if widget type does not support acceleration

Review of attachment 8924494 [details] [diff] [review]:
-----------------------------------------------------------------

The patch looks ok to me. I'd like Andrew to also take a look since he also worked on some of these fallback codepaths.
Attachment #8924494 - Flags: review?(bugmail)
Attachment #8924494 - Flags: review?(aosmond)
Attachment #8924494 - Flags: review+
Comment on attachment 8924494 [details] [diff] [review]
patch - Use BasicCompositor if widget type does not support acceleration

Review of attachment 8924494 [details] [diff] [review]:
-----------------------------------------------------------------

LGTM.
Attachment #8924494 - Flags: review?(aosmond) → review+
Attachment #8924494 - Attachment is obsolete: true
Attachment #8924780 - Flags: review+
Pushed by sikeda@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/2dbd4a1032d0
Use BasicCompositor if widget type does not support acceleration r=aosmond,kats
https://hg.mozilla.org/mozilla-central/rev/2dbd4a1032d0
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla58
Verified fixed in Nightly 58 x64 20171108110838 de_DE @ Windows 10 1709 (Radeon RX480). Thank you!
fresh profile: extensions.webextensions.remote (default), gfx.webrender.enabled

https://addons.mozilla.org/firefox/addon/ublock-origin/ works as intended.
Status: RESOLVED → VERIFIED
See Also: → 1416729
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: