nested SVG <use> with transform renders differently in Gecko vs Blink/WebKit
Categories
(Core :: SVG, defect)
Tracking
()
People
(Reporter: karlcow, Unassigned)
References
()
Details
Attachments
(3 files)
I tried to find an equivalent bug but could not find.
This seems unrelated Bug 1343544 maybe.
| Reporter | ||
Comment 1•3 years ago
|
||
Blink: top left
Gecko: top right
WebKit: bottom
| Reporter | ||
Comment 2•3 years ago
|
||
There is probably a simpler test case to create. This is trying to reproduce what is on the site with less details.
Comment 3•3 years ago
|
||
I think this is because we've implemented SVG 2 use elements and webkit hasn't quite yet.
We do this https://www.w3.org/TR/SVG2/struct.html#UseStyleInheritance
However, if a CSS rule uses a complex selector to match an element based on its ancestors or siblings, and those ancestors or siblings are not cloned as part of the shadow tree, then that rule would no longer match the element instance.
The testcase does seem to have some selectors that do that and that we would therefore ignore.
Comment 4•3 years ago
|
||
Updated•3 years ago
|
Comment 5•3 years ago
•
|
||
Robert's comment 3 seems like the right diagnosis. See my just-attached further-reduce testcase, where Blink and WebKit applies the same "orange" rule to the source element as well as its clone in the use subtree, even though that rule is targeted based on an ancestor-selector for an ancestor that's outside of the use-cloned subtree.
Our behavior here (rendering the reduced testcase's second rect as lime) is correct, per the spec text that Robert quoted.
Description
•