Bug 1617138 [wpt PR 21919] - Align <pattern> and <*Gradient> attribute collection, a=testonly
authorFredrik Söderquist <fs@opera.com>
Wed, 26 Feb 2020 10:41:12 +0000
changeset 515802 d311cf519c8dd668d6faaecd18bf48e36737a48b
parent 515801 0c7f8f07b238b012ef758b5322e59ef141482e07
child 515803 2c2e85318ea91eb5a7f767b07e75a64edfcd7470
push id37162
push usernbeleuzu@mozilla.com
push dateThu, 27 Feb 2020 09:49:56 +0000
treeherdermozilla-central@9e8d5431c412 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerstestonly
bugs1617138, 21919, 109212, 968924, 743900
milestone75.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1617138 [wpt PR 21919] - Align <pattern> and <*Gradient> attribute collection, a=testonly Automatic update from web-platform-tests Align <pattern> and <*Gradient> attribute collection Currently we stop collection of the pattern attributes if one of the <pattern>s that is inherited from is not in the layout tree (but still use the result). For gradients this cause the generation of the paint server to fail (triggering fallback if available). So consider a missing LayoutObject the same as a missing element in the various Collect...Attributes implementations, essentially ignoring the reference. This also aligns our behavior with that of Gecko. Add const qualification to the CollectGradientAttributes() methods. Bug: 109212 Change-Id: Ie8a22664c4dc37ebc10fb02f18e1176a9d41a0e0 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/968924 Reviewed-by: Philip Rogers <pdr@chromium.org> Commit-Queue: Fredrik Söderquist <fs@opera.com> Cr-Commit-Position: refs/heads/master@{#743900} -- wpt-commits: 45d0e5e00724e4a3bf10b676d09d5b93c814e622 wpt-pr: 21919
testing/web-platform/tests/svg/pservers/reftests/gradient-inheritance-not-in-rendertree-01.tentative.svg
testing/web-platform/tests/svg/pservers/reftests/gradient-inheritance-not-in-rendertree-02.tentative.svg
testing/web-platform/tests/svg/pservers/reftests/pattern-inheritance-not-in-rendertree-01.tentative.svg
testing/web-platform/tests/svg/pservers/reftests/pattern-inheritance-not-in-rendertree-02.tentative.svg
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/svg/pservers/reftests/gradient-inheritance-not-in-rendertree-01.tentative.svg
@@ -0,0 +1,15 @@
+<svg xmlns="http://www.w3.org/2000/svg"
+     xmlns:xlink="http://www.w3.org/1999/xlink"
+     xmlns:h="http:/www.w3.org/1999/xhtml">
+  <title>&#x3c;linearGradient&#x3e; (without content) inheriting from a &#x3c;linearGradient&#x3e; in an invalid context</title>
+  <h:link rel="help" href="https://svgwg.org/svg2-draft/pservers.html#StopNotes"/>
+  <h:link rel="match" href="reference/green-100x100.svg"/>
+  <linearGradient id="linearGradient1" xlink:href="#linearGradient0"/>
+  <rect width="100" height="100" fill="green"/>
+  <rect width="100" height="100" fill="url(#linearGradient1) yellow"/>
+  <text>
+    <linearGradient id="linearGradient0">
+      <stop stop-color="orange"/>
+    </linearGradient>
+  </text>
+</svg>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/svg/pservers/reftests/gradient-inheritance-not-in-rendertree-02.tentative.svg
@@ -0,0 +1,16 @@
+<svg xmlns="http://www.w3.org/2000/svg"
+     xmlns:xlink="http://www.w3.org/1999/xlink"
+     xmlns:h="http:/www.w3.org/1999/xhtml">
+  <title>&#x3c;linearGradient&#x3e; (with content) inheriting from a &#x3c;linearGradient&#x3e; in an invalid context</title>
+  <h:link rel="help" href="https://svgwg.org/svg2-draft/pservers.html#StopNotes"/>
+  <h:link rel="match" href="reference/green-100x100.svg"/>
+  <linearGradient id="linearGradient1" xlink:href="#linearGradient0">
+    <stop stop-color="green"/>
+  </linearGradient>
+  <rect width="100" height="100" fill="url(#linearGradient1) yellow"/>
+  <text>
+    <linearGradient id="linearGradient0">
+      <stop stop-color="orange"/>
+    </linearGradient>
+  </text>
+</svg>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/svg/pservers/reftests/pattern-inheritance-not-in-rendertree-01.tentative.svg
@@ -0,0 +1,13 @@
+<svg xmlns="http://www.w3.org/2000/svg"
+     xmlns:xlink="http://www.w3.org/1999/xlink"
+     xmlns:h="http:/www.w3.org/1999/xhtml">
+  <title>&#x3c;pattern&#x3e; (without content) inheriting from a &#x3c;pattern&#x3e; in an invalid context</title>
+  <h:link rel="match" href="reference/green-100x100.svg"/>
+  <pattern id="pattern1" xlink:href="#pattern0" width="1" height="1"/>
+  <rect width="100" height="100" fill="url(#pattern1) green"/>
+  <text>
+    <pattern id="pattern0">
+      <rect width="100" height="100" fill="orange"/>
+    </pattern>
+  </text>
+</svg>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/svg/pservers/reftests/pattern-inheritance-not-in-rendertree-02.tentative.svg
@@ -0,0 +1,15 @@
+<svg xmlns="http://www.w3.org/2000/svg"
+     xmlns:xlink="http://www.w3.org/1999/xlink"
+     xmlns:h="http:/www.w3.org/1999/xhtml">
+  <title>&#x3c;pattern&#x3e; (with content) inheriting from a &#x3c;pattern&#x3e; in an invalid context</title>
+  <h:link rel="match" href="reference/green-100x100.svg"/>
+  <pattern id="pattern1" xlink:href="#pattern0" width="1" height="1">
+    <rect width="100" height="100" fill="green"/>
+  </pattern>
+  <rect width="100" height="100" fill="url(#pattern1) yellow"/>
+  <text>
+    <pattern id="pattern0">
+      <rect width="100" height="100" fill="orange"/>
+    </pattern>
+  </text>
+</svg>