Open Bug 1765432 Opened 2 years ago Updated 2 years ago

Scaled/transformed clip-paths are not rendered correctly

Categories

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

Firefox 100
defect

Tracking

()

People

(Reporter: marc, Assigned: nical, NeedInfo)

References

(Blocks 2 open bugs)

Details

Attachments

(1 file)

Attached file example1.html (deleted) —

Steps to reproduce:

Step 1: Load the attached example1.html file. Wait a few seconds. Clip path should be correctly rendered, showing two animated/moving white "holes" in the red clipped element. See screenshot: https://i.imgur.com/dvZ5Xyd.png

Step 2: Click the "Change scale button" and the clip path will disappear in firefox. The moving white holes correctly show up in chromium, but do not on firefox. This is the way it should look: https://i.imgur.com/suEiAVR.png

Step 3: Click the "Change scale button" again. This will set the scale back to the starting default of 0.05. However, although the clip path was visible the first time you loaded the demo, they are not visible anymore! Where did they go?

Step 4: Open another tab, hiding the example. Wait 5 seconds. Return to the example tab. The clip-path should be visible again. I suspect something about switching tabs resets the dom rendering engine and temporarily fixes the issue.

Actual results:

It seems that in some cases on firefox, changing scale or transform might break or fix clip path rendering. Sometimes the clipped element remains visually unchanged until you change tabs and come back.

Expected results:

Clip paths should render correctly and not disappear under special circumstances.

The Bugbug bot thinks this bug should belong to the 'Core::Graphics: WebRender' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.

Component: Untriaged → Graphics: WebRender
Product: Firefox → Core

Screen recording of issue: https://youtu.be/FFEJDBgicSs

Similar chromium bug thread (likely unrelated): https://bugs.chromium.org/p/chromium/issues/detail?id=1314893

Note: the time-based movement coded in the example is not necessarily a requirement for reproducing the issue. I apologize if that made the example needlessly confusing. Here's code for an example with unchanging translation: https://gist.github.com/MarcGuiselin/eee77b6fc4ce28eb1143108d16c77f4c

I don't see the white rects at all on Windows. Not sure who to forward this too.

Status: UNCONFIRMED → NEW
Ever confirmed: true

Nical, this seems like this is probably blob image related. Want to take a look?

Flags: needinfo?(nical.bugzilla)

I certainly see the bug comparing step 3 and 4. Changing tabs shouldn't be causing it to come back.
I can't say for certain whether step 2 is our bug or chrome's bug.

Severity: -- → S4
Priority: -- → P3
Assignee: nobody → nical.bugzilla
No longer blocks: gfx-triage
Blocks: 1782834
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: