[WebRender] Page content is displayed in tab bar

VERIFIED FIXED in Firefox 65



6 months ago
3 months ago


(Reporter: ugzuzg, Assigned: emilio)


(Blocks: 2 bugs, {nightly-community, regression})

64 Branch
nightly-community, regression
Dependency tree / graph
Bug Flags:
in-testsuite +

Firefox Tracking Flags

(firefox-esr60 unaffected, firefox62 unaffected, firefox63 unaffected, firefox64 disabled, firefox65 verified, firefox66 verified)




(8 attachments)



6 months ago
User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:64.0) Gecko/20100101 Firefox/64.0

Steps to reproduce:

1. Set gfx.webrender.all = true
2. Open https://www.gog.com/game/the_witcher_3_wild_hunt_game_of_the_year_edition
3. Scroll the page so that the Play video icon will be behind tab bar

Disabling css on the element `filter: drop-shadow(0 0 2px rgba(0,0,0,.75))` prevents this from happening.

Firefox Nigtly 64.0a1 (2018-10-02) (64-bit)

Actual results:

The shadow is displayed on top of tab bar

Expected results:

Tab bar should not be affected by the content on the page
Blocks: 1386669
status-firefox64: --- → affected
Component: Untriaged → Graphics: WebRender
Product: Firefox → Core

mozregression --good 2018-09-15 --bad 2018-10-02 --pref gfx.webrender.all:true -a https://addons.mozilla.org/en-US/firefox/addon/starry-space-fantasy/ -a https://www.gog.com/game/the_witcher_3_wild_hunt_game_of_the_year_edition
> 9:10.54 INFO: Last good revision: 0fcb85b4c2f2580df3de46af1c10b260dd156a44
> 9:10.54 INFO: First bad revision: f1dcdcc1674b19b6384f7354c4ac8a0f6896a1e5
> 9:10.54 INFO: Pushlog:
> https://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=0fcb85b4c2f2580df3de46af1c10b260dd156a44&tochange=f1dcdcc1674b19b6384f7354c4ac8a0f6896a1e5

> f1dcdcc1674b	Jeff Muizelaar — Bug 1494898. Re-generate FFI header
> 85ee60997e57	Jeff Muizelaar — Bug 1494836. Replace NormalizedRect for visible area. r=mstange
> ab5269bd3c21	Jeff Muizelaar — Bug 1494898. Update webrender to commit d7a6d081384ce0da9dd359b0cf4b9f758aab1b67

Regression range: https://github.com/servo/webrender/compare/0d2e9611c07e04ac830277f16a3b46bf125b9e7c...d7a6d081384ce0da9dd359b0cf4b9f758aab1b67

The only try build: https://github.com/servo/webrender/pull/3137#issuecomment-425263305
mozregression --repo try --launch a02e214f9a6ee5d101dd2708536e6a245340a6cb --pref gfx.webrender.all:true -a https://addons.mozilla.org/en-US/firefox/addon/starry-space-fantasy/ -a https://www.gog.com/game/the_witcher_3_wild_hunt_game_of_the_year_edition
Blocks: 1494898, 1423269
Has Regression Range: --- → yes
Has STR: --- → yes
status-firefox62: --- → unaffected
status-firefox63: --- → unaffected
status-firefox-esr60: --- → unaffected
status-geckoview62: --- → unaffected
Ever confirmed: true
Keywords: nightly-community, regression
Priority: -- → P2

Comment 2

6 months ago
I tested this with Gecko built against current WR master, and can't reproduce. Let's test again once the next WR update lands and see if it's still occurring on your machine.
I'm not able to repro with "64.0a1 (2018-10-22) (64-bit)" on Linux
status-firefox64: affected → disabled
status-firefox65: --- → affected
status-geckoview62: unaffected → ---
Duplicate of this bug: 1502442
Posted file wr-capture.zip
This capture reproduces the issue
Flags: needinfo?(kvark)
Duplicate of this bug: 1494699
Duplicate of this bug: 1512865

Comment 10

4 months ago
I should be able to debug this hopefully, I'll let you know if not. Hopefully you don't mind Dzmitry :)
Assignee: nobody → emilio
Flags: needinfo?(emilio)
Thanks Emilio!
Flags: needinfo?(dmalyshau)

Comment 12

3 months ago
The overflow: hidden clip should prevent the shadow from rendering, yet it doesn't.

This doesn't require the whole browser, which means that I should be able to build a pretty reduced test-case with yaml to debug locally.

Comment 13

3 months ago
Posted file Funnier test-case.
This shows the bug way more clearly, though probably has a bit more complexity due to the scrollbars and such.

Comment 14

3 months ago
So, there are multiple issues. This seems related to bug 1459065 and such, just that with drop-shadows, explicitly providing a clip does not quite work.

So I reduced this to the following test-case. Un-commenting the clip-node: 2 line should be a no-op, but causes WR to create an isolated surface and makes the blur example pass. But that doesn't work for drop-shadow, for some reason. There are quite a few drop-shadow special-cases in WR, so I still haven't figured out which one is the codepath. But this behavior is really weird.

Comment 15

3 months ago
Ok, I think I found it...

Comment 16

3 months ago
Posted file GitHub Pull Request
Flags: needinfo?(emilio)


3 months ago
Last Resolved: 3 months ago
Resolution: --- → FIXED
This feels like something we may want to land on 65 as well for the users being opted into the WR studies. Do you agree?
status-firefox66: --- → fixed
Flags: needinfo?(emilio)
Target Milestone: --- → mozilla66

Comment 18

3 months ago
Comment on attachment 9031581 [details] [review]
GitHub Pull Request

[Beta/Release Uplift Approval Request]

Feature/Bug causing the regression: Bug 1494898

User impact if declined: Tab bar may show drop shadows from content.

Is this code covered by automated tests?: Yes

Has the fix been verified in Nightly?: Yes

Needs manual test from QE?: Yes

If yes, steps to reproduce: Test-cases attached to this bug.

List of other uplifts needed: None

Risk to taking this patch: Low

Why is the change risky/not risky? (and alternatives if risky): The fix ended up being very trivial.

String changes made/needed: none
Flags: needinfo?(emilio)
Attachment #9031581 - Flags: approval-mozilla-beta?

Comment 19

3 months ago
(I agree)
Comment on attachment 9031581 [details] [review]
GitHub Pull Request

OK for uplift so we can see the results for users with webrender on 65.
Attachment #9031581 - Flags: approval-mozilla-beta? → approval-mozilla-beta+

Comment 22

3 months ago
Hi Everyone, I managed to reproduce this issue in older version of Nightly but it no longer occurs in 66.0a1 (2018-12-20), I Do have 1 problem though, I cannot enable WebRender in beta 65.0b6 on Ubuntu 18.04 or 16.04, I can enable it on my Windows 10 machine with Nvidia Gt730 but Ubuntu would only show OpenGL.

I also tried gfx.webrender.all - true as well as gfx.webrender.all.qualified - true

I did test this issue with OpenGL and I cannot reproduce it in BETA but then again without WebRender on I couldnt reproduce it anywhere.

Please let me know how I can enable WebRender in Beta on Ubuntu machines.
status-firefox66: fixed → verified
Flags: needinfo?(emilio)

Comment 23

3 months ago
I think gfx.webrender.all should be all you need, but maybe you also need layers.acceleration.force-enabled?

Jeff, are you aware of anything else that could be needed?
Flags: needinfo?(emilio) → needinfo?(jmuizelaar)

Comment 24

3 months ago
Even with layers.acceleration.force-enabled - true i'm still seeing OpenGl in composition.
gfx.webrender.all does nothing on Beta. You would need to run with the MOZ_WEBRENDER=1 AND MOZ_ACCELERATED=1 environment variables.
Flags: needinfo?(jmuizelaar)

Comment 26

3 months ago
Thanks for the info, after running MOZ_WEBRENDER=1 MOZ_ACCELERATED=1 ./firefox I did manage to enable WebRender in the latest beta Build and this issue no longer occurs. I will mark this issue accordingly.
status-firefox65: fixed → verified
You need to log in before you can comment on or make changes to this bug.