Closed Bug 1458373 Opened 6 years ago Closed 6 years ago

WebRender renders part of the page outside the page boundary in the browser chrome

Categories

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

Unspecified
All
defect

Tracking

()

RESOLVED FIXED
Tracking Status
firefox-esr52 --- unaffected
firefox-esr60 --- disabled
firefox59 --- disabled
firefox60 --- disabled
firefox61 --- disabled

People

(Reporter: code, Assigned: kvark)

References

()

Details

(Keywords: correctness, nightly-community)

Attachments

(2 files)

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:61.0) Gecko/20100101 Firefox/61.0 Build ID: 20180427102245 Steps to reproduce: Visit http://diana-adrianne.com/purecss-francine/ and scroll down until the head intersects the top of the window. Actual results: Parts of the hair were rendered as colored rectangles in the URL / tab bar. Expected results: The image should be confined to the boundaries of the page.
I can reproduce this bug by enabling WebRender with gfx.webrender.all pref = true in Firefox Nightly 61 on Windows 10.
Status: UNCONFIRMED → NEW
Component: Untriaged → Graphics: WebRender
Ever confirmed: true
Product: Firefox → Core
Summary: Firefox nightly renders part of the page outside the page boundary → WebRender renders part of the page outside the page boundary in the browser chrome
This probably has the same cause as bug 1455839.
(In reply to Markus Stange [:mstange] from comment #2) > This probably has the same cause as bug 1455839. = servo/webrender#2707. Indeed: try builds from bug 1457891: > WR @ 4b65822a2f7e1fed246a492f9fe193ede2f37d74 mozregression --repo try --launch c02f2c9507c6524a05a04c40b78b8c741e7a5010 --pref gfx.webrender.all:true startup.homepage_welcome_url:'http://diana-adrianne.com/purecss-francine/' bad > WR @ a2dec3b0aea6b719325946a1b855df49ab33a3c9 mozregression --repo try --launch 9dab22f0fa803da8a1267b36bc32f026ab5b78bc --pref gfx.webrender.all:true startup.homepage_welcome_url:'http://diana-adrianne.com/purecss-francine/' better: Those huge rectangles are gone. https://github.com/servo/webrender/compare/4b65822a2f7e1fed246a492f9fe193ede2f37d74...a2dec3b0aea6b719325946a1b855df49ab33a3c9
Depends on: 1457891
OS: Unspecified → All
Version: 61 Branch → Trunk
See Also: → 1459187
See Also: → 1459195
Bug 1455839 is fixed now, can you still reproduce this?
Flags: needinfo?(code)
I can still reproduce it on the latest nightly (62.0a1 2018-05-24) but it's not nearly as many shapes clipping, so the situation has improved at least. The test cases on the other bug behave correctly now, so this is some narrower edge case. I've reduced the Francine page to a minimal case that reproduces it, it looks like it might have to do the interaction of "transform" with the clipping.
Flags: needinfo?(code)
Do you have a theme enabled in the browser? If so, which one?
Oh yes, good point, I do have a theme: https://addons.mozilla.org/en-US/firefox/addon/steven-universe-sky/. I just checked and the first 5 other themes I tried also caused the issue.
(For the record I can also reproduce this with the theme applied, and sidebars turned off).
see also bug 1462955
Dzmitry is looking at the WR issue, so parking this bug with him for now.
Assignee: nobody → kvark
Looks like Gecko doesn't link the content item's clip chain to the content IFrame's clip chain. More details here: https://github.com/servo/webrender/issues/2834#issuecomment-403044750
I can't seem to reproduce this issue any more. I can still repro bug 1462955 though (which is what comment 12 is referring to, since that was the result of investigation from a capture of that bug, not this one). I'll see if I can find a fix window for this bug.
The reduced test case was fixed by: * 686eca6e Auto merge of #2864 - kvark:osx-intel-comparison, r=nical |\ | * e81c498e Work around OSX/Intel shader bug with integer comparison * 209c94ba Auto merge of #2863 - zakorgy:move-query, r=kvark * 9821ea14 Move query.rs in the device folder so servo/webrender#2684. But that's specific to OSX/Intel, and the reduced test case. Sadly I can still repro a problem on the original URL in latest nightly. STR: 1. Go to https://addons.mozilla.org/en-US/firefox/addon/steven-universe-sky/ and click "tap to preview" 2. Go to http://diana-adrianne.com/purecss-francine/ and resize the browser window so it's around 500 pixels tall, and then scroll down slowly so that the top of the forehead is at the bottom of the URL bar. In my case I see a couple of brown segments on top of URL bar. If I click or otherwise trigger a repaint (by switching tabs, or alt+tab away and back) then the problem disappears. So it seems related to having an async scroll offset.
I can sort of reproduce it on Linux too, except there it's the green headband that shows up over top of the URL bar. The super-sluggish scrolling makes it hard to repro exactly but I'll try to reduce the page a bit to make it easier.
I reduced it to the point where scrolling is a lot easier and I can easily repro on Linux. New STR: 1. Clone https://github.com/staktrace/purecss-francine and open the index.html file in a WR-enabled nightly (Linux works) 2. Go to https://addons.mozilla.org/en-US/firefox/addon/steven-universe-sky/ and install the theme. 3. Switch back to the purecss-francine tab, and mousewheel-scroll down to the point where the green band intersects the URL bar. Part of the green band appears in the URL bar area but as soon as you click anywhere in the content area, we repaint and the anomaly disappears. AFAICT the anomaly is only visible while we have an async scroll in effect.
I filed https://github.com/servo/webrender/issues/2914 to track this issue. It has a different root cause from bug 1462955 which is now fixed upstream.
I'm bumping to trains.
Blocks: stage-wr-trains
No longer blocks: stage-wr-nightly
Looks like 2914 has been closed, and I can't reproduce this any more (with the reduced, or the original testcase).
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: