Closed Bug 1461313 Opened Last year Closed Last year

Invalid clip-path URI renders content invisible.

Categories

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

defect

Tracking

()

RESOLVED FIXED
mozilla63
Tracking Status
firefox60 --- wontfix
firefox61 --- wontfix
firefox62 --- wontfix
firefox63 --- fixed

People

(Reporter: emilio, Assigned: kats)

References

Details

Attachments

(2 files)

Attached file testcase
While other browsers do not clip the content.
Flags: webcompat?
For me, Firefox doesn't clip away the content of the <body> in that test case.

I don't quite understand why other browsers are producing different computed values for clip-path than Firefox does.  Safari shows none, Chrome and Edge show url("resources.svg#c1").  What am I missing?
Flags: needinfo?(emilio)
handling of invalid references stems from here: https://www.w3.org/Graphics/SVG/Test/20110816/harness/htmlObjectApproved/filters-felem-01-b.html

I think all browsers pass this, they did last I checked.

Not all browsers support external clip paths.
(In reply to Cameron McCormack (:heycam) from comment #1)
> For me, Firefox doesn't clip away the content of the <body> in that test
> case.
> 
> I don't quite understand why other browsers are producing different computed
> values for clip-path than Firefox does.  Safari shows none, Chrome and Edge
> show url("resources.svg#c1").  What am I missing?

gfx.webrender.all = true :)
Component: SVG → Graphics: WebRender
Flags: needinfo?(emilio)
1) Text is always invisible, but it's possible to copy it.
mozregression --good 2017-06-15 --bad 2017-07-15 --pref layers.acceleration.force-enabled:true gfx.webrender.enabled:true gfx.webrendest.enabled:true gfx.webrender.layers-free:true gfx.webrender.blob-images:true webrender.blob-images:true image.mem.shared:true layout.display-list.retain:false startup.homepage_welcome_url:'https://bug1461313.bmoattachments.org/attachment.cgi?id=8975468'
> 7:36.64 INFO: Last good revision: 5954289fc962b185e58ce07c915b48c2aa14dd67
> 7:36.64 INFO: First bad revision: 0f830986336224e5844a938763e59c4cbcd65ab0
> 7:36.64 INFO: Pushlog:
> https://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=5954289fc962b185e58ce07c915b48c2aa14dd67&tochange=0f830986336224e5844a938763e59c4cbcd65ab0

2017-07-01 Prototype of layer free
> 0f8309863362	Ethan Lin — Bug 1372118 - Part3. Implement CreateWebRenderCommands for text, transform and background color. r=jrmuizel, r=kats
> 2b4000907558	Ethan Lin — Bug 1372118 - Part2. Use new interface of CreateWebRenderCommands for non-image display items. r=jrmuizel, r=kats
> 3280d069c650	Ethan Lin — Bug 1372118 - Part1. Have a path to create WebRender commands without layers. r=jrmuizel, r=kats, r=mattwoodrow

---

2) Fine. (Reload button not. And sometimes it was only possible to mark one character.)
mozregression --find-fix --bad 2017-07-16 --good 2017-07-26 --pref layers.acceleration.force-enabled:true gfx.webrender.enabled:true gfx.webrendest.enabled:true gfx.webrender.layers-free:true gfx.webrender.blob-images:true webrender.blob-images:true image.mem.shared:true layout.display-list.retain:false startup.homepage_welcome_url:'https://bug1461313.bmoattachments.org/attachment.cgi?id=8975468'
> 10:46.40 INFO: First good revision: 0e80f3606780c2d6ba84c70443ed9099099d6d8a
> 10:46.40 INFO: Last bad revision: 5b783cc7bb39561a0d5b5d68bc70b8a6e723f4c0
> 10:46.40 INFO: Pushlog:
> https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=5b783cc7bb39561a0d5b5d68bc70b8a6e723f4c0&tochange=0e80f3606780c2d6ba84c70443ed9099099d6d8a

2017-07-20 Process display items inside nsDisplayWrapList for layers-free webrender
> 0e80f3606780	Kartikaya Gupta — Bug 1382744 - Have nsDisplayTransform reuse nsDisplayWrapList::CreateWebRenderCommands. r=ethlin
> 5e9d756f1036	Kartikaya Gupta — Bug 1382744 - Make sure we process nested display items for layers-free webrender mode. r=ethlin

---

3) All text becomes invisible when I try to mark some.
mozregression --good 2017-07-22 --bad 2017-08-05 --pref layers.acceleration.force-enabled:true gfx.webrender.enabled:true gfx.webrendest.enabled:true gfx.webrender.layers-free:true gfx.webrender.blob-images:true webrender.blob-images:true image.mem.shared:true layout.display-list.retain:false startup.homepage_welcome_url:'https://bug1461313.bmoattachments.org/attachment.cgi?id=8975468'
> 8:32.65 INFO: Last good revision: 5f1092d7ac02ba594d1884efdd615ca4bb196193
> 8:32.65 INFO: First bad revision: 8086b15aa74b55cce1d4101eaa41293f88d48c42
> 8:32.65 INFO: Pushlog:
> https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=5f1092d7ac02ba594d1884efdd615ca4bb196193&tochange=8086b15aa74b55cce1d4101eaa41293f88d48c42

2018-08-01 Support mask in layers-free mode
> 8086b15aa74b	Ethan Lin — Bug 1384839 - Part4. Use A8 format when painting mask image. r=kats
> 0f775046102c	Ethan Lin — Bug 1384839 - Part3. Implement nsDisplayMask::CreateWebRenderCommands. r=kats
> 8a64c01f5411	Ethan Lin — Bug 1384839 - Part2. Add BuildWrMaskImage() for creating WrImageMask. r=kats
> 7266739602ca	Ethan Lin — Bug 1384839 - Part1. Extract the generation of fallback data from PushItemAsImage into a helper function to reuse it for mask painting. r=kats

---

4) Fine.
mozregression --find-fix --bad 2017-08-02 --good 2017-08-30 --pref layers.acceleration.force-enabled:true gfx.webrender.enabled:true gfx.webrendest.enabled:true gfx.webrender.layers-free:true gfx.webrender.blob-images:true webrender.blob-images:true image.mem.shared:true layout.display-list.retain:false startup.homepage_welcome_url:'https://bug1461313.bmoattachments.org/attachment.cgi?id=8975468'
> 9:39.01 INFO: First good revision: 0a754c7cc2c56dea371a23bbbb539bcecb279415
> 9:39.01 INFO: Last bad revision: 6ffe8a4a92c77187f8ca298e4fec848a08efd9b3
> 9:39.01 INFO: Pushlog:
> https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=6ffe8a4a92c77187f8ca298e4fec848a08efd9b3&tochange=0a754c7cc2c56dea371a23bbbb539bcecb279415

2017-08-09 JSFiddle content suddenly disappear in layers-free mode.
> 0a754c7cc2c5	Kartikaya Gupta — Bug 1386483 - Push, push, push the clips, caching all the way. r=jrmuizel,mstange
> 9aeb8ecce1a0	Kartikaya Gupta — Bug 1386483 - Split the wr_dp_push_clip method into two to allow reusing clips. r=jrmuizel

---

5) Text is visible, but marked text becomes invisible.
mozregression --repo autoland --good ca7d18dbacbf103d74a3213d8d08a7c3e4def9a2 --bad 176e16629030869dfd6e31e240006f9ea70be2ba --pref layers.acceleration.force-enabled:true gfx.webrender.enabled:true gfx.webrendest.enabled:true gfx.webrender.layers-free:true gfx.webrender.blob-images:true webrender.blob-images:true image.mem.shared:true layout.display-list.retain:false startup.homepage_welcome_url:'https://bug1461313.bmoattachments.org/attachment.cgi?id=8975468'
> 3:32.59 INFO: Last good revision: 83da60c1a86ca2507b16ee047771b6d387ab299d
> 3:32.59 INFO: First bad revision: 804199553c13fd14c266f08cb77816863e60d7f0
> 3:32.59 INFO: Pushlog:
> https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=83da60c1a86ca2507b16ee047771b6d387ab299d&tochange=804199553c13fd14c266f08cb77816863e60d7f0

2017-09-22 Using mask and APZ may produce wrong clipping region
> 804199553c13	Ethan Lin — Bug 1398706 - Always create new clip ids in ScrollingLayersHelper if it's inside a mask. r=kats

---

6) Text is invisible (since then).
mozregression --good 2017-09-25 --bad 2017-10-15 --pref layers.acceleration.force-enabled:true gfx.webrender.enabled:true gfx.webrendest.enabled:true gfx.webrender.layers-free:true gfx.webrender.blob-images:true webrender.blob-images:true image.mem.shared:true layout.display-list.retain:false startup.homepage_welcome_url:'https://bug1461313.bmoattachments.org/attachment.cgi?id=8975468'
> 9:20.58 INFO: Last good revision: 6bec02f9a646f11777dbc12ceeb90af76198242d
> 9:20.58 INFO: First bad revision: 20fa8f7c5cac22579e5acb0a295d127b43ac5c3a
> 9:20.58 INFO: Pushlog:
> https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=6bec02f9a646f11777dbc12ceeb90af76198242d&tochange=20fa8f7c5cac22579e5acb0a295d127b43ac5c3a

2017-10-10
> 20fa8f7c5cac	Kartikaya Gupta — Bug 1405790 - Update some reftest annotations for changes in WR PR 1791. r=Gankro,jrmuizel
> 179ba985f5f9	Lee Salzman — Bug 1405790 - supply FontInstancePlatformOptions to WebRender. r=jrmuizel
> e44d51fdc331	Kartikaya Gupta — Bug 1405790 - Mark some tests as passing from WR cset 90aa4c28. r=Gankro
> 6a308ba5bb93	Kartikaya Gupta — Bug 1405790 - Fix for ClipId change in WR cset b4fbc86. r=Gankro
> 8388d2ebc0d0	Kartikaya Gupta — Bug 1405790 - Update webrender to commit 6440dff485271cdfd24a22c920cea31e01e2b164. r=Gankro

https://github.com/servo/webrender/compare/a884e676449e5b41669cd6de51af14e70cbe3512...6440dff485271cdfd24a22c920cea31e01e2b164
Batch updating status flags based on WR schedule - please adjust if needed.
Confirmed happens on windows, seems serious while potentially easy to fix

P1-nightly
Priority: -- → P1
I started looking into this
Assignee: nobody → bugmail
Flags: webcompat?
Comment on attachment 8989968 [details]
Bug 1461313 - Handle invalid clip-path URIs with WebRender.

https://reviewboard.mozilla.org/r/254978/#review262488
Attachment #8989968 - Flags: review?(mstange) → review+
Pushed by kgupta@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/834bb97af7a4
Handle invalid clip-path URIs with WebRender. r=mstange
https://hg.mozilla.org/mozilla-central/rev/834bb97af7a4
Status: NEW → RESOLVED
Closed: Last year
Resolution: --- → FIXED
Target Milestone: --- → mozilla63
You need to log in before you can comment on or make changes to this bug.