Title: [291536] trunk
Revision
291536
Author
[email protected]
Date
2022-03-19 19:18:04 -0700 (Sat, 19 Mar 2022)

Log Message

Fix hasExplicitlySetBorderRadius flag
https://bugs.webkit.org/show_bug.cgi?id=238062

Reviewed by Darin Adler.

Source/WebCore:

The four border-*-radius longhands were sharing the same flag, so the
behavior was broken when setting longhands individually.

This patch splits the flag into 4 different ones, one for each longhand.
Also makes sure to set it properly when a longhand is set to 'initial'.

It's ugly to have all this boilerplate code for the flags, but
https://webkit.org/b/212506 will make it automatically generated.

Test: fast/css/appearance-apple-pay-button-border-radius-longhands.html

* css/CSSProperties.json:
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::RenderStyle):
* rendering/style/RenderStyle.h:
(WebCore::RenderStyle::hasExplicitlySetBorderBottomLeftRadius const):
(WebCore::RenderStyle::hasExplicitlySetBorderBottomRightRadius const):
(WebCore::RenderStyle::hasExplicitlySetBorderTopLeftRadius const):
(WebCore::RenderStyle::hasExplicitlySetBorderTopRightRadius const):
(WebCore::RenderStyle::hasExplicitlySetBorderRadius const):
(WebCore::RenderStyle::setHasExplicitlySetBorderBottomLeftRadius):
(WebCore::RenderStyle::setHasExplicitlySetBorderBottomRightRadius):
(WebCore::RenderStyle::setHasExplicitlySetBorderTopLeftRadius):
(WebCore::RenderStyle::setHasExplicitlySetBorderTopRightRadius):
(WebCore::RenderStyle::NonInheritedFlags::operator== const):
(WebCore::RenderStyle::NonInheritedFlags::copyNonInheritedFrom):
(WebCore::RenderStyle::setHasExplicitlySetBorderRadius): Deleted.
* style/StyleBuilderCustom.h:
(WebCore::Style::BuilderCustom::applyInitialBorderBottomLeftRadius):
(WebCore::Style::BuilderCustom::applyInheritBorderBottomLeftRadius):
(WebCore::Style::BuilderCustom::applyValueBorderBottomLeftRadius):
(WebCore::Style::BuilderCustom::applyInitialBorderBottomRightRadius):
(WebCore::Style::BuilderCustom::applyInheritBorderBottomRightRadius):
(WebCore::Style::BuilderCustom::applyValueBorderBottomRightRadius):
(WebCore::Style::BuilderCustom::applyInitialBorderTopLeftRadius):
(WebCore::Style::BuilderCustom::applyInheritBorderTopLeftRadius):
(WebCore::Style::BuilderCustom::applyValueBorderTopLeftRadius):
(WebCore::Style::BuilderCustom::applyInitialBorderTopRightRadius):
(WebCore::Style::BuilderCustom::applyInheritBorderTopRightRadius):
(WebCore::Style::BuilderCustom::applyValueBorderTopRightRadius):

LayoutTests:

Add test, skip it except in iOS and Mac.

* TestExpectations:
* fast/css/appearance-apple-pay-button-border-radius-longhands-expected.html: Added.
* fast/css/appearance-apple-pay-button-border-radius-longhands.html: Added.
* platform/ios/TestExpectations:
* platform/mac/TestExpectations:

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (291535 => 291536)


--- trunk/LayoutTests/ChangeLog	2022-03-20 00:45:31 UTC (rev 291535)
+++ trunk/LayoutTests/ChangeLog	2022-03-20 02:18:04 UTC (rev 291536)
@@ -1,3 +1,18 @@
+2022-03-19  Oriol Brufau  <[email protected]>
+
+        Fix hasExplicitlySetBorderRadius flag
+        https://bugs.webkit.org/show_bug.cgi?id=238062
+
+        Reviewed by Darin Adler.
+
+        Add test, skip it except in iOS and Mac.
+
+        * TestExpectations:
+        * fast/css/appearance-apple-pay-button-border-radius-longhands-expected.html: Added.
+        * fast/css/appearance-apple-pay-button-border-radius-longhands.html: Added.
+        * platform/ios/TestExpectations:
+        * platform/mac/TestExpectations:
+
 2022-03-19  Myles C. Maxfield  <[email protected]>
 
         Make fast/text/emoji-num-glyphs.html more robust

Modified: trunk/LayoutTests/TestExpectations (291535 => 291536)


--- trunk/LayoutTests/TestExpectations	2022-03-20 00:45:31 UTC (rev 291535)
+++ trunk/LayoutTests/TestExpectations	2022-03-20 02:18:04 UTC (rev 291536)
@@ -278,6 +278,7 @@
 # ApplePay is only available on iOS (greater than iOS 10) and macOS (greater than macOS 10.12) and only for WebKit2.
 fast/css/appearance-apple-pay-button.html [ Skip ]
 fast/css/appearance-apple-pay-button-border-radius.html [ Skip ]
+fast/css/appearance-apple-pay-button-border-radius-longhands.html [ Skip ]
 fast/css/appearance-apple-pay-button-default-corners.html [ Skip ]
 fast/css/getComputedStyle/computed-style-apple-pay-button.html [ Skip ]
 fast/css/webkit-named-image/apple-pay-logo-black [ Skip ]

Added: trunk/LayoutTests/fast/css/appearance-apple-pay-button-border-radius-longhands-expected.html (0 => 291536)


--- trunk/LayoutTests/fast/css/appearance-apple-pay-button-border-radius-longhands-expected.html	                        (rev 0)
+++ trunk/LayoutTests/fast/css/appearance-apple-pay-button-border-radius-longhands-expected.html	2022-03-20 02:18:04 UTC (rev 291536)
@@ -0,0 +1,55 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <style>
+        .container {
+            padding: 25px;
+            width: 500px;
+        }
+
+        .apple-pay-button {
+            -webkit-appearance: -apple-pay-button;
+        }
+
+        .square-corners {
+            border-radius: 0px;
+        }
+
+        .very-round-corners {
+            border-radius: 15px;
+        }
+    </style>
+</head>
+<body>
+    <div class='container'>
+        <button class='apple-pay-button square-corners'></button>
+        <button class='apple-pay-button square-corners'></button>
+        <button class='apple-pay-button square-corners'></button>
+        <button class='apple-pay-button square-corners'></button>
+    </div>
+    <div class='container'>
+        <button class='apple-pay-button square-corners'></button>
+        <button class='apple-pay-button square-corners'></button>
+        <button class='apple-pay-button square-corners'></button>
+        <button class='apple-pay-button square-corners'></button>
+    </div>
+    <div class='container'>
+        <button class='apple-pay-button'></button>
+        <button class='apple-pay-button'></button>
+        <button class='apple-pay-button'></button>
+        <button class='apple-pay-button'></button>
+    </div>
+    <div class='container'>
+        <button class='apple-pay-button very-round-corners'></button>
+        <button class='apple-pay-button very-round-corners'></button>
+        <button class='apple-pay-button very-round-corners'></button>
+        <button class='apple-pay-button very-round-corners'></button>
+    </div>
+    <div class='container'>
+        <button class='apple-pay-button very-round-corners'></button>
+        <button class='apple-pay-button very-round-corners'></button>
+        <button class='apple-pay-button very-round-corners'></button>
+        <button class='apple-pay-button very-round-corners'></button>
+    </div>
+</body>
+</html>

Added: trunk/LayoutTests/fast/css/appearance-apple-pay-button-border-radius-longhands.html (0 => 291536)


--- trunk/LayoutTests/fast/css/appearance-apple-pay-button-border-radius-longhands.html	                        (rev 0)
+++ trunk/LayoutTests/fast/css/appearance-apple-pay-button-border-radius-longhands.html	2022-03-20 02:18:04 UTC (rev 291536)
@@ -0,0 +1,55 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <style>
+        .container {
+            padding: 25px;
+            width: 500px;
+        }
+
+        .apple-pay-button {
+            -webkit-appearance: -apple-pay-button;
+        }
+
+        .square-corners {
+            border-radius: 0px;
+        }
+
+        .very-round-corners {
+            border-radius: 15px;
+        }
+    </style>
+</head>
+<body>
+    <div class='container'>
+        <button class='apple-pay-button' style='border-bottom-left-radius: 0px'></button>
+        <button class='apple-pay-button' style='border-bottom-right-radius: 0px'></button>
+        <button class='apple-pay-button' style='border-top-left-radius: 0px'></button>
+        <button class='apple-pay-button' style='border-top-right-radius: 0px'></button>
+    </div>
+    <div class='container'>
+        <button class='apple-pay-button square-corners' style='border-bottom-left-radius: inherit'></button>
+        <button class='apple-pay-button square-corners' style='border-bottom-right-radius: inherit'></button>
+        <button class='apple-pay-button square-corners' style='border-top-left-radius: inherit'></button>
+        <button class='apple-pay-button square-corners' style='border-top-right-radius: inherit'></button>
+    </div>
+    <div class='container'>
+        <button class='apple-pay-button' style='border-bottom-left-radius: inherit'></button>
+        <button class='apple-pay-button' style='border-bottom-right-radius: inherit'></button>
+        <button class='apple-pay-button' style='border-top-left-radius: inherit'></button>
+        <button class='apple-pay-button' style='border-top-right-radius: inherit'></button>
+    </div>
+    <div class='container'>
+        <button class='apple-pay-button' style='border-bottom-left-radius: 15px'></button>
+        <button class='apple-pay-button' style='border-bottom-right-radius: 15px'></button>
+        <button class='apple-pay-button' style='border-top-left-radius: 15px'></button>
+        <button class='apple-pay-button' style='border-top-right-radius: 15px'></button>
+    </div>
+    <div class='container'>
+        <button class='apple-pay-button very-round-corners' style='border-bottom-left-radius: inherit'></button>
+        <button class='apple-pay-button very-round-corners' style='border-bottom-right-radius: inherit'></button>
+        <button class='apple-pay-button very-round-corners' style='border-top-left-radius: inherit'></button>
+        <button class='apple-pay-button very-round-corners' style='border-top-right-radius: inherit'></button>
+    </div>
+</body>
+</html>

Modified: trunk/LayoutTests/platform/ios/TestExpectations (291535 => 291536)


--- trunk/LayoutTests/platform/ios/TestExpectations	2022-03-20 00:45:31 UTC (rev 291535)
+++ trunk/LayoutTests/platform/ios/TestExpectations	2022-03-20 02:18:04 UTC (rev 291536)
@@ -38,6 +38,7 @@
 
 fast/css/appearance-apple-pay-button.html [ Pass ]
 fast/css/appearance-apple-pay-button-border-radius.html [ Pass ]
+fast/css/appearance-apple-pay-button-border-radius-longhands.html [ Pass ]
 fast/css/appearance-apple-pay-button-default-corners.html [ Pass ]
 fast/css/webkit-named-image/apple-pay-logo-black [ Pass ]
 fast/css/webkit-named-image/apple-pay-logo-white [ Pass ]

Modified: trunk/LayoutTests/platform/mac/TestExpectations (291535 => 291536)


--- trunk/LayoutTests/platform/mac/TestExpectations	2022-03-20 00:45:31 UTC (rev 291535)
+++ trunk/LayoutTests/platform/mac/TestExpectations	2022-03-20 02:18:04 UTC (rev 291536)
@@ -1043,6 +1043,7 @@
 
 fast/css/appearance-apple-pay-button.html [ Pass ]
 fast/css/appearance-apple-pay-button-border-radius.html [ Pass ]
+fast/css/appearance-apple-pay-button-border-radius-longhands.html [ Pass ]
 fast/css/appearance-apple-pay-button-default-corners.html [ Pass ]
 fast/css/webkit-named-image/apple-pay-logo-black [ Pass ]
 fast/css/webkit-named-image/apple-pay-logo-white [ Pass ]

Modified: trunk/Source/WebCore/ChangeLog (291535 => 291536)


--- trunk/Source/WebCore/ChangeLog	2022-03-20 00:45:31 UTC (rev 291535)
+++ trunk/Source/WebCore/ChangeLog	2022-03-20 02:18:04 UTC (rev 291536)
@@ -1,3 +1,51 @@
+2022-03-19  Oriol Brufau  <[email protected]>
+
+        Fix hasExplicitlySetBorderRadius flag
+        https://bugs.webkit.org/show_bug.cgi?id=238062
+
+        Reviewed by Darin Adler.
+
+        The four border-*-radius longhands were sharing the same flag, so the
+        behavior was broken when setting longhands individually.
+
+        This patch splits the flag into 4 different ones, one for each longhand.
+        Also makes sure to set it properly when a longhand is set to 'initial'.
+
+        It's ugly to have all this boilerplate code for the flags, but
+        https://webkit.org/b/212506 will make it automatically generated.
+
+        Test: fast/css/appearance-apple-pay-button-border-radius-longhands.html
+
+        * css/CSSProperties.json:
+        * rendering/style/RenderStyle.cpp:
+        (WebCore::RenderStyle::RenderStyle):
+        * rendering/style/RenderStyle.h:
+        (WebCore::RenderStyle::hasExplicitlySetBorderBottomLeftRadius const):
+        (WebCore::RenderStyle::hasExplicitlySetBorderBottomRightRadius const):
+        (WebCore::RenderStyle::hasExplicitlySetBorderTopLeftRadius const):
+        (WebCore::RenderStyle::hasExplicitlySetBorderTopRightRadius const):
+        (WebCore::RenderStyle::hasExplicitlySetBorderRadius const):
+        (WebCore::RenderStyle::setHasExplicitlySetBorderBottomLeftRadius):
+        (WebCore::RenderStyle::setHasExplicitlySetBorderBottomRightRadius):
+        (WebCore::RenderStyle::setHasExplicitlySetBorderTopLeftRadius):
+        (WebCore::RenderStyle::setHasExplicitlySetBorderTopRightRadius):
+        (WebCore::RenderStyle::NonInheritedFlags::operator== const):
+        (WebCore::RenderStyle::NonInheritedFlags::copyNonInheritedFrom):
+        (WebCore::RenderStyle::setHasExplicitlySetBorderRadius): Deleted.
+        * style/StyleBuilderCustom.h:
+        (WebCore::Style::BuilderCustom::applyInitialBorderBottomLeftRadius):
+        (WebCore::Style::BuilderCustom::applyInheritBorderBottomLeftRadius):
+        (WebCore::Style::BuilderCustom::applyValueBorderBottomLeftRadius):
+        (WebCore::Style::BuilderCustom::applyInitialBorderBottomRightRadius):
+        (WebCore::Style::BuilderCustom::applyInheritBorderBottomRightRadius):
+        (WebCore::Style::BuilderCustom::applyValueBorderBottomRightRadius):
+        (WebCore::Style::BuilderCustom::applyInitialBorderTopLeftRadius):
+        (WebCore::Style::BuilderCustom::applyInheritBorderTopLeftRadius):
+        (WebCore::Style::BuilderCustom::applyValueBorderTopLeftRadius):
+        (WebCore::Style::BuilderCustom::applyInitialBorderTopRightRadius):
+        (WebCore::Style::BuilderCustom::applyInheritBorderTopRightRadius):
+        (WebCore::Style::BuilderCustom::applyValueBorderTopRightRadius):
+
 2022-03-19  Alan Bujtas  <[email protected]>
 
         [IFC][Integration] InlineIterator::Line functions should all return float values

Modified: trunk/Source/WebCore/css/CSSProperties.json (291535 => 291536)


--- trunk/Source/WebCore/css/CSSProperties.json	2022-03-20 00:45:31 UTC (rev 291535)
+++ trunk/Source/WebCore/css/CSSProperties.json	2022-03-20 02:18:04 UTC (rev 291536)
@@ -1556,8 +1556,7 @@
                 "aliases": [
                     "-webkit-border-bottom-left-radius"
                 ],
-                "initial": "initialBorderRadius",
-                "custom": "Inherit|Value",
+                "custom": "All",
                 "logical-property-group": {
                     "name": "border-radius",
                     "resolver": "bottom-left"
@@ -1573,8 +1572,7 @@
                 "aliases": [
                     "-webkit-border-bottom-right-radius"
                 ],
-                "initial": "initialBorderRadius",
-                "custom": "Inherit|Value",
+                "custom": "All",
                 "logical-property-group": {
                     "name": "border-radius",
                     "resolver": "bottom-right"
@@ -2195,8 +2193,7 @@
                 "aliases": [
                     "-webkit-border-top-left-radius"
                 ],
-                "initial": "initialBorderRadius",
-                "custom": "Inherit|Value",
+                "custom": "All",
                 "logical-property-group": {
                     "name": "border-radius",
                     "resolver": "top-left"
@@ -2212,8 +2209,7 @@
                 "aliases": [
                     "-webkit-border-top-right-radius"
                 ],
-                "initial": "initialBorderRadius",
-                "custom": "Inherit|Value",
+                "custom": "All",
                 "logical-property-group": {
                     "name": "border-radius",
                     "resolver": "top-right"

Modified: trunk/Source/WebCore/rendering/style/RenderStyle.cpp (291535 => 291536)


--- trunk/Source/WebCore/rendering/style/RenderStyle.cpp	2022-03-20 00:45:31 UTC (rev 291535)
+++ trunk/Source/WebCore/rendering/style/RenderStyle.cpp	2022-03-20 02:18:04 UTC (rev 291536)
@@ -197,7 +197,10 @@
     m_nonInheritedFlags.unicodeBidi = static_cast<unsigned>(initialUnicodeBidi());
     m_nonInheritedFlags.floating = static_cast<unsigned>(initialFloating());
     m_nonInheritedFlags.tableLayout = static_cast<unsigned>(initialTableLayout());
-    m_nonInheritedFlags.hasExplicitlySetBorderRadius = false;
+    m_nonInheritedFlags.hasExplicitlySetBorderBottomLeftRadius = false;
+    m_nonInheritedFlags.hasExplicitlySetBorderBottomRightRadius = false;
+    m_nonInheritedFlags.hasExplicitlySetBorderTopLeftRadius = false;
+    m_nonInheritedFlags.hasExplicitlySetBorderTopRightRadius = false;
     m_nonInheritedFlags.hasExplicitlySetDirection = false;
     m_nonInheritedFlags.hasExplicitlySetWritingMode = false;
     m_nonInheritedFlags.hasExplicitlySetTextAlign = false;

Modified: trunk/Source/WebCore/rendering/style/RenderStyle.h (291535 => 291536)


--- trunk/Source/WebCore/rendering/style/RenderStyle.h	2022-03-20 00:45:31 UTC (rev 291535)
+++ trunk/Source/WebCore/rendering/style/RenderStyle.h	2022-03-20 02:18:04 UTC (rev 291536)
@@ -305,7 +305,11 @@
     const LengthSize& borderBottomLeftRadius() const { return m_surroundData->border.bottomLeftRadius(); }
     const LengthSize& borderBottomRightRadius() const { return m_surroundData->border.bottomRightRadius(); }
     bool hasBorderRadius() const { return m_surroundData->border.hasBorderRadius(); }
-    bool hasExplicitlySetBorderRadius() const { return m_nonInheritedFlags.hasExplicitlySetBorderRadius; }
+    bool hasExplicitlySetBorderBottomLeftRadius() const { return m_nonInheritedFlags.hasExplicitlySetBorderBottomLeftRadius; }
+    bool hasExplicitlySetBorderBottomRightRadius() const { return m_nonInheritedFlags.hasExplicitlySetBorderBottomRightRadius; }
+    bool hasExplicitlySetBorderTopLeftRadius() const { return m_nonInheritedFlags.hasExplicitlySetBorderTopLeftRadius; }
+    bool hasExplicitlySetBorderTopRightRadius() const { return m_nonInheritedFlags.hasExplicitlySetBorderTopRightRadius; }
+    bool hasExplicitlySetBorderRadius() const { return hasExplicitlySetBorderBottomLeftRadius() || hasExplicitlySetBorderBottomRightRadius() || hasExplicitlySetBorderTopLeftRadius() || hasExplicitlySetBorderTopRightRadius(); }
 
     float borderLeftWidth() const { return m_surroundData->border.borderLeftWidth(); }
     BorderStyle borderLeftStyle() const { return m_surroundData->border.left().style(); }
@@ -941,7 +945,10 @@
 
     void setBorderRadius(LengthSize&&);
     void setBorderRadius(const IntSize&);
-    void setHasExplicitlySetBorderRadius(bool v) { m_nonInheritedFlags.hasExplicitlySetBorderRadius = v; }
+    void setHasExplicitlySetBorderBottomLeftRadius(bool v) { m_nonInheritedFlags.hasExplicitlySetBorderBottomLeftRadius = v; }
+    void setHasExplicitlySetBorderBottomRightRadius(bool v) { m_nonInheritedFlags.hasExplicitlySetBorderBottomRightRadius = v; }
+    void setHasExplicitlySetBorderTopLeftRadius(bool v) { m_nonInheritedFlags.hasExplicitlySetBorderTopLeftRadius = v; }
+    void setHasExplicitlySetBorderTopRightRadius(bool v) { m_nonInheritedFlags.hasExplicitlySetBorderTopRightRadius = v; }
 
     RoundedRect getRoundedBorderFor(const LayoutRect& borderRect, bool includeLogicalLeftEdge = true, bool includeLogicalRightEdge = true) const;
     RoundedRect getRoundedInnerBorderFor(const LayoutRect& borderRect, bool includeLogicalLeftEdge = true, bool includeLogicalRightEdge = true) const;
@@ -1954,7 +1961,10 @@
         unsigned floating : 3; // Float
         unsigned tableLayout : 1; // TableLayoutType
 
-        unsigned hasExplicitlySetBorderRadius : 1;
+        unsigned hasExplicitlySetBorderBottomLeftRadius : 1;
+        unsigned hasExplicitlySetBorderBottomRightRadius : 1;
+        unsigned hasExplicitlySetBorderTopLeftRadius : 1;
+        unsigned hasExplicitlySetBorderTopRightRadius : 1;
         unsigned hasExplicitlySetDirection : 1;
         unsigned hasExplicitlySetWritingMode : 1;
         unsigned hasExplicitlySetTextAlign : 1;
@@ -2091,7 +2101,10 @@
         && unicodeBidi == other.unicodeBidi
         && floating == other.floating
         && tableLayout == other.tableLayout
-        && hasExplicitlySetBorderRadius == other.hasExplicitlySetBorderRadius
+        && hasExplicitlySetBorderBottomLeftRadius == other.hasExplicitlySetBorderBottomLeftRadius
+        && hasExplicitlySetBorderBottomRightRadius == other.hasExplicitlySetBorderBottomRightRadius
+        && hasExplicitlySetBorderTopLeftRadius == other.hasExplicitlySetBorderTopLeftRadius
+        && hasExplicitlySetBorderTopRightRadius == other.hasExplicitlySetBorderTopRightRadius
         && hasExplicitlySetDirection == other.hasExplicitlySetDirection
         && hasExplicitlySetWritingMode == other.hasExplicitlySetWritingMode
         && hasExplicitlySetTextAlign == other.hasExplicitlySetTextAlign
@@ -2128,7 +2141,10 @@
 
     // Unlike properties tracked by the other hasExplicitlySet* flags, border-radius is non-inherited
     // and we need to remember whether it's been explicitly set when copying m_surroundData.
-    hasExplicitlySetBorderRadius = other.hasExplicitlySetBorderRadius;
+    hasExplicitlySetBorderBottomLeftRadius = other.hasExplicitlySetBorderBottomLeftRadius;
+    hasExplicitlySetBorderBottomRightRadius = other.hasExplicitlySetBorderBottomRightRadius;
+    hasExplicitlySetBorderTopLeftRadius = other.hasExplicitlySetBorderTopLeftRadius;
+    hasExplicitlySetBorderTopRightRadius = other.hasExplicitlySetBorderTopRightRadius;
 }
 
 inline bool RenderStyle::NonInheritedFlags::hasPseudoStyle(PseudoId pseudo) const

Modified: trunk/Source/WebCore/style/StyleBuilderCustom.h (291535 => 291536)


--- trunk/Source/WebCore/style/StyleBuilderCustom.h	2022-03-20 00:45:31 UTC (rev 291535)
+++ trunk/Source/WebCore/style/StyleBuilderCustom.h	2022-03-20 02:18:04 UTC (rev 291536)
@@ -127,12 +127,16 @@
     static void applyInheritDisplay(BuilderState&);
     static void applyValueDisplay(BuilderState&, CSSValue&);
     // FIXME: <https://webkit.org/b/212506> Teach makeprop.pl to generate setters for hasExplicitlySet* flags
+    static void applyInitialBorderBottomLeftRadius(BuilderState&);
     static void applyInheritBorderBottomLeftRadius(BuilderState&);
     static void applyValueBorderBottomLeftRadius(BuilderState&, CSSValue&);
+    static void applyInitialBorderBottomRightRadius(BuilderState&);
     static void applyInheritBorderBottomRightRadius(BuilderState&);
     static void applyValueBorderBottomRightRadius(BuilderState&, CSSValue&);
+    static void applyInitialBorderTopLeftRadius(BuilderState&);
     static void applyInheritBorderTopLeftRadius(BuilderState&);
     static void applyValueBorderTopLeftRadius(BuilderState&, CSSValue&);
+    static void applyInitialBorderTopRightRadius(BuilderState&);
     static void applyInheritBorderTopRightRadius(BuilderState&);
     static void applyValueBorderTopRightRadius(BuilderState&, CSSValue&);
 
@@ -1084,52 +1088,76 @@
     builderState.setFontDescription(WTFMove(fontDescription));
 }
 
+inline void BuilderCustom::applyInitialBorderBottomLeftRadius(BuilderState& builderState)
+{
+    builderState.style().setBorderBottomLeftRadius(RenderStyle::initialBorderRadius());
+    builderState.style().setHasExplicitlySetBorderBottomLeftRadius(false);
+}
+
 inline void BuilderCustom::applyInheritBorderBottomLeftRadius(BuilderState& builderState)
 {
     builderState.style().setBorderBottomLeftRadius(forwardInheritedValue(builderState.parentStyle().borderBottomLeftRadius()));
-    builderState.style().setHasExplicitlySetBorderRadius(builderState.parentStyle().hasExplicitlySetBorderRadius());
+    builderState.style().setHasExplicitlySetBorderBottomLeftRadius(builderState.parentStyle().hasExplicitlySetBorderBottomLeftRadius());
 }
 
 inline void BuilderCustom::applyValueBorderBottomLeftRadius(BuilderState& builderState, CSSValue& value)
 {
     builderState.style().setBorderBottomLeftRadius(BuilderConverter::convertRadius(builderState, value));
-    builderState.style().setHasExplicitlySetBorderRadius(true);
+    builderState.style().setHasExplicitlySetBorderBottomLeftRadius(true);
 }
 
+inline void BuilderCustom::applyInitialBorderBottomRightRadius(BuilderState& builderState)
+{
+    builderState.style().setBorderBottomRightRadius(RenderStyle::initialBorderRadius());
+    builderState.style().setHasExplicitlySetBorderBottomRightRadius(false);
+}
+
 inline void BuilderCustom::applyInheritBorderBottomRightRadius(BuilderState& builderState)
 {
     builderState.style().setBorderBottomRightRadius(forwardInheritedValue(builderState.parentStyle().borderBottomRightRadius()));
-    builderState.style().setHasExplicitlySetBorderRadius(builderState.parentStyle().hasExplicitlySetBorderRadius());
+    builderState.style().setHasExplicitlySetBorderBottomRightRadius(builderState.parentStyle().hasExplicitlySetBorderBottomRightRadius());
 }
 
 inline void BuilderCustom::applyValueBorderBottomRightRadius(BuilderState& builderState, CSSValue& value)
 {
     builderState.style().setBorderBottomRightRadius(BuilderConverter::convertRadius(builderState, value));
-    builderState.style().setHasExplicitlySetBorderRadius(true);
+    builderState.style().setHasExplicitlySetBorderBottomRightRadius(true);
 }
 
+inline void BuilderCustom::applyInitialBorderTopLeftRadius(BuilderState& builderState)
+{
+    builderState.style().setBorderTopLeftRadius(RenderStyle::initialBorderRadius());
+    builderState.style().setHasExplicitlySetBorderTopLeftRadius(false);
+}
+
 inline void BuilderCustom::applyInheritBorderTopLeftRadius(BuilderState& builderState)
 {
     builderState.style().setBorderTopLeftRadius(forwardInheritedValue(builderState.parentStyle().borderTopLeftRadius()));
-    builderState.style().setHasExplicitlySetBorderRadius(builderState.parentStyle().hasExplicitlySetBorderRadius());
+    builderState.style().setHasExplicitlySetBorderTopLeftRadius(builderState.parentStyle().hasExplicitlySetBorderTopLeftRadius());
 }
 
 inline void BuilderCustom::applyValueBorderTopLeftRadius(BuilderState& builderState, CSSValue& value)
 {
     builderState.style().setBorderTopLeftRadius(BuilderConverter::convertRadius(builderState, value));
-    builderState.style().setHasExplicitlySetBorderRadius(true);
+    builderState.style().setHasExplicitlySetBorderTopLeftRadius(true);
 }
 
+inline void BuilderCustom::applyInitialBorderTopRightRadius(BuilderState& builderState)
+{
+    builderState.style().setBorderTopRightRadius(RenderStyle::initialBorderRadius());
+    builderState.style().setHasExplicitlySetBorderTopRightRadius(false);
+}
+
 inline void BuilderCustom::applyInheritBorderTopRightRadius(BuilderState& builderState)
 {
     builderState.style().setBorderTopRightRadius(forwardInheritedValue(builderState.parentStyle().borderTopRightRadius()));
-    builderState.style().setHasExplicitlySetBorderRadius(builderState.parentStyle().hasExplicitlySetBorderRadius());
+    builderState.style().setHasExplicitlySetBorderTopRightRadius(builderState.parentStyle().hasExplicitlySetBorderTopRightRadius());
 }
 
 inline void BuilderCustom::applyValueBorderTopRightRadius(BuilderState& builderState, CSSValue& value)
 {
     builderState.style().setBorderTopRightRadius(BuilderConverter::convertRadius(builderState, value));
-    builderState.style().setHasExplicitlySetBorderRadius(true);
+    builderState.style().setHasExplicitlySetBorderTopRightRadius(true);
 }
 
 inline bool BuilderCustom::isValidDisplayValue(BuilderState& builderState, DisplayType display)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to