Title: [259562] trunk
Revision
259562
Author
r...@igalia.com
Date
2020-04-05 21:14:17 -0700 (Sun, 05 Apr 2020)

Log Message

Computed style for "outline-offset" is wrong when "outline-style" is "none"
https://bugs.webkit.org/show_bug.cgi?id=209913

Reviewed by Daniel Bates.

LayoutTests/imported/w3c:

Imported css/css-ui/parsing/outline-offset-computed.html from WPT.
And update baselines for web-animations tests.

* web-platform-tests/css/css-ui/parsing/outline-offset-computed-expected.txt: Added.
* web-platform-tests/css/css-ui/parsing/outline-offset-computed.html: Added.
* web-platform-tests/css/css-ui/parsing/w3c-import.log:
* web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-expected.txt:
* web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-expected.txt:
* web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-expected.txt:

Source/WebCore:

Computed style for outline-offset was not returning the proper value
if "outline-style" was "none".
This was due to a check in RenderStyle::outlineOffset()
that this patch removes.

This code could be there because this is needed for "outline-width"
as specified in the spec (https://drafts.csswg.org/css-ui/#outline-props),
however there's nothing about this on the "outline-offset" property.

Test: imported/w3c/web-platform-tests/css/css-ui/parsing/outline-offset-computed.html

* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::outlineOffset const):

LayoutTests:

Update baselines for web-animations tests.

* platform/ios/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-expected.txt:
* platform/ios/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-expected.txt:
* platform/ios/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-expected.txt:

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (259561 => 259562)


--- trunk/LayoutTests/ChangeLog	2020-04-06 04:02:43 UTC (rev 259561)
+++ trunk/LayoutTests/ChangeLog	2020-04-06 04:14:17 UTC (rev 259562)
@@ -1,3 +1,16 @@
+2020-04-05  Manuel Rego Casasnovas  <r...@igalia.com>
+
+        Computed style for "outline-offset" is wrong when "outline-style" is "none"
+        https://bugs.webkit.org/show_bug.cgi?id=209913
+
+        Reviewed by Daniel Bates.
+
+        Update baselines for web-animations tests.
+
+        * platform/ios/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-expected.txt:
+        * platform/ios/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-expected.txt:
+        * platform/ios/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-expected.txt:
+
 2020-04-05  Alexey Shvayka  <shvaikal...@gmail.com>
 
         Octal escapes should be max 3 digits and syntax errors in Unicode patterns

Modified: trunk/LayoutTests/imported/w3c/ChangeLog (259561 => 259562)


--- trunk/LayoutTests/imported/w3c/ChangeLog	2020-04-06 04:02:43 UTC (rev 259561)
+++ trunk/LayoutTests/imported/w3c/ChangeLog	2020-04-06 04:14:17 UTC (rev 259562)
@@ -1,3 +1,20 @@
+2020-04-05  Manuel Rego Casasnovas  <r...@igalia.com>
+
+        Computed style for "outline-offset" is wrong when "outline-style" is "none"
+        https://bugs.webkit.org/show_bug.cgi?id=209913
+
+        Reviewed by Daniel Bates.
+
+        Imported css/css-ui/parsing/outline-offset-computed.html from WPT.
+        And update baselines for web-animations tests.
+
+        * web-platform-tests/css/css-ui/parsing/outline-offset-computed-expected.txt: Added.
+        * web-platform-tests/css/css-ui/parsing/outline-offset-computed.html: Added.
+        * web-platform-tests/css/css-ui/parsing/w3c-import.log:
+        * web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-expected.txt:
+        * web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-expected.txt:
+        * web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-expected.txt:
+
 2020-04-04  Antti Koivisto  <an...@apple.com>
 
         Implement the css-color-4 behavior for inheritance of currentColor

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-ui/parsing/outline-offset-computed-expected.txt (0 => 259562)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-ui/parsing/outline-offset-computed-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-ui/parsing/outline-offset-computed-expected.txt	2020-04-06 04:14:17 UTC (rev 259562)
@@ -0,0 +1,6 @@
+
+PASS Property outline-offset value '10px' computes to '10px' 
+PASS Property outline-offset value '0.5em' computes to '20px' 
+PASS Property outline-offset value 'calc(10px + 0.5em)' computes to '30px' 
+PASS Property outline-offset value 'calc(10px - 0.5em)' computes to '-10px' 
+

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-ui/parsing/outline-offset-computed.html (0 => 259562)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-ui/parsing/outline-offset-computed.html	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-ui/parsing/outline-offset-computed.html	2020-04-06 04:14:17 UTC (rev 259562)
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS UI Level 3: getComputedStyle().outlineOffset</title>
+<link rel="help" href=""
+<meta name="assert" content="outline-offset computed value is absolute length.">
+<script src=""
+<script src=""
+<script src=""
+</head>
+<body>
+<style>
+  #target {
+    font-size: 40px;
+  }
+</style>
+<div id="target"></div>
+<script>
+test_computed_value("outline-offset", "10px");
+test_computed_value("outline-offset", "0.5em", "20px");
+test_computed_value("outline-offset", "calc(10px + 0.5em)", "30px");
+test_computed_value("outline-offset", "calc(10px - 0.5em)", "-10px");
+</script>
+</body>
+</html>

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-ui/parsing/w3c-import.log (259561 => 259562)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-ui/parsing/w3c-import.log	2020-04-06 04:02:43 UTC (rev 259561)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-ui/parsing/w3c-import.log	2020-04-06 04:14:17 UTC (rev 259562)
@@ -24,6 +24,7 @@
 /LayoutTests/imported/w3c/web-platform-tests/css/css-ui/parsing/outline-color-valid-mandatory.html
 /LayoutTests/imported/w3c/web-platform-tests/css/css-ui/parsing/outline-color-valid-optional.html
 /LayoutTests/imported/w3c/web-platform-tests/css/css-ui/parsing/outline-invalid.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-ui/parsing/outline-offset-computed.html
 /LayoutTests/imported/w3c/web-platform-tests/css/css-ui/parsing/outline-offset-invalid.html
 /LayoutTests/imported/w3c/web-platform-tests/css/css-ui/parsing/outline-offset-valid.html
 /LayoutTests/imported/w3c/web-platform-tests/css/css-ui/parsing/outline-style-invalid.html

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-expected.txt (259561 => 259562)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-expected.txt	2020-04-06 04:02:43 UTC (rev 259561)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-expected.txt	2020-04-06 04:14:17 UTC (rev 259562)
@@ -155,8 +155,8 @@
 FAIL outline-color supports animating as color of rgba() assert_equals: The value should be rgb(230, 128, 128) at 0ms expected "rgb(230, 128, 128)" but got "rgba(255, 0, 0, 0.4)"
 FAIL outline-color supports animating as color of hsla() assert_equals: The value should be rgb(230, 128, 128) at 0ms expected "rgb(230, 128, 128)" but got "rgba(255, 0, 0, 0.4)"
 PASS outline-offset (type: length) has testAccumulation function 
-FAIL outline-offset: length assert_equals: The value should be 20px at 0ms expected "20px" but got "0px"
-FAIL outline-offset: length of rem assert_equals: The value should be 20px at 0ms expected "20px" but got "0px"
+FAIL outline-offset: length assert_equals: The value should be 20px at 0ms expected "20px" but got "10px"
+FAIL outline-offset: length of rem assert_equals: The value should be 20px at 0ms expected "20px" but got "10px"
 PASS outline-width (type: length) has testAccumulation function 
 FAIL outline-width: length assert_equals: The value should be 20px at 0ms expected "20px" but got "10px"
 FAIL outline-width: length of rem assert_equals: The value should be 20px at 0ms expected "20px" but got "10px"

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-expected.txt (259561 => 259562)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-expected.txt	2020-04-06 04:02:43 UTC (rev 259561)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-expected.txt	2020-04-06 04:14:17 UTC (rev 259562)
@@ -155,8 +155,8 @@
 FAIL outline-color supports animating as color of rgba() assert_equals: The value should be rgb(230, 128, 128) at 0ms expected "rgb(230, 128, 128)" but got "rgba(255, 0, 0, 0.4)"
 FAIL outline-color supports animating as color of hsla() assert_equals: The value should be rgb(230, 128, 128) at 0ms expected "rgb(230, 128, 128)" but got "rgba(255, 0, 0, 0.4)"
 PASS outline-offset (type: length) has testAddition function 
-FAIL outline-offset: length assert_equals: The value should be 20px at 0ms expected "20px" but got "0px"
-FAIL outline-offset: length of rem assert_equals: The value should be 20px at 0ms expected "20px" but got "0px"
+FAIL outline-offset: length assert_equals: The value should be 20px at 0ms expected "20px" but got "10px"
+FAIL outline-offset: length of rem assert_equals: The value should be 20px at 0ms expected "20px" but got "10px"
 PASS outline-width (type: length) has testAddition function 
 FAIL outline-width: length assert_equals: The value should be 20px at 0ms expected "20px" but got "10px"
 FAIL outline-width: length of rem assert_equals: The value should be 20px at 0ms expected "20px" but got "10px"

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-expected.txt (259561 => 259562)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-expected.txt	2020-04-06 04:02:43 UTC (rev 259561)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-expected.txt	2020-04-06 04:14:17 UTC (rev 259562)
@@ -181,8 +181,8 @@
 PASS outline-color supports animating as color of rgba() 
 PASS outline-color supports animating as color of hsla() 
 PASS outline-offset (type: length) has testInterpolation function 
-FAIL outline-offset supports animating as a length assert_equals: The value should be 30px at 500ms expected "30px" but got "0px"
-FAIL outline-offset supports animating as a length of rem assert_equals: The value should be 30px at 500ms expected "30px" but got "0px"
+PASS outline-offset supports animating as a length 
+PASS outline-offset supports animating as a length of rem 
 PASS outline-width (type: length) has testInterpolation function 
 PASS outline-width supports animating as a length 
 PASS outline-width supports animating as a length of rem 

Modified: trunk/LayoutTests/platform/ios/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-expected.txt (259561 => 259562)


--- trunk/LayoutTests/platform/ios/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-expected.txt	2020-04-06 04:02:43 UTC (rev 259561)
+++ trunk/LayoutTests/platform/ios/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-expected.txt	2020-04-06 04:14:17 UTC (rev 259562)
@@ -155,8 +155,8 @@
 FAIL outline-color supports animating as color of rgba() assert_equals: The value should be rgb(230, 128, 128) at 0ms expected "rgb(230, 128, 128)" but got "rgba(255, 0, 0, 0.4)"
 FAIL outline-color supports animating as color of hsla() assert_equals: The value should be rgb(230, 128, 128) at 0ms expected "rgb(230, 128, 128)" but got "rgba(255, 0, 0, 0.4)"
 PASS outline-offset (type: length) has testAccumulation function 
-FAIL outline-offset: length assert_equals: The value should be 20px at 0ms expected "20px" but got "0px"
-FAIL outline-offset: length of rem assert_equals: The value should be 20px at 0ms expected "20px" but got "0px"
+FAIL outline-offset: length assert_equals: The value should be 20px at 0ms expected "20px" but got "10px"
+FAIL outline-offset: length of rem assert_equals: The value should be 20px at 0ms expected "20px" but got "10px"
 PASS outline-width (type: length) has testAccumulation function 
 FAIL outline-width: length assert_equals: The value should be 20px at 0ms expected "20px" but got "10px"
 FAIL outline-width: length of rem assert_equals: The value should be 20px at 0ms expected "20px" but got "10px"

Modified: trunk/LayoutTests/platform/ios/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-expected.txt (259561 => 259562)


--- trunk/LayoutTests/platform/ios/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-expected.txt	2020-04-06 04:02:43 UTC (rev 259561)
+++ trunk/LayoutTests/platform/ios/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-expected.txt	2020-04-06 04:14:17 UTC (rev 259562)
@@ -155,8 +155,8 @@
 FAIL outline-color supports animating as color of rgba() assert_equals: The value should be rgb(230, 128, 128) at 0ms expected "rgb(230, 128, 128)" but got "rgba(255, 0, 0, 0.4)"
 FAIL outline-color supports animating as color of hsla() assert_equals: The value should be rgb(230, 128, 128) at 0ms expected "rgb(230, 128, 128)" but got "rgba(255, 0, 0, 0.4)"
 PASS outline-offset (type: length) has testAddition function 
-FAIL outline-offset: length assert_equals: The value should be 20px at 0ms expected "20px" but got "0px"
-FAIL outline-offset: length of rem assert_equals: The value should be 20px at 0ms expected "20px" but got "0px"
+FAIL outline-offset: length assert_equals: The value should be 20px at 0ms expected "20px" but got "10px"
+FAIL outline-offset: length of rem assert_equals: The value should be 20px at 0ms expected "20px" but got "10px"
 PASS outline-width (type: length) has testAddition function 
 FAIL outline-width: length assert_equals: The value should be 20px at 0ms expected "20px" but got "10px"
 FAIL outline-width: length of rem assert_equals: The value should be 20px at 0ms expected "20px" but got "10px"

Modified: trunk/LayoutTests/platform/ios/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-expected.txt (259561 => 259562)


--- trunk/LayoutTests/platform/ios/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-expected.txt	2020-04-06 04:02:43 UTC (rev 259561)
+++ trunk/LayoutTests/platform/ios/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-expected.txt	2020-04-06 04:14:17 UTC (rev 259562)
@@ -181,8 +181,8 @@
 PASS outline-color supports animating as color of rgba() 
 PASS outline-color supports animating as color of hsla() 
 PASS outline-offset (type: length) has testInterpolation function 
-FAIL outline-offset supports animating as a length assert_equals: The value should be 30px at 500ms expected "30px" but got "0px"
-FAIL outline-offset supports animating as a length of rem assert_equals: The value should be 30px at 500ms expected "30px" but got "0px"
+PASS outline-offset supports animating as a length 
+PASS outline-offset supports animating as a length of rem 
 PASS outline-width (type: length) has testInterpolation function 
 PASS outline-width supports animating as a length 
 PASS outline-width supports animating as a length of rem 

Modified: trunk/Source/WebCore/ChangeLog (259561 => 259562)


--- trunk/Source/WebCore/ChangeLog	2020-04-06 04:02:43 UTC (rev 259561)
+++ trunk/Source/WebCore/ChangeLog	2020-04-06 04:14:17 UTC (rev 259562)
@@ -1,3 +1,24 @@
+2020-04-05  Manuel Rego Casasnovas  <r...@igalia.com>
+
+        Computed style for "outline-offset" is wrong when "outline-style" is "none"
+        https://bugs.webkit.org/show_bug.cgi?id=209913
+
+        Reviewed by Daniel Bates.
+
+        Computed style for outline-offset was not returning the proper value
+        if "outline-style" was "none".
+        This was due to a check in RenderStyle::outlineOffset()
+        that this patch removes.
+
+        This code could be there because this is needed for "outline-width"
+        as specified in the spec (https://drafts.csswg.org/css-ui/#outline-props),
+        however there's nothing about this on the "outline-offset" property.
+
+        Test: imported/w3c/web-platform-tests/css/css-ui/parsing/outline-offset-computed.html
+
+        * rendering/style/RenderStyle.cpp:
+        (WebCore::RenderStyle::outlineOffset const):
+
 2020-04-05  Peng Liu  <peng.l...@apple.com>
 
         The value of [AVPlayerViewController isPictureInPicturePossible] is NO in the first attempt to enter PiP

Modified: trunk/Source/WebCore/rendering/style/RenderStyle.cpp (259561 => 259562)


--- trunk/Source/WebCore/rendering/style/RenderStyle.cpp	2020-04-06 04:02:43 UTC (rev 259561)
+++ trunk/Source/WebCore/rendering/style/RenderStyle.cpp	2020-04-06 04:14:17 UTC (rev 259562)
@@ -2453,8 +2453,6 @@
 
 float RenderStyle::outlineOffset() const
 {
-    if (m_backgroundData->outline.style() == BorderStyle::None)
-        return 0;
     if (outlineStyleIsAuto() == OutlineIsAuto::On)
         return (m_backgroundData->outline.offset() + RenderTheme::platformFocusRingOffset(outlineWidth()));
     return m_backgroundData->outline.offset();
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to