Closed Bug 1496019 Opened 6 years ago Closed 5 years ago

[WebRender] Page content is displayed in tab bar

Categories

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

64 Branch
defect

Tracking

()

VERIFIED FIXED
mozilla66
Tracking Status
firefox-esr60 --- unaffected
firefox62 --- unaffected
firefox63 --- unaffected
firefox64 --- disabled
firefox65 --- verified
firefox66 --- verified

People

(Reporter: ugzuzg, Assigned: emilio)

References

(Blocks 1 open bug, )

Details

(Keywords: nightly-community, regression)

Attachments

(8 files)

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
Component: Untriaged → Graphics: WebRender
Product: Firefox → Core
Thanks!

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
bad
Status: UNCONFIRMED → NEW
Has Regression Range: --- → yes
Has STR: --- → yes
Ever confirmed: true
Priority: -- → P2
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.
QA Contact: mreavy
I'm not able to repro with "64.0a1 (2018-10-22) (64-bit)" on Linux
Attached file wr-capture.zip
This capture reproduces the issue
Flags: needinfo?(kvark)
I should be able to debug this hopefully, I'll let you know if not. Hopefully you don't mind Dzmitry :)
Assignee: nobody → emilio
Status: NEW → ASSIGNED
Flags: needinfo?(emilio)
Thanks Emilio!
Flags: needinfo?(dmalyshau)
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.
Attached file Funnier test-case.
This shows the bug way more clearly, though probably has a bit more complexity due to the scrollbars and such.
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.
Ok, I think I found it...
Attached file GitHub Pull Request
Flags: needinfo?(emilio)
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Status: RESOLVED → VERIFIED
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?
Flags: needinfo?(emilio)
Target Milestone: --- → mozilla66
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?
(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+
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.
Flags: needinfo?(emilio)
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)
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)
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.
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: