Changeset 272035 in webkit


Ignore:
Timestamp:
Jan 28, 2021 2:24:21 PM (18 months ago)
Author:
Martin Robinson
Message:

Add support for logical variants of 'scroll-padding' and 'scroll-margin'
https://bugs.webkit.org/show_bug.cgi?id=220766
<rdar://problem/73661278>

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Update test expectations for this change.

  • web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
  • web-platform-tests/css/css-scroll-snap/inheritance-expected.txt:
  • web-platform-tests/css/css-scroll-snap/parsing/scroll-margin-block-inline-computed-expected.txt:
  • web-platform-tests/css/css-scroll-snap/parsing/scroll-margin-block-inline-shorthand-expected.txt:
  • web-platform-tests/css/css-scroll-snap/parsing/scroll-margin-block-inline-valid-expected.txt:
  • web-platform-tests/css/css-scroll-snap/parsing/scroll-padding-block-inline-computed-expected.txt:
  • web-platform-tests/css/css-scroll-snap/parsing/scroll-padding-block-inline-shorthand-expected.txt:
  • web-platform-tests/css/css-scroll-snap/parsing/scroll-padding-block-inline-valid-expected.txt:
  • web-platform-tests/css/css-scroll-snap/parsing/scroll-padding-computed-expected.txt:
  • web-platform-tests/css/css-scroll-snap/parsing/scroll-padding-invalid-expected.txt:
  • web-platform-tests/css/css-scroll-snap/parsing/scroll-padding-shorthand-expected.txt:
  • web-platform-tests/css/css-scroll-snap/parsing/scroll-padding-valid-expected.txt:
  • web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt:

Source/WebCore:

Add support for logical scroll-margin and scroll-padding properties. Also
improve parsing of scroll-padding which should not accept negative values and
should accept "auto" values. The spec gives flexibility for how to interpret
"auto", but for us this should just be 0 currently.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::valueForPropertyInStyle): Add support for logical
margin and padding longhands and shortands.

  • css/CSSProperties.json: Ditto. Allow padding to accept "auto" as well.
  • css/CSSProperty.cpp:

(WebCore::CSSProperty::resolveDirectionAwareProperty): Ditto.
(WebCore::CSSProperty::isDirectionAwareProperty): Ditto.

  • css/StyleProperties.cpp:

(WebCore::StyleProperties::getPropertyValue const): Ditto.
(WebCore::StyleProperties::asText const): Ditto.

  • css/parser/CSSPropertyParser.cpp:

(WebCore::consumeScrollPadding): Added this helper that accepts a length, a percentage,
or auto.
(WebCore::CSSPropertyParser::parseSingleValue): Added support for logical longhands.
(WebCore::CSSPropertyParser::parseShorthand): Added support for logical shorthands.

  • page/scrolling/ScrollSnapOffsetsInfo.cpp:

(WebCore::computeScrollSnapPortOrAreaRect): Use minimumValueForLength here because
auto should resolve to 0px.

  • rendering/RenderBox.cpp:

(RenderBox::scrollPaddingForViewportRect): Ditto.

  • rendering/style/RenderStyle.h:

(WebCore::RenderStyle::initialScrollPadding): Initialize scroll-padding values to
auto as specified.

  • rendering/style/StyleRareNonInheritedData.h: Ditto.

LayoutTests:

Update test expectations.

  • css3/scroll-snap/scroll-snap-inherit-expected.txt:
  • css3/scroll-snap/scroll-snap-inherit.html:
  • css3/scroll-snap/scroll-snap-initial-expected.txt:
  • css3/scroll-snap/scroll-snap-initial.html:
  • css3/scroll-snap/scroll-snap-property-computed-style-expected.txt:
  • css3/scroll-snap/scroll-snap-property-computed-style.js:
  • platform/ios-wk2/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt:
Location:
trunk
Files:
32 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r272030 r272035  
     12021-01-28  Martin Robinson  <mrobinson@webkit.org>
     2
     3        Add support for logical variants of 'scroll-padding' and 'scroll-margin'
     4        https://bugs.webkit.org/show_bug.cgi?id=220766
     5        <rdar://problem/73661278>
     6
     7        Reviewed by Darin Adler.
     8
     9        Update test expectations.
     10
     11        * css3/scroll-snap/scroll-snap-inherit-expected.txt:
     12        * css3/scroll-snap/scroll-snap-inherit.html:
     13        * css3/scroll-snap/scroll-snap-initial-expected.txt:
     14        * css3/scroll-snap/scroll-snap-initial.html:
     15        * css3/scroll-snap/scroll-snap-property-computed-style-expected.txt:
     16        * css3/scroll-snap/scroll-snap-property-computed-style.js:
     17        * platform/ios-wk2/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt:
     18
    1192021-01-28  Lauro Moura  <lmoura@igalia.com>
    220
  • trunk/LayoutTests/css3/scroll-snap/scroll-snap-inherit-expected.txt

    r268348 r272035  
    115115PASS inheritNone.style['scroll-padding-top'] is ""
    116116PASS inheritNone.style['scroll-padding-bottom'] is ""
    117 PASS window.getComputedStyle(inheritNone).getPropertyValue('scroll-padding') is "0px"
     117PASS window.getComputedStyle(inheritNone).getPropertyValue('scroll-padding') is "auto"
    118118PASS inheritNone.style['scroll-snap-margin'] is ""
    119119PASS inheritNone.style['scroll-snap-margin-left'] is ""
  • trunk/LayoutTests/css3/scroll-snap/scroll-snap-inherit.html

    r268665 r272035  
    283283        shouldBeEmptyString("inheritNone.style['scroll-padding-top']");
    284284        shouldBeEmptyString("inheritNone.style['scroll-padding-bottom']");
    285         shouldBeEqualToString("window.getComputedStyle(inheritNone).getPropertyValue('scroll-padding')", "0px");
     285        shouldBeEqualToString("window.getComputedStyle(inheritNone).getPropertyValue('scroll-padding')", "auto");
    286286        shouldBeEmptyString("inheritNone.style['scroll-snap-margin']");
    287287        shouldBeEmptyString("inheritNone.style['scroll-snap-margin-left']");
  • trunk/LayoutTests/css3/scroll-snap/scroll-snap-initial-expected.txt

    r268348 r272035  
    2323PASS window.getComputedStyle(initialPadding).getPropertyValue('scroll-snap-type') is "both"
    2424PASS initialPadding.style['scroll-padding'] is "initial"
    25 PASS window.getComputedStyle(initialPadding).getPropertyValue('scroll-padding') is "0px"
     25PASS window.getComputedStyle(initialPadding).getPropertyValue('scroll-padding') is "auto"
    2626PASS initialPadding.style['scroll-snap-margin'] is ""
    2727PASS window.getComputedStyle(initialPadding).getPropertyValue('scroll-snap-margin') is "1px"
     
    4747PASS window.getComputedStyle(allInitial).getPropertyValue('scroll-snap-type') is "none"
    4848PASS allInitial.style['scroll-padding'] is "initial"
    49 PASS window.getComputedStyle(allInitial).getPropertyValue('scroll-padding') is "0px"
     49PASS window.getComputedStyle(allInitial).getPropertyValue('scroll-padding') is "auto"
    5050PASS allInitial.style['scroll-snap-margin'] is "initial"
    5151PASS window.getComputedStyle(allInitial).getPropertyValue('scroll-snap-margin') is "0px"
  • trunk/LayoutTests/css3/scroll-snap/scroll-snap-initial.html

    r268348 r272035  
    182182        shouldBeEqualToString("window.getComputedStyle(initialPadding).getPropertyValue('scroll-snap-type')", "both");
    183183        shouldBeEqualToString("initialPadding.style['scroll-padding']", "initial");
    184         shouldBeEqualToString("window.getComputedStyle(initialPadding).getPropertyValue('scroll-padding')", "0px");
     184        shouldBeEqualToString("window.getComputedStyle(initialPadding).getPropertyValue('scroll-padding')", "auto");
    185185        shouldBeEmptyString("initialPadding.style['scroll-snap-margin']");
    186186        shouldBeEqualToString("window.getComputedStyle(initialPadding).getPropertyValue('scroll-snap-margin')", "1px");
     
    212212        shouldBeEqualToString("window.getComputedStyle(allInitial).getPropertyValue('scroll-snap-type')", "none");
    213213        shouldBeEqualToString("allInitial.style['scroll-padding']", "initial");
    214         shouldBeEqualToString("window.getComputedStyle(allInitial).getPropertyValue('scroll-padding')", "0px");
     214        shouldBeEqualToString("window.getComputedStyle(allInitial).getPropertyValue('scroll-padding')", "auto");
    215215        shouldBeEqualToString("allInitial.style['scroll-snap-margin']", "initial");
    216216        shouldBeEqualToString("window.getComputedStyle(allInitial).getPropertyValue('scroll-snap-margin')", "0px");
  • trunk/LayoutTests/css3/scroll-snap/scroll-snap-property-computed-style-expected.txt

    r268665 r272035  
    7272
    7373invalid scroll padding: `potato`
    74 PASS window.getComputedStyle(document.body).getPropertyValue('scroll-padding') is '0px'
    75 PASS window.getComputedStyle(document.body).getPropertyValue('scroll-padding-top') is '0px'
    76 PASS window.getComputedStyle(document.body).getPropertyValue('scroll-padding-left') is '0px'
    77 PASS window.getComputedStyle(document.body).getPropertyValue('scroll-padding-right') is '0px'
    78 PASS window.getComputedStyle(document.body).getPropertyValue('scroll-padding-bottom') is '0px'
     74PASS window.getComputedStyle(document.body).getPropertyValue('scroll-padding') is 'auto'
     75PASS window.getComputedStyle(document.body).getPropertyValue('scroll-padding-top') is 'auto'
     76PASS window.getComputedStyle(document.body).getPropertyValue('scroll-padding-left') is 'auto'
     77PASS window.getComputedStyle(document.body).getPropertyValue('scroll-padding-right') is 'auto'
     78PASS window.getComputedStyle(document.body).getPropertyValue('scroll-padding-bottom') is 'auto'
    7979
    8080empty string: ``
    81 PASS window.getComputedStyle(document.body).getPropertyValue('scroll-padding') is '0px'
    82 PASS window.getComputedStyle(document.body).getPropertyValue('scroll-padding-top') is '0px'
    83 PASS window.getComputedStyle(document.body).getPropertyValue('scroll-padding-left') is '0px'
    84 PASS window.getComputedStyle(document.body).getPropertyValue('scroll-padding-right') is '0px'
    85 PASS window.getComputedStyle(document.body).getPropertyValue('scroll-padding-bottom') is '0px'
     81PASS window.getComputedStyle(document.body).getPropertyValue('scroll-padding') is 'auto'
     82PASS window.getComputedStyle(document.body).getPropertyValue('scroll-padding-top') is 'auto'
     83PASS window.getComputedStyle(document.body).getPropertyValue('scroll-padding-left') is 'auto'
     84PASS window.getComputedStyle(document.body).getPropertyValue('scroll-padding-right') is 'auto'
     85PASS window.getComputedStyle(document.body).getPropertyValue('scroll-padding-bottom') is 'auto'
    8686
    8787too many values: `1px 2px 3px 4px 5px`
    88 PASS window.getComputedStyle(document.body).getPropertyValue('scroll-padding') is '0px'
    89 PASS window.getComputedStyle(document.body).getPropertyValue('scroll-padding-top') is '0px'
    90 PASS window.getComputedStyle(document.body).getPropertyValue('scroll-padding-left') is '0px'
    91 PASS window.getComputedStyle(document.body).getPropertyValue('scroll-padding-right') is '0px'
    92 PASS window.getComputedStyle(document.body).getPropertyValue('scroll-padding-bottom') is '0px'
     88PASS window.getComputedStyle(document.body).getPropertyValue('scroll-padding') is 'auto'
     89PASS window.getComputedStyle(document.body).getPropertyValue('scroll-padding-top') is 'auto'
     90PASS window.getComputedStyle(document.body).getPropertyValue('scroll-padding-left') is 'auto'
     91PASS window.getComputedStyle(document.body).getPropertyValue('scroll-padding-right') is 'auto'
     92PASS window.getComputedStyle(document.body).getPropertyValue('scroll-padding-bottom') is 'auto'
    9393
    9494attempt to use auto: `auto auto`
    95 PASS window.getComputedStyle(document.body).getPropertyValue('scroll-padding') is '0px'
    96 PASS window.getComputedStyle(document.body).getPropertyValue('scroll-padding-top') is '0px'
    97 PASS window.getComputedStyle(document.body).getPropertyValue('scroll-padding-left') is '0px'
    98 PASS window.getComputedStyle(document.body).getPropertyValue('scroll-padding-right') is '0px'
    99 PASS window.getComputedStyle(document.body).getPropertyValue('scroll-padding-bottom') is '0px'
     95PASS window.getComputedStyle(document.body).getPropertyValue('scroll-padding') is 'auto'
     96PASS window.getComputedStyle(document.body).getPropertyValue('scroll-padding-top') is 'auto'
     97PASS window.getComputedStyle(document.body).getPropertyValue('scroll-padding-left') is 'auto'
     98PASS window.getComputedStyle(document.body).getPropertyValue('scroll-padding-right') is 'auto'
     99PASS window.getComputedStyle(document.body).getPropertyValue('scroll-padding-bottom') is 'auto'
    100100
    101101single length: `10px`
     
    148148PASS window.getComputedStyle(document.body).getPropertyValue('scroll-padding-bottom') is '10.4375px'
    149149
    150 invalid scroll padding: `potato`
     150invalid scroll margin: `potato`
    151151PASS window.getComputedStyle(document.body).getPropertyValue('scroll-snap-margin') is '0px'
    152152PASS window.getComputedStyle(document.body).getPropertyValue('scroll-snap-margin-top') is '0px'
  • trunk/LayoutTests/css3/scroll-snap/scroll-snap-property-computed-style.js

    r268665 r272035  
    5151// Test the scroll-padding property
    5252// Invalid declarations
    53 testComputedScrollSnapRule("invalid scroll padding", "scroll-padding", "potato", "0px", { top: "0px", left: "0px", right: "0px", bottom: "0px" });
    54 testComputedScrollSnapRule("empty string", "scroll-padding", "", "0px", { top: "0px", left: "0px", right: "0px", bottom: "0px" });
    55 testComputedScrollSnapRule("too many values", "scroll-padding", "1px 2px 3px 4px 5px", "0px", { top: "0px", left: "0px", right: "0px", bottom: "0px" });
    56 testComputedScrollSnapRule("attempt to use auto", "scroll-padding", "auto auto", "0px", { top: "0px", left: "0px", right: "0px", bottom: "0px" });
     53testComputedScrollSnapRule("invalid scroll padding", "scroll-padding", "potato", "auto", { top: "auto", left: "auto", right: "auto", bottom: "auto" });
     54testComputedScrollSnapRule("empty string", "scroll-padding", "", "auto", { top: "auto", left: "auto", right: "auto", bottom: "auto" });
     55testComputedScrollSnapRule("too many values", "scroll-padding", "1px 2px 3px 4px 5px", "auto", { top: "auto", left: "auto", right: "auto", bottom: "auto" });
     56testComputedScrollSnapRule("attempt to use auto", "scroll-padding", "auto auto", "auto", { top: "auto", left: "auto", right: "auto", bottom: "auto" });
    5757// Valid declarations
    5858testComputedScrollSnapRule("single length", "scroll-padding", "10px", "10px", { top: "10px", left: "10px", right: "10px", bottom: "10px" });
     
    6666// Test the scroll-snap-margin property
    6767// Invalid declarations
    68 testComputedScrollSnapRule("invalid scroll padding", "scroll-snap-margin", "potato", "0px", { top: "0px", left: "0px", right: "0px", bottom: "0px" });
     68testComputedScrollSnapRule("invalid scroll margin", "scroll-snap-margin", "potato", "0px", { top: "0px", left: "0px", right: "0px", bottom: "0px" });
    6969testComputedScrollSnapRule("empty string", "scroll-snap-margin", "", "0px", { top: "0px", left: "0px", right: "0px", bottom: "0px" });
    7070testComputedScrollSnapRule("too many values", "scroll-snap-margin", "1px 2px 3px 4px 5px", "0px", { top: "0px", left: "0px", right: "0px", bottom: "0px" });
  • trunk/LayoutTests/imported/w3c/ChangeLog

    r272007 r272035  
     12021-01-28  Martin Robinson  <mrobinson@webkit.org>
     2
     3        Add support for logical variants of 'scroll-padding' and 'scroll-margin'
     4        https://bugs.webkit.org/show_bug.cgi?id=220766
     5        <rdar://problem/73661278>
     6
     7        Reviewed by Darin Adler.
     8
     9        Update test expectations for this change.
     10
     11        * web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
     12        * web-platform-tests/css/css-scroll-snap/inheritance-expected.txt:
     13        * web-platform-tests/css/css-scroll-snap/parsing/scroll-margin-block-inline-computed-expected.txt:
     14        * web-platform-tests/css/css-scroll-snap/parsing/scroll-margin-block-inline-shorthand-expected.txt:
     15        * web-platform-tests/css/css-scroll-snap/parsing/scroll-margin-block-inline-valid-expected.txt:
     16        * web-platform-tests/css/css-scroll-snap/parsing/scroll-padding-block-inline-computed-expected.txt:
     17        * web-platform-tests/css/css-scroll-snap/parsing/scroll-padding-block-inline-shorthand-expected.txt:
     18        * web-platform-tests/css/css-scroll-snap/parsing/scroll-padding-block-inline-valid-expected.txt:
     19        * web-platform-tests/css/css-scroll-snap/parsing/scroll-padding-computed-expected.txt:
     20        * web-platform-tests/css/css-scroll-snap/parsing/scroll-padding-invalid-expected.txt:
     21        * web-platform-tests/css/css-scroll-snap/parsing/scroll-padding-shorthand-expected.txt:
     22        * web-platform-tests/css/css-scroll-snap/parsing/scroll-padding-valid-expected.txt:
     23        * web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt:
     24
    1252021-01-28  Manuel Rego Casasnovas  <rego@igalia.com>
    226
  • trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt

    r271447 r272035  
    229229PASS scale
    230230PASS scroll-behavior
     231PASS scroll-margin-block
    231232PASS scroll-margin-bottom
     233PASS scroll-margin-inline
    232234PASS scroll-margin-left
    233235PASS scroll-margin-right
    234236PASS scroll-margin-top
     237PASS scroll-padding-block
    235238PASS scroll-padding-bottom
     239PASS scroll-padding-inline
    236240PASS scroll-padding-left
    237241PASS scroll-padding-right
  • trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-snap/inheritance-expected.txt

    r268889 r272035  
    11
    2 FAIL Property scroll-margin-block-end has initial value 0px assert_true: scroll-margin-block-end doesn't seem to be supported in the computed style expected true got false
    3 FAIL Property scroll-margin-block-end does not inherit assert_true: expected true got false
    4 FAIL Property scroll-margin-block-start has initial value 0px assert_true: scroll-margin-block-start doesn't seem to be supported in the computed style expected true got false
    5 FAIL Property scroll-margin-block-start does not inherit assert_true: expected true got false
     2PASS Property scroll-margin-block-end has initial value 0px
     3PASS Property scroll-margin-block-end does not inherit
     4PASS Property scroll-margin-block-start has initial value 0px
     5PASS Property scroll-margin-block-start does not inherit
    66PASS Property scroll-margin-bottom has initial value 0px
    77PASS Property scroll-margin-bottom does not inherit
    8 FAIL Property scroll-margin-inline-end has initial value 0px assert_true: scroll-margin-inline-end doesn't seem to be supported in the computed style expected true got false
    9 FAIL Property scroll-margin-inline-end does not inherit assert_true: expected true got false
    10 FAIL Property scroll-margin-inline-start has initial value 0px assert_true: scroll-margin-inline-start doesn't seem to be supported in the computed style expected true got false
    11 FAIL Property scroll-margin-inline-start does not inherit assert_true: expected true got false
     8PASS Property scroll-margin-inline-end has initial value 0px
     9PASS Property scroll-margin-inline-end does not inherit
     10PASS Property scroll-margin-inline-start has initial value 0px
     11PASS Property scroll-margin-inline-start does not inherit
    1212PASS Property scroll-margin-left has initial value 0px
    1313PASS Property scroll-margin-left does not inherit
     
    1616PASS Property scroll-margin-top has initial value 0px
    1717PASS Property scroll-margin-top does not inherit
    18 FAIL Property scroll-padding-block-end has initial value auto assert_true: scroll-padding-block-end doesn't seem to be supported in the computed style expected true got false
    19 FAIL Property scroll-padding-block-end does not inherit assert_true: expected true got false
    20 FAIL Property scroll-padding-block-start has initial value auto assert_true: scroll-padding-block-start doesn't seem to be supported in the computed style expected true got false
    21 FAIL Property scroll-padding-block-start does not inherit assert_true: expected true got false
    22 FAIL Property scroll-padding-bottom has initial value auto assert_equals: expected "auto" but got "0px"
     18PASS Property scroll-padding-block-end has initial value auto
     19PASS Property scroll-padding-block-end does not inherit
     20PASS Property scroll-padding-block-start has initial value auto
     21PASS Property scroll-padding-block-start does not inherit
     22PASS Property scroll-padding-bottom has initial value auto
    2323PASS Property scroll-padding-bottom does not inherit
    24 FAIL Property scroll-padding-inline-end has initial value auto assert_true: scroll-padding-inline-end doesn't seem to be supported in the computed style expected true got false
    25 FAIL Property scroll-padding-inline-end does not inherit assert_true: expected true got false
    26 FAIL Property scroll-padding-inline-start has initial value auto assert_true: scroll-padding-inline-start doesn't seem to be supported in the computed style expected true got false
    27 FAIL Property scroll-padding-inline-start does not inherit assert_true: expected true got false
    28 FAIL Property scroll-padding-left has initial value auto assert_equals: expected "auto" but got "0px"
     24PASS Property scroll-padding-inline-end has initial value auto
     25PASS Property scroll-padding-inline-end does not inherit
     26PASS Property scroll-padding-inline-start has initial value auto
     27PASS Property scroll-padding-inline-start does not inherit
     28PASS Property scroll-padding-left has initial value auto
    2929PASS Property scroll-padding-left does not inherit
    30 FAIL Property scroll-padding-right has initial value auto assert_equals: expected "auto" but got "0px"
     30PASS Property scroll-padding-right has initial value auto
    3131PASS Property scroll-padding-right does not inherit
    32 FAIL Property scroll-padding-top has initial value auto assert_equals: expected "auto" but got "0px"
     32PASS Property scroll-padding-top has initial value auto
    3333PASS Property scroll-padding-top does not inherit
    3434FAIL Property scroll-snap-align has initial value none assert_equals: expected "none" but got "none none"
  • trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-snap/parsing/scroll-margin-block-inline-computed-expected.txt

    r268250 r272035  
    11
    2 FAIL Property scroll-margin-block-start value '10px' assert_true: scroll-margin-block-start doesn't seem to be supported in the computed style expected true got false
    3 FAIL Property scroll-margin-block-start value 'calc(10px - 0.5em)' assert_true: scroll-margin-block-start doesn't seem to be supported in the computed style expected true got false
    4 FAIL Property scroll-margin-block-end value '10px' assert_true: scroll-margin-block-end doesn't seem to be supported in the computed style expected true got false
    5 FAIL Property scroll-margin-block-end value 'calc(10px - 0.5em)' assert_true: scroll-margin-block-end doesn't seem to be supported in the computed style expected true got false
    6 FAIL Property scroll-margin-inline-start value '10px' assert_true: scroll-margin-inline-start doesn't seem to be supported in the computed style expected true got false
    7 FAIL Property scroll-margin-inline-start value 'calc(10px - 0.5em)' assert_true: scroll-margin-inline-start doesn't seem to be supported in the computed style expected true got false
    8 FAIL Property scroll-margin-inline-end value '10px' assert_true: scroll-margin-inline-end doesn't seem to be supported in the computed style expected true got false
    9 FAIL Property scroll-margin-inline-end value 'calc(10px - 0.5em)' assert_true: scroll-margin-inline-end doesn't seem to be supported in the computed style expected true got false
    10 FAIL Property scroll-margin-block value '10px' assert_true: scroll-margin-block doesn't seem to be supported in the computed style expected true got false
    11 FAIL Property scroll-margin-block value 'calc(10px - 0.5em)' assert_true: scroll-margin-block doesn't seem to be supported in the computed style expected true got false
    12 FAIL Property scroll-margin-block value '1px 2px' assert_true: scroll-margin-block doesn't seem to be supported in the computed style expected true got false
    13 FAIL Property scroll-margin-inline value '10px' assert_true: scroll-margin-inline doesn't seem to be supported in the computed style expected true got false
    14 FAIL Property scroll-margin-inline value 'calc(10px - 0.5em)' assert_true: scroll-margin-inline doesn't seem to be supported in the computed style expected true got false
    15 FAIL Property scroll-margin-inline value '1px 2px' assert_true: scroll-margin-inline doesn't seem to be supported in the computed style expected true got false
     2PASS Property scroll-margin-block-start value '10px'
     3PASS Property scroll-margin-block-start value 'calc(10px - 0.5em)'
     4PASS Property scroll-margin-block-end value '10px'
     5PASS Property scroll-margin-block-end value 'calc(10px - 0.5em)'
     6PASS Property scroll-margin-inline-start value '10px'
     7PASS Property scroll-margin-inline-start value 'calc(10px - 0.5em)'
     8PASS Property scroll-margin-inline-end value '10px'
     9PASS Property scroll-margin-inline-end value 'calc(10px - 0.5em)'
     10PASS Property scroll-margin-block value '10px'
     11PASS Property scroll-margin-block value 'calc(10px - 0.5em)'
     12PASS Property scroll-margin-block value '1px 2px'
     13PASS Property scroll-margin-inline value '10px'
     14PASS Property scroll-margin-inline value 'calc(10px - 0.5em)'
     15PASS Property scroll-margin-inline value '1px 2px'
    1616
  • trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-snap/parsing/scroll-margin-block-inline-shorthand-expected.txt

    r268250 r272035  
    11
    2 FAIL e.style['scroll-margin-block'] = "10px 20px" should set scroll-margin-block-end assert_equals: scroll-margin-block-end should be canonical expected (string) "20px" but got (undefined) undefined
    3 FAIL e.style['scroll-margin-block'] = "10px 20px" should set scroll-margin-block-start assert_equals: scroll-margin-block-start should be canonical expected (string) "10px" but got (undefined) undefined
    4 FAIL e.style['scroll-margin-block'] = "10px 20px" should not set unrelated longhands assert_true: expected true got false
    5 FAIL e.style['scroll-margin-block'] = "30px" should set scroll-margin-block-end assert_equals: scroll-margin-block-end should be canonical expected (string) "30px" but got (undefined) undefined
    6 FAIL e.style['scroll-margin-block'] = "30px" should set scroll-margin-block-start assert_equals: scroll-margin-block-start should be canonical expected (string) "30px" but got (undefined) undefined
    7 FAIL e.style['scroll-margin-block'] = "30px" should not set unrelated longhands assert_true: expected true got false
    8 FAIL e.style['scroll-margin-inline'] = "50px 60px" should set scroll-margin-inline-end assert_equals: scroll-margin-inline-end should be canonical expected (string) "60px" but got (undefined) undefined
    9 FAIL e.style['scroll-margin-inline'] = "50px 60px" should set scroll-margin-inline-start assert_equals: scroll-margin-inline-start should be canonical expected (string) "50px" but got (undefined) undefined
    10 FAIL e.style['scroll-margin-inline'] = "50px 60px" should not set unrelated longhands assert_true: expected true got false
    11 FAIL e.style['scroll-margin-inline'] = "-40px" should set scroll-margin-inline-end assert_equals: scroll-margin-inline-end should be canonical expected (string) "-40px" but got (undefined) undefined
    12 FAIL e.style['scroll-margin-inline'] = "-40px" should set scroll-margin-inline-start assert_equals: scroll-margin-inline-start should be canonical expected (string) "-40px" but got (undefined) undefined
    13 FAIL e.style['scroll-margin-inline'] = "-40px" should not set unrelated longhands assert_true: expected true got false
     2PASS e.style['scroll-margin-block'] = "10px 20px" should set scroll-margin-block-end
     3PASS e.style['scroll-margin-block'] = "10px 20px" should set scroll-margin-block-start
     4PASS e.style['scroll-margin-block'] = "10px 20px" should not set unrelated longhands
     5PASS e.style['scroll-margin-block'] = "30px" should set scroll-margin-block-end
     6PASS e.style['scroll-margin-block'] = "30px" should set scroll-margin-block-start
     7PASS e.style['scroll-margin-block'] = "30px" should not set unrelated longhands
     8PASS e.style['scroll-margin-inline'] = "50px 60px" should set scroll-margin-inline-end
     9PASS e.style['scroll-margin-inline'] = "50px 60px" should set scroll-margin-inline-start
     10PASS e.style['scroll-margin-inline'] = "50px 60px" should not set unrelated longhands
     11PASS e.style['scroll-margin-inline'] = "-40px" should set scroll-margin-inline-end
     12PASS e.style['scroll-margin-inline'] = "-40px" should set scroll-margin-inline-start
     13PASS e.style['scroll-margin-inline'] = "-40px" should not set unrelated longhands
    1414
  • trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-snap/parsing/scroll-margin-block-inline-valid-expected.txt

    r268250 r272035  
    11
    2 FAIL e.style['scroll-margin-block-start'] = "-10px" should set the property value assert_not_equals: property should be set got disallowed value ""
    3 FAIL e.style['scroll-margin-block-start'] = "calc(2em + 3ex)" should set the property value assert_not_equals: property should be set got disallowed value ""
    4 FAIL e.style['scroll-margin-block-end'] = "-10px" should set the property value assert_not_equals: property should be set got disallowed value ""
    5 FAIL e.style['scroll-margin-block-end'] = "calc(2em + 3ex)" should set the property value assert_not_equals: property should be set got disallowed value ""
    6 FAIL e.style['scroll-margin-inline-start'] = "-10px" should set the property value assert_not_equals: property should be set got disallowed value ""
    7 FAIL e.style['scroll-margin-inline-start'] = "calc(2em + 3ex)" should set the property value assert_not_equals: property should be set got disallowed value ""
    8 FAIL e.style['scroll-margin-inline-end'] = "-10px" should set the property value assert_not_equals: property should be set got disallowed value ""
    9 FAIL e.style['scroll-margin-inline-end'] = "calc(2em + 3ex)" should set the property value assert_not_equals: property should be set got disallowed value ""
    10 FAIL e.style['scroll-margin-block'] = "-10px" should set the property value assert_not_equals: property should be set got disallowed value ""
    11 FAIL e.style['scroll-margin-block'] = "calc(2em + 3ex)" should set the property value assert_not_equals: property should be set got disallowed value ""
    12 FAIL e.style['scroll-margin-block'] = "1px 2px" should set the property value assert_not_equals: property should be set got disallowed value ""
    13 FAIL e.style['scroll-margin-inline'] = "-10px" should set the property value assert_not_equals: property should be set got disallowed value ""
    14 FAIL e.style['scroll-margin-inline'] = "calc(2em + 3ex)" should set the property value assert_not_equals: property should be set got disallowed value ""
    15 FAIL e.style['scroll-margin-inline'] = "1px 2px" should set the property value assert_not_equals: property should be set got disallowed value ""
     2PASS e.style['scroll-margin-block-start'] = "-10px" should set the property value
     3PASS e.style['scroll-margin-block-start'] = "calc(2em + 3ex)" should set the property value
     4PASS e.style['scroll-margin-block-end'] = "-10px" should set the property value
     5PASS e.style['scroll-margin-block-end'] = "calc(2em + 3ex)" should set the property value
     6PASS e.style['scroll-margin-inline-start'] = "-10px" should set the property value
     7PASS e.style['scroll-margin-inline-start'] = "calc(2em + 3ex)" should set the property value
     8PASS e.style['scroll-margin-inline-end'] = "-10px" should set the property value
     9PASS e.style['scroll-margin-inline-end'] = "calc(2em + 3ex)" should set the property value
     10PASS e.style['scroll-margin-block'] = "-10px" should set the property value
     11PASS e.style['scroll-margin-block'] = "calc(2em + 3ex)" should set the property value
     12PASS e.style['scroll-margin-block'] = "1px 2px" should set the property value
     13PASS e.style['scroll-margin-inline'] = "-10px" should set the property value
     14PASS e.style['scroll-margin-inline'] = "calc(2em + 3ex)" should set the property value
     15PASS e.style['scroll-margin-inline'] = "1px 2px" should set the property value
    1616
  • trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-snap/parsing/scroll-padding-block-inline-computed-expected.txt

    r268250 r272035  
    11
    2 FAIL Property scroll-padding-block-start value 'auto' assert_true: scroll-padding-block-start doesn't seem to be supported in the computed style expected true got false
    3 FAIL Property scroll-padding-block-start value '10px' assert_true: scroll-padding-block-start doesn't seem to be supported in the computed style expected true got false
    4 FAIL Property scroll-padding-block-start value '20%' assert_true: scroll-padding-block-start doesn't seem to be supported in the computed style expected true got false
    5 FAIL Property scroll-padding-block-start value 'calc(10px + 0.5em)' assert_true: scroll-padding-block-start doesn't seem to be supported in the computed style expected true got false
    6 FAIL Property scroll-padding-block-start value 'calc(10px - 0.5em)' assert_true: scroll-padding-block-start doesn't seem to be supported in the computed style expected true got false
    7 FAIL Property scroll-padding-block-start value 'calc(50% + 60px)' assert_true: scroll-padding-block-start doesn't seem to be supported in the computed style expected true got false
    8 FAIL Property scroll-padding-block-end value 'auto' assert_true: scroll-padding-block-end doesn't seem to be supported in the computed style expected true got false
    9 FAIL Property scroll-padding-block-end value '10px' assert_true: scroll-padding-block-end doesn't seem to be supported in the computed style expected true got false
    10 FAIL Property scroll-padding-block-end value '20%' assert_true: scroll-padding-block-end doesn't seem to be supported in the computed style expected true got false
    11 FAIL Property scroll-padding-block-end value 'calc(10px + 0.5em)' assert_true: scroll-padding-block-end doesn't seem to be supported in the computed style expected true got false
    12 FAIL Property scroll-padding-block-end value 'calc(10px - 0.5em)' assert_true: scroll-padding-block-end doesn't seem to be supported in the computed style expected true got false
    13 FAIL Property scroll-padding-block-end value 'calc(50% + 60px)' assert_true: scroll-padding-block-end doesn't seem to be supported in the computed style expected true got false
    14 FAIL Property scroll-padding-inline-start value 'auto' assert_true: scroll-padding-inline-start doesn't seem to be supported in the computed style expected true got false
    15 FAIL Property scroll-padding-inline-start value '10px' assert_true: scroll-padding-inline-start doesn't seem to be supported in the computed style expected true got false
    16 FAIL Property scroll-padding-inline-start value '20%' assert_true: scroll-padding-inline-start doesn't seem to be supported in the computed style expected true got false
    17 FAIL Property scroll-padding-inline-start value 'calc(10px + 0.5em)' assert_true: scroll-padding-inline-start doesn't seem to be supported in the computed style expected true got false
    18 FAIL Property scroll-padding-inline-start value 'calc(10px - 0.5em)' assert_true: scroll-padding-inline-start doesn't seem to be supported in the computed style expected true got false
    19 FAIL Property scroll-padding-inline-start value 'calc(50% + 60px)' assert_true: scroll-padding-inline-start doesn't seem to be supported in the computed style expected true got false
    20 FAIL Property scroll-padding-inline-end value 'auto' assert_true: scroll-padding-inline-end doesn't seem to be supported in the computed style expected true got false
    21 FAIL Property scroll-padding-inline-end value '10px' assert_true: scroll-padding-inline-end doesn't seem to be supported in the computed style expected true got false
    22 FAIL Property scroll-padding-inline-end value '20%' assert_true: scroll-padding-inline-end doesn't seem to be supported in the computed style expected true got false
    23 FAIL Property scroll-padding-inline-end value 'calc(10px + 0.5em)' assert_true: scroll-padding-inline-end doesn't seem to be supported in the computed style expected true got false
    24 FAIL Property scroll-padding-inline-end value 'calc(10px - 0.5em)' assert_true: scroll-padding-inline-end doesn't seem to be supported in the computed style expected true got false
    25 FAIL Property scroll-padding-inline-end value 'calc(50% + 60px)' assert_true: scroll-padding-inline-end doesn't seem to be supported in the computed style expected true got false
    26 FAIL Property scroll-padding-block value 'auto' assert_true: scroll-padding-block doesn't seem to be supported in the computed style expected true got false
    27 FAIL Property scroll-padding-block value '10px' assert_true: scroll-padding-block doesn't seem to be supported in the computed style expected true got false
    28 FAIL Property scroll-padding-block value '20%' assert_true: scroll-padding-block doesn't seem to be supported in the computed style expected true got false
    29 FAIL Property scroll-padding-block value 'calc(10px + 0.5em)' assert_true: scroll-padding-block doesn't seem to be supported in the computed style expected true got false
    30 FAIL Property scroll-padding-block value 'calc(10px - 0.5em)' assert_true: scroll-padding-block doesn't seem to be supported in the computed style expected true got false
    31 FAIL Property scroll-padding-block value 'calc(50% + 60px)' assert_true: scroll-padding-block doesn't seem to be supported in the computed style expected true got false
    32 FAIL Property scroll-padding-block value '1px 2px' assert_true: scroll-padding-block doesn't seem to be supported in the computed style expected true got false
    33 FAIL Property scroll-padding-block value '1px auto' assert_true: scroll-padding-block doesn't seem to be supported in the computed style expected true got false
    34 FAIL Property scroll-padding-block value 'auto auto' assert_true: scroll-padding-block doesn't seem to be supported in the computed style expected true got false
    35 FAIL Property scroll-padding-inline value 'auto' assert_true: scroll-padding-inline doesn't seem to be supported in the computed style expected true got false
    36 FAIL Property scroll-padding-inline value '10px' assert_true: scroll-padding-inline doesn't seem to be supported in the computed style expected true got false
    37 FAIL Property scroll-padding-inline value '20%' assert_true: scroll-padding-inline doesn't seem to be supported in the computed style expected true got false
    38 FAIL Property scroll-padding-inline value 'calc(10px + 0.5em)' assert_true: scroll-padding-inline doesn't seem to be supported in the computed style expected true got false
    39 FAIL Property scroll-padding-inline value 'calc(10px - 0.5em)' assert_true: scroll-padding-inline doesn't seem to be supported in the computed style expected true got false
    40 FAIL Property scroll-padding-inline value 'calc(50% + 60px)' assert_true: scroll-padding-inline doesn't seem to be supported in the computed style expected true got false
    41 FAIL Property scroll-padding-inline value '1px 2px' assert_true: scroll-padding-inline doesn't seem to be supported in the computed style expected true got false
    42 FAIL Property scroll-padding-inline value '1px auto' assert_true: scroll-padding-inline doesn't seem to be supported in the computed style expected true got false
    43 FAIL Property scroll-padding-inline value 'auto auto' assert_true: scroll-padding-inline doesn't seem to be supported in the computed style expected true got false
     2PASS Property scroll-padding-block-start value 'auto'
     3PASS Property scroll-padding-block-start value '10px'
     4PASS Property scroll-padding-block-start value '20%'
     5PASS Property scroll-padding-block-start value 'calc(10px + 0.5em)'
     6PASS Property scroll-padding-block-start value 'calc(10px - 0.5em)'
     7PASS Property scroll-padding-block-start value 'calc(50% + 60px)'
     8PASS Property scroll-padding-block-end value 'auto'
     9PASS Property scroll-padding-block-end value '10px'
     10PASS Property scroll-padding-block-end value '20%'
     11PASS Property scroll-padding-block-end value 'calc(10px + 0.5em)'
     12PASS Property scroll-padding-block-end value 'calc(10px - 0.5em)'
     13PASS Property scroll-padding-block-end value 'calc(50% + 60px)'
     14PASS Property scroll-padding-inline-start value 'auto'
     15PASS Property scroll-padding-inline-start value '10px'
     16PASS Property scroll-padding-inline-start value '20%'
     17PASS Property scroll-padding-inline-start value 'calc(10px + 0.5em)'
     18PASS Property scroll-padding-inline-start value 'calc(10px - 0.5em)'
     19PASS Property scroll-padding-inline-start value 'calc(50% + 60px)'
     20PASS Property scroll-padding-inline-end value 'auto'
     21PASS Property scroll-padding-inline-end value '10px'
     22PASS Property scroll-padding-inline-end value '20%'
     23PASS Property scroll-padding-inline-end value 'calc(10px + 0.5em)'
     24PASS Property scroll-padding-inline-end value 'calc(10px - 0.5em)'
     25PASS Property scroll-padding-inline-end value 'calc(50% + 60px)'
     26PASS Property scroll-padding-block value 'auto'
     27PASS Property scroll-padding-block value '10px'
     28PASS Property scroll-padding-block value '20%'
     29PASS Property scroll-padding-block value 'calc(10px + 0.5em)'
     30PASS Property scroll-padding-block value 'calc(10px - 0.5em)'
     31PASS Property scroll-padding-block value 'calc(50% + 60px)'
     32PASS Property scroll-padding-block value '1px 2px'
     33PASS Property scroll-padding-block value '1px auto'
     34PASS Property scroll-padding-block value 'auto auto'
     35PASS Property scroll-padding-inline value 'auto'
     36PASS Property scroll-padding-inline value '10px'
     37PASS Property scroll-padding-inline value '20%'
     38PASS Property scroll-padding-inline value 'calc(10px + 0.5em)'
     39PASS Property scroll-padding-inline value 'calc(10px - 0.5em)'
     40PASS Property scroll-padding-inline value 'calc(50% + 60px)'
     41PASS Property scroll-padding-inline value '1px 2px'
     42PASS Property scroll-padding-inline value '1px auto'
     43PASS Property scroll-padding-inline value 'auto auto'
    4444
  • trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-snap/parsing/scroll-padding-block-inline-shorthand-expected.txt

    r268250 r272035  
    11
    2 FAIL e.style['scroll-padding-block'] = "auto 10px" should set scroll-padding-block-end assert_equals: scroll-padding-block-end should be canonical expected (string) "10px" but got (undefined) undefined
    3 FAIL e.style['scroll-padding-block'] = "auto 10px" should set scroll-padding-block-start assert_equals: scroll-padding-block-start should be canonical expected (string) "auto" but got (undefined) undefined
    4 FAIL e.style['scroll-padding-block'] = "auto 10px" should not set unrelated longhands assert_true: expected true got false
    5 FAIL e.style['scroll-padding-block'] = "20%" should set scroll-padding-block-end assert_equals: scroll-padding-block-end should be canonical expected (string) "20%" but got (undefined) undefined
    6 FAIL e.style['scroll-padding-block'] = "20%" should set scroll-padding-block-start assert_equals: scroll-padding-block-start should be canonical expected (string) "20%" but got (undefined) undefined
    7 FAIL e.style['scroll-padding-block'] = "20%" should not set unrelated longhands assert_true: expected true got false
    8 FAIL e.style['scroll-padding-inline'] = "10px auto" should set scroll-padding-inline-end assert_equals: scroll-padding-inline-end should be canonical expected (string) "auto" but got (undefined) undefined
    9 FAIL e.style['scroll-padding-inline'] = "10px auto" should set scroll-padding-inline-start assert_equals: scroll-padding-inline-start should be canonical expected (string) "10px" but got (undefined) undefined
    10 FAIL e.style['scroll-padding-inline'] = "10px auto" should not set unrelated longhands assert_true: expected true got false
    11 FAIL e.style['scroll-padding-inline'] = "0%" should set scroll-padding-inline-end assert_equals: scroll-padding-inline-end should be canonical expected (string) "0%" but got (undefined) undefined
    12 FAIL e.style['scroll-padding-inline'] = "0%" should set scroll-padding-inline-start assert_equals: scroll-padding-inline-start should be canonical expected (string) "0%" but got (undefined) undefined
    13 FAIL e.style['scroll-padding-inline'] = "0%" should not set unrelated longhands assert_true: expected true got false
     2PASS e.style['scroll-padding-block'] = "auto 10px" should set scroll-padding-block-end
     3PASS e.style['scroll-padding-block'] = "auto 10px" should set scroll-padding-block-start
     4PASS e.style['scroll-padding-block'] = "auto 10px" should not set unrelated longhands
     5PASS e.style['scroll-padding-block'] = "20%" should set scroll-padding-block-end
     6PASS e.style['scroll-padding-block'] = "20%" should set scroll-padding-block-start
     7PASS e.style['scroll-padding-block'] = "20%" should not set unrelated longhands
     8PASS e.style['scroll-padding-inline'] = "10px auto" should set scroll-padding-inline-end
     9PASS e.style['scroll-padding-inline'] = "10px auto" should set scroll-padding-inline-start
     10PASS e.style['scroll-padding-inline'] = "10px auto" should not set unrelated longhands
     11PASS e.style['scroll-padding-inline'] = "0%" should set scroll-padding-inline-end
     12PASS e.style['scroll-padding-inline'] = "0%" should set scroll-padding-inline-start
     13PASS e.style['scroll-padding-inline'] = "0%" should not set unrelated longhands
    1414
  • trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-snap/parsing/scroll-padding-block-inline-valid-expected.txt

    r268250 r272035  
    11
    2 FAIL e.style['scroll-padding-block-start'] = "auto" should set the property value assert_not_equals: property should be set got disallowed value ""
    3 FAIL e.style['scroll-padding-block-start'] = "10px" should set the property value assert_not_equals: property should be set got disallowed value ""
    4 FAIL e.style['scroll-padding-block-start'] = "20%" should set the property value assert_not_equals: property should be set got disallowed value ""
    5 FAIL e.style['scroll-padding-block-start'] = "calc(2em + 3ex)" should set the property value assert_not_equals: property should be set got disallowed value ""
    6 FAIL e.style['scroll-padding-block-start'] = "calc(50% + 60px)" should set the property value assert_not_equals: property should be set got disallowed value ""
    7 FAIL e.style['scroll-padding-block-end'] = "auto" should set the property value assert_not_equals: property should be set got disallowed value ""
    8 FAIL e.style['scroll-padding-block-end'] = "10px" should set the property value assert_not_equals: property should be set got disallowed value ""
    9 FAIL e.style['scroll-padding-block-end'] = "20%" should set the property value assert_not_equals: property should be set got disallowed value ""
    10 FAIL e.style['scroll-padding-block-end'] = "calc(2em + 3ex)" should set the property value assert_not_equals: property should be set got disallowed value ""
    11 FAIL e.style['scroll-padding-block-end'] = "calc(50% + 60px)" should set the property value assert_not_equals: property should be set got disallowed value ""
    12 FAIL e.style['scroll-padding-inline-start'] = "auto" should set the property value assert_not_equals: property should be set got disallowed value ""
    13 FAIL e.style['scroll-padding-inline-start'] = "10px" should set the property value assert_not_equals: property should be set got disallowed value ""
    14 FAIL e.style['scroll-padding-inline-start'] = "20%" should set the property value assert_not_equals: property should be set got disallowed value ""
    15 FAIL e.style['scroll-padding-inline-start'] = "calc(2em + 3ex)" should set the property value assert_not_equals: property should be set got disallowed value ""
    16 FAIL e.style['scroll-padding-inline-start'] = "calc(50% + 60px)" should set the property value assert_not_equals: property should be set got disallowed value ""
    17 FAIL e.style['scroll-padding-inline-end'] = "auto" should set the property value assert_not_equals: property should be set got disallowed value ""
    18 FAIL e.style['scroll-padding-inline-end'] = "10px" should set the property value assert_not_equals: property should be set got disallowed value ""
    19 FAIL e.style['scroll-padding-inline-end'] = "20%" should set the property value assert_not_equals: property should be set got disallowed value ""
    20 FAIL e.style['scroll-padding-inline-end'] = "calc(2em + 3ex)" should set the property value assert_not_equals: property should be set got disallowed value ""
    21 FAIL e.style['scroll-padding-inline-end'] = "calc(50% + 60px)" should set the property value assert_not_equals: property should be set got disallowed value ""
    22 FAIL e.style['scroll-padding-block'] = "auto" should set the property value assert_not_equals: property should be set got disallowed value ""
    23 FAIL e.style['scroll-padding-block'] = "10px" should set the property value assert_not_equals: property should be set got disallowed value ""
    24 FAIL e.style['scroll-padding-block'] = "20%" should set the property value assert_not_equals: property should be set got disallowed value ""
    25 FAIL e.style['scroll-padding-block'] = "calc(2em + 3ex)" should set the property value assert_not_equals: property should be set got disallowed value ""
    26 FAIL e.style['scroll-padding-block'] = "calc(50% + 60px)" should set the property value assert_not_equals: property should be set got disallowed value ""
    27 FAIL e.style['scroll-padding-block'] = "1px 2px" should set the property value assert_not_equals: property should be set got disallowed value ""
    28 FAIL e.style['scroll-padding-block'] = "1px auto" should set the property value assert_not_equals: property should be set got disallowed value ""
    29 FAIL e.style['scroll-padding-block'] = "auto auto" should set the property value assert_not_equals: property should be set got disallowed value ""
    30 FAIL e.style['scroll-padding-inline'] = "auto" should set the property value assert_not_equals: property should be set got disallowed value ""
    31 FAIL e.style['scroll-padding-inline'] = "10px" should set the property value assert_not_equals: property should be set got disallowed value ""
    32 FAIL e.style['scroll-padding-inline'] = "20%" should set the property value assert_not_equals: property should be set got disallowed value ""
    33 FAIL e.style['scroll-padding-inline'] = "calc(2em + 3ex)" should set the property value assert_not_equals: property should be set got disallowed value ""
    34 FAIL e.style['scroll-padding-inline'] = "calc(50% + 60px)" should set the property value assert_not_equals: property should be set got disallowed value ""
    35 FAIL e.style['scroll-padding-inline'] = "1px 2px" should set the property value assert_not_equals: property should be set got disallowed value ""
    36 FAIL e.style['scroll-padding-inline'] = "1px auto" should set the property value assert_not_equals: property should be set got disallowed value ""
    37 FAIL e.style['scroll-padding-inline'] = "auto auto" should set the property value assert_not_equals: property should be set got disallowed value ""
     2PASS e.style['scroll-padding-block-start'] = "auto" should set the property value
     3PASS e.style['scroll-padding-block-start'] = "10px" should set the property value
     4PASS e.style['scroll-padding-block-start'] = "20%" should set the property value
     5PASS e.style['scroll-padding-block-start'] = "calc(2em + 3ex)" should set the property value
     6PASS e.style['scroll-padding-block-start'] = "calc(50% + 60px)" should set the property value
     7PASS e.style['scroll-padding-block-end'] = "auto" should set the property value
     8PASS e.style['scroll-padding-block-end'] = "10px" should set the property value
     9PASS e.style['scroll-padding-block-end'] = "20%" should set the property value
     10PASS e.style['scroll-padding-block-end'] = "calc(2em + 3ex)" should set the property value
     11PASS e.style['scroll-padding-block-end'] = "calc(50% + 60px)" should set the property value
     12PASS e.style['scroll-padding-inline-start'] = "auto" should set the property value
     13PASS e.style['scroll-padding-inline-start'] = "10px" should set the property value
     14PASS e.style['scroll-padding-inline-start'] = "20%" should set the property value
     15PASS e.style['scroll-padding-inline-start'] = "calc(2em + 3ex)" should set the property value
     16PASS e.style['scroll-padding-inline-start'] = "calc(50% + 60px)" should set the property value
     17PASS e.style['scroll-padding-inline-end'] = "auto" should set the property value
     18PASS e.style['scroll-padding-inline-end'] = "10px" should set the property value
     19PASS e.style['scroll-padding-inline-end'] = "20%" should set the property value
     20PASS e.style['scroll-padding-inline-end'] = "calc(2em + 3ex)" should set the property value
     21PASS e.style['scroll-padding-inline-end'] = "calc(50% + 60px)" should set the property value
     22PASS e.style['scroll-padding-block'] = "auto" should set the property value
     23PASS e.style['scroll-padding-block'] = "10px" should set the property value
     24PASS e.style['scroll-padding-block'] = "20%" should set the property value
     25PASS e.style['scroll-padding-block'] = "calc(2em + 3ex)" should set the property value
     26PASS e.style['scroll-padding-block'] = "calc(50% + 60px)" should set the property value
     27PASS e.style['scroll-padding-block'] = "1px 2px" should set the property value
     28PASS e.style['scroll-padding-block'] = "1px auto" should set the property value
     29PASS e.style['scroll-padding-block'] = "auto auto" should set the property value
     30PASS e.style['scroll-padding-inline'] = "auto" should set the property value
     31PASS e.style['scroll-padding-inline'] = "10px" should set the property value
     32PASS e.style['scroll-padding-inline'] = "20%" should set the property value
     33PASS e.style['scroll-padding-inline'] = "calc(2em + 3ex)" should set the property value
     34PASS e.style['scroll-padding-inline'] = "calc(50% + 60px)" should set the property value
     35PASS e.style['scroll-padding-inline'] = "1px 2px" should set the property value
     36PASS e.style['scroll-padding-inline'] = "1px auto" should set the property value
     37PASS e.style['scroll-padding-inline'] = "auto auto" should set the property value
    3838
  • trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-snap/parsing/scroll-padding-computed-expected.txt

    r268250 r272035  
    11
    2 FAIL Property scroll-padding-top value 'auto' assert_true: 'auto' is a supported value for scroll-padding-top. expected true got false
     2PASS Property scroll-padding-top value 'auto'
    33PASS Property scroll-padding-top value '0'
    44PASS Property scroll-padding-top value '10px'
    55PASS Property scroll-padding-top value '20%'
    66PASS Property scroll-padding-top value 'calc(10px + 0.5em)'
    7 FAIL Property scroll-padding-top value 'calc(10px - 0.5em)' assert_equals: expected "0px" but got "-10px"
     7PASS Property scroll-padding-top value 'calc(10px - 0.5em)'
    88PASS Property scroll-padding-top value 'calc(50% + 60px)'
    9 FAIL Property scroll-padding-right value 'auto' assert_true: 'auto' is a supported value for scroll-padding-right. expected true got false
     9PASS Property scroll-padding-right value 'auto'
    1010PASS Property scroll-padding-right value '0'
    1111PASS Property scroll-padding-right value '10px'
    1212PASS Property scroll-padding-right value '20%'
    1313PASS Property scroll-padding-right value 'calc(10px + 0.5em)'
    14 FAIL Property scroll-padding-right value 'calc(10px - 0.5em)' assert_equals: expected "0px" but got "-10px"
     14PASS Property scroll-padding-right value 'calc(10px - 0.5em)'
    1515PASS Property scroll-padding-right value 'calc(50% + 60px)'
    16 FAIL Property scroll-padding-bottom value 'auto' assert_true: 'auto' is a supported value for scroll-padding-bottom. expected true got false
     16PASS Property scroll-padding-bottom value 'auto'
    1717PASS Property scroll-padding-bottom value '0'
    1818PASS Property scroll-padding-bottom value '10px'
    1919PASS Property scroll-padding-bottom value '20%'
    2020PASS Property scroll-padding-bottom value 'calc(10px + 0.5em)'
    21 FAIL Property scroll-padding-bottom value 'calc(10px - 0.5em)' assert_equals: expected "0px" but got "-10px"
     21PASS Property scroll-padding-bottom value 'calc(10px - 0.5em)'
    2222PASS Property scroll-padding-bottom value 'calc(50% + 60px)'
    23 FAIL Property scroll-padding-left value 'auto' assert_true: 'auto' is a supported value for scroll-padding-left. expected true got false
     23PASS Property scroll-padding-left value 'auto'
    2424PASS Property scroll-padding-left value '0'
    2525PASS Property scroll-padding-left value '10px'
    2626PASS Property scroll-padding-left value '20%'
    2727PASS Property scroll-padding-left value 'calc(10px + 0.5em)'
    28 FAIL Property scroll-padding-left value 'calc(10px - 0.5em)' assert_equals: expected "0px" but got "-10px"
     28PASS Property scroll-padding-left value 'calc(10px - 0.5em)'
    2929PASS Property scroll-padding-left value 'calc(50% + 60px)'
    30 FAIL Property scroll-padding value 'auto' assert_true: 'auto' is a supported value for scroll-padding. expected true got false
     30PASS Property scroll-padding value 'auto'
    3131PASS Property scroll-padding value '10px'
    3232PASS Property scroll-padding value '0'
    3333PASS Property scroll-padding value '20%'
    3434PASS Property scroll-padding value 'calc(10px + 0.5em)'
    35 FAIL Property scroll-padding value 'calc(10px - 0.5em)' assert_equals: expected "0px" but got "-10px"
     35PASS Property scroll-padding value 'calc(10px - 0.5em)'
    3636PASS Property scroll-padding value '1px 2px'
    3737PASS Property scroll-padding value '1px 2px 3%'
    3838PASS Property scroll-padding value '1px 2px 3% 4px'
    39 FAIL Property scroll-padding value '1px auto' assert_true: '1px auto' is a supported value for scroll-padding. expected true got false
     39PASS Property scroll-padding value '1px auto'
    4040PASS Property scroll-padding value '0 0 0 0'
    41 FAIL Property scroll-padding value 'auto auto auto auto' assert_true: 'auto auto auto auto' is a supported value for scroll-padding. expected true got false
     41PASS Property scroll-padding value 'auto auto auto auto'
    4242
  • trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-snap/parsing/scroll-padding-invalid-expected.txt

    r268250 r272035  
    11
    22PASS e.style['scroll-padding-top'] = "20" should not set the property value
    3 FAIL e.style['scroll-padding-top'] = "-20px" should not set the property value assert_equals: expected "" but got "-20px"
     3PASS e.style['scroll-padding-top'] = "-20px" should not set the property value
    44PASS e.style['scroll-padding-top'] = "none" should not set the property value
    55PASS e.style['scroll-padding-top'] = "10px 20%" should not set the property value
    66PASS e.style['scroll-padding-top'] = "fit-content" should not set the property value
    77PASS e.style['scroll-padding-right'] = "20" should not set the property value
    8 FAIL e.style['scroll-padding-right'] = "-20px" should not set the property value assert_equals: expected "" but got "-20px"
     8PASS e.style['scroll-padding-right'] = "-20px" should not set the property value
    99PASS e.style['scroll-padding-right'] = "none" should not set the property value
    1010PASS e.style['scroll-padding-right'] = "10px 20%" should not set the property value
    1111PASS e.style['scroll-padding-right'] = "max-content" should not set the property value
    1212PASS e.style['scroll-padding-bottom'] = "20" should not set the property value
    13 FAIL e.style['scroll-padding-bottom'] = "-20px" should not set the property value assert_equals: expected "" but got "-20px"
     13PASS e.style['scroll-padding-bottom'] = "-20px" should not set the property value
    1414PASS e.style['scroll-padding-bottom'] = "none" should not set the property value
    1515PASS e.style['scroll-padding-bottom'] = "10px 20%" should not set the property value
    1616PASS e.style['scroll-padding-bottom'] = "min-content" should not set the property value
    1717PASS e.style['scroll-padding-left'] = "20" should not set the property value
    18 FAIL e.style['scroll-padding-left'] = "-20px" should not set the property value assert_equals: expected "" but got "-20px"
     18PASS e.style['scroll-padding-left'] = "-20px" should not set the property value
    1919PASS e.style['scroll-padding-left'] = "none" should not set the property value
    2020PASS e.style['scroll-padding-left'] = "10px 20%" should not set the property value
    2121PASS e.style['scroll-padding-left'] = "fit-content" should not set the property value
    2222PASS e.style['scroll-padding'] = "20" should not set the property value
    23 FAIL e.style['scroll-padding'] = "-20px" should not set the property value assert_equals: expected "" but got "-20px"
     23PASS e.style['scroll-padding'] = "-20px" should not set the property value
    2424PASS e.style['scroll-padding'] = "none" should not set the property value
    2525PASS e.style['scroll-padding'] = "calc(auto)" should not set the property value
  • trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-snap/parsing/scroll-padding-shorthand-expected.txt

    r268250 r272035  
    55PASS e.style['scroll-padding'] = "10px" should set scroll-padding-top
    66PASS e.style['scroll-padding'] = "10px" should not set unrelated longhands
    7 FAIL e.style['scroll-padding'] = "auto 20px" should set scroll-padding-bottom assert_equals: scroll-padding-bottom should be canonical expected "auto" but got ""
    8 FAIL e.style['scroll-padding'] = "auto 20px" should set scroll-padding-left assert_equals: scroll-padding-left should be canonical expected "20px" but got ""
    9 FAIL e.style['scroll-padding'] = "auto 20px" should set scroll-padding-right assert_equals: scroll-padding-right should be canonical expected "20px" but got ""
    10 FAIL e.style['scroll-padding'] = "auto 20px" should set scroll-padding-top assert_equals: scroll-padding-top should be canonical expected "auto" but got ""
    11 FAIL e.style['scroll-padding'] = "auto 20px" should not set unrelated longhands assert_true: expected true got false
     7PASS e.style['scroll-padding'] = "auto 20px" should set scroll-padding-bottom
     8PASS e.style['scroll-padding'] = "auto 20px" should set scroll-padding-left
     9PASS e.style['scroll-padding'] = "auto 20px" should set scroll-padding-right
     10PASS e.style['scroll-padding'] = "auto 20px" should set scroll-padding-top
     11PASS e.style['scroll-padding'] = "auto 20px" should not set unrelated longhands
    1212PASS e.style['scroll-padding'] = "1px 2px 3px" should set scroll-padding-bottom
    1313PASS e.style['scroll-padding'] = "1px 2px 3px" should set scroll-padding-left
  • trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-snap/parsing/scroll-padding-valid-expected.txt

    r268250 r272035  
    11
    2 FAIL e.style['scroll-padding-top'] = "auto" should set the property value assert_not_equals: property should be set got disallowed value ""
     2PASS e.style['scroll-padding-top'] = "auto" should set the property value
    33PASS e.style['scroll-padding-top'] = "0" should set the property value
    44PASS e.style['scroll-padding-top'] = "10px" should set the property value
     
    66PASS e.style['scroll-padding-top'] = "calc(2em + 3ex)" should set the property value
    77PASS e.style['scroll-padding-top'] = "calc(50% + 60px)" should set the property value
    8 FAIL e.style['scroll-padding-right'] = "auto" should set the property value assert_not_equals: property should be set got disallowed value ""
     8PASS e.style['scroll-padding-right'] = "auto" should set the property value
    99PASS e.style['scroll-padding-right'] = "0" should set the property value
    1010PASS e.style['scroll-padding-right'] = "10px" should set the property value
     
    1212PASS e.style['scroll-padding-right'] = "calc(2em + 3ex)" should set the property value
    1313PASS e.style['scroll-padding-right'] = "calc(50% + 60px)" should set the property value
    14 FAIL e.style['scroll-padding-bottom'] = "auto" should set the property value assert_not_equals: property should be set got disallowed value ""
     14PASS e.style['scroll-padding-bottom'] = "auto" should set the property value
    1515PASS e.style['scroll-padding-bottom'] = "0" should set the property value
    1616PASS e.style['scroll-padding-bottom'] = "10px" should set the property value
     
    1818PASS e.style['scroll-padding-bottom'] = "calc(2em + 3ex)" should set the property value
    1919PASS e.style['scroll-padding-bottom'] = "calc(50% + 60px)" should set the property value
    20 FAIL e.style['scroll-padding-left'] = "auto" should set the property value assert_not_equals: property should be set got disallowed value ""
     20PASS e.style['scroll-padding-left'] = "auto" should set the property value
    2121PASS e.style['scroll-padding-left'] = "0" should set the property value
    2222PASS e.style['scroll-padding-left'] = "10px" should set the property value
     
    2424PASS e.style['scroll-padding-left'] = "calc(2em + 3ex)" should set the property value
    2525PASS e.style['scroll-padding-left'] = "calc(50% + 60px)" should set the property value
    26 FAIL e.style['scroll-padding'] = "auto" should set the property value assert_not_equals: property should be set got disallowed value ""
     26PASS e.style['scroll-padding'] = "auto" should set the property value
    2727PASS e.style['scroll-padding'] = "10px" should set the property value
    2828PASS e.style['scroll-padding'] = "0" should set the property value
     
    3232PASS e.style['scroll-padding'] = "1px 2px 3%" should set the property value
    3333PASS e.style['scroll-padding'] = "1px 2px 3% 4px" should set the property value
    34 FAIL e.style['scroll-padding'] = "1px auto" should set the property value assert_not_equals: property should be set got disallowed value ""
     34PASS e.style['scroll-padding'] = "1px auto" should set the property value
    3535PASS e.style['scroll-padding'] = "0 0 0 0" should set the property value
    36 FAIL e.style['scroll-padding'] = "auto auto auto auto" should set the property value assert_not_equals: property should be set got disallowed value ""
     36PASS e.style['scroll-padding'] = "auto auto auto auto" should set the property value
    3737
  • trunk/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt

    r271447 r272035  
    88PASS whitespaces in value
    99PASS invalid property does not appear
    10 FAIL cssText on computed style declaration returns the empty string assert_equals: cssText is empty expected "" but got "align-content: normal; align-items: normal; align-self: auto; alignment-baseline: auto; all: ; alt: \"\"; animation-delay: 0s; animation-direction: normal; animation-duration: 0s; animation-fill-mode: none; animation-iteration-count: 1; animation-name: none; animation-play-state: running; animation-timing-function: ease; aspect-ratio: auto; background-attachment: scroll; background-blend-mode: normal; background-clip: border-box; background-color: rgba(0, 0, 0, 0); background-image: none; background-origin: padding-box; background-position-x: 0%; background-position-y: 0%; background-repeat: repeat; background-size: auto; baseline-shift: baseline; block-size: 0px; border-block-end-color: rgb(255, 0, 0); border-block-end-style: none; border-block-end-width: 0px; border-block-start-color: rgb(255, 0, 0); border-block-start-style: none; border-block-start-width: 0px; border-bottom-color: rgb(255, 0, 0); border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-bottom-style: none; border-bottom-width: 0px; border-collapse: separate; border-end-end-radius: 0px; border-end-start-radius: 0px; border-image-outset: 0px; border-image-repeat: stretch; border-image-slice: 100%; border-image-source: none; border-image-width: 1; border-inline-end-color: rgb(255, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(255, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(255, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(255, 0, 0); border-right-style: none; border-right-width: 0px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-color: rgb(255, 0, 0); border-top-left-radius: 0px; border-top-right-radius: 0px; border-top-style: none; border-top-width: 0px; bottom: auto; box-shadow: none; box-sizing: content-box; break-after: auto; break-before: auto; break-inside: auto; buffered-rendering: auto; caption-side: top; caret-color: rgb(255, 0, 0); clear: none; clip: auto; clip-path: none; clip-rule: nonzero; color: rgb(255, 0, 0); color-interpolation: sRGB; color-interpolation-filters: linearRGB; color-rendering: auto; color-scheme: auto; column-count: auto; column-fill: balance; column-gap: normal; column-rule-color: rgb(255, 0, 0); column-rule-style: none; column-rule-width: 0px; column-span: none; column-width: auto; content: ; counter-increment: none; counter-reset: none; cursor: auto; cx: 0px; cy: 0px; direction: ltr; display: block; dominant-baseline: auto; empty-cells: show; fill: rgb(0, 0, 0); fill-opacity: 1; fill-rule: nonzero; filter: none; flex-basis: auto; flex-direction: row; flex-grow: 0; flex-shrink: 1; flex-wrap: nowrap; float: none; flood-color: rgb(0, 0, 0); flood-opacity: 1; font-family: -webkit-standard; font-feature-settings: normal; font-optical-sizing: auto; font-size: 13.333333015441895px; font-stretch: normal; font-style: normal; font-synthesis: style weight small-caps; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; font-weight: normal; glyph-orientation-horizontal: 0deg; glyph-orientation-vertical: auto; grid-auto-columns: auto; grid-auto-flow: row; grid-auto-rows: auto; grid-column-end: auto; grid-column-start: auto; grid-row-end: auto; grid-row-start: auto; grid-template-areas: none; grid-template-columns: none; grid-template-rows: none; hanging-punctuation: none; height: 0px; image-orientation: from-image; image-rendering: auto; inline-size: 784px; inset-block-end: auto; inset-block-start: auto; inset-inline-end: auto; inset-inline-start: auto; isolation: auto; justify-content: normal; justify-items: normal; justify-self: auto; kerning: 0; left: auto; letter-spacing: normal; lighting-color: rgb(255, 255, 255); line-break: auto; line-height: normal; list-style-image: none; list-style-position: outside; list-style-type: disc; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; marker-end: none; marker-mid: none; marker-start: none; mask: none; mask-type: luminance; math-style: normal; max-block-size: none; max-height: none; max-inline-size: none; max-width: none; min-block-size: 0px; min-height: 0px; min-inline-size: 0px; min-width: 0px; mix-blend-mode: normal; object-fit: fill; object-position: 50% 50%; opacity: 1; order: 0; orphans: auto; outline-color: rgb(255, 0, 0); outline-offset: 0px; outline-style: none; outline-width: 0px; overflow-wrap: normal; overflow-x: visible; overflow-y: visible; overscroll-behavior-x: auto; overscroll-behavior-y: auto; padding-block-end: 0px; padding-block-start: 0px; padding-bottom: 0px; padding-inline-end: 0px; padding-inline-start: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; page-break-after: auto; page-break-before: auto; page-break-inside: auto; paint-order: normal; perspective: none; perspective-origin-x: ; perspective-origin-y: ; pointer-events: auto; position: static; quotes: auto; r: 0px; resize: none; right: auto; rotate: none; row-gap: normal; rx: auto; ry: auto; scale: none; scroll-behavior: auto; scroll-margin-bottom: 0px; scroll-margin-left: 0px; scroll-margin-right: 0px; scroll-margin-top: 0px; scroll-padding-bottom: 0px; scroll-padding-left: 0px; scroll-padding-right: 0px; scroll-padding-top: 0px; scroll-snap-align: none none; scroll-snap-type: none; shape-image-threshold: 0; shape-margin: 0px; shape-outside: none; shape-rendering: auto; size: ; speak-as: normal; stop-color: rgb(0, 0, 0); stop-opacity: 1; stroke: none; stroke-color: rgba(0, 0, 0, 0); stroke-dasharray: none; stroke-dashoffset: 0px; stroke-linecap: butt; stroke-linejoin: miter; stroke-miterlimit: 4; stroke-opacity: 1; stroke-width: 1px; tab-size: 8; table-layout: auto; text-align: start; text-anchor: start; text-decoration: none; text-decoration-color: rgb(255, 0, 0); text-decoration-line: none; text-decoration-skip: auto; text-decoration-style: solid; text-decoration-thickness: auto; text-indent: 0px; text-orientation: mixed; text-overflow: clip; text-rendering: auto; text-shadow: none; text-transform: none; text-underline-offset: auto; text-underline-position: auto; top: auto; touch-action: auto; transform: none; transform-box: view-box; transform-origin-x: ; transform-origin-y: ; transform-origin-z: ; transform-style: flat; transition-delay: 0s; transition-duration: 0s; transition-property: all; transition-timing-function: ease; translate: none; unicode-bidi: normal; vector-effect: none; vertical-align: baseline; visibility: visible; white-space: normal; widows: auto; width: 784px; will-change: auto; word-break: normal; word-spacing: 0px; word-wrap: normal; writing-mode: horizontal-tb; x: 0px; y: 0px; z-index: auto; zoom: 1; -apple-color-filter: none; -apple-pay-button-style: black; -apple-pay-button-type: plain; -apple-trailing-word: auto; -webkit-appearance: none; -webkit-backdrop-filter: none; -webkit-backface-visibility: visible; -webkit-background-clip: border-box; -webkit-background-composite: source-over; -webkit-background-origin: padding-box; -webkit-background-size: auto; -webkit-border-fit: border; -webkit-border-horizontal-spacing: 0px; -webkit-border-image: none; -webkit-border-vertical-spacing: 0px; -webkit-box-align: stretch; -webkit-box-decoration-break: slice; -webkit-box-direction: normal; -webkit-box-flex: 0; -webkit-box-flex-group: 1; -webkit-box-lines: single; -webkit-box-ordinal-group: 1; -webkit-box-orient: horizontal; -webkit-box-pack: start; -webkit-box-reflect: none; -webkit-box-shadow: none; -webkit-column-axis: auto; -webkit-column-break-after: auto; -webkit-column-break-before: auto; -webkit-column-break-inside: auto; -webkit-column-progression: normal; -webkit-cursor-visibility: auto; -webkit-font-kerning: auto; -webkit-font-smoothing: auto; -webkit-hyphenate-character: auto; -webkit-hyphenate-limit-after: auto; -webkit-hyphenate-limit-before: auto; -webkit-hyphenate-limit-lines: no-limit; -webkit-hyphens: manual; -webkit-initial-letter: normal; -webkit-line-align: none; -webkit-line-box-contain: block inline replaced; -webkit-line-clamp: none; -webkit-line-grid: none; -webkit-line-snap: none; -webkit-locale: auto; -webkit-margin-after-collapse: collapse; -webkit-margin-before-collapse: collapse; -webkit-margin-bottom-collapse: collapse; -webkit-margin-top-collapse: collapse; -webkit-mask-box-image: none; -webkit-mask-box-image-outset: 0px; -webkit-mask-box-image-repeat: stretch; -webkit-mask-box-image-slice: 0 fill; -webkit-mask-box-image-source: none; -webkit-mask-box-image-width: auto; -webkit-mask-clip: border-box; -webkit-mask-composite: source-over; -webkit-mask-image: none; -webkit-mask-origin: border-box; -webkit-mask-position-x: 0%; -webkit-mask-position-y: 0%; -webkit-mask-repeat: repeat; -webkit-mask-size: auto; -webkit-mask-source-type: alpha; -webkit-nbsp-mode: normal; -webkit-print-color-adjust: economy; -webkit-rtl-ordering: logical; -webkit-ruby-position: before; -webkit-text-combine: none; -webkit-text-emphasis-color: rgb(255, 0, 0); -webkit-text-emphasis-position: over right; -webkit-text-emphasis-style: none; -webkit-text-fill-color: rgb(255, 0, 0); -webkit-text-orientation: mixed; -webkit-text-security: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-color: rgb(255, 0, 0); -webkit-text-stroke-width: 0px; -webkit-text-zoom: normal; -webkit-transform-style: flat; -webkit-user-drag: auto; -webkit-user-modify: read-only; -webkit-user-select: text;"
     10FAIL cssText on computed style declaration returns the empty string assert_equals: cssText is empty expected "" but got "align-content: normal; align-items: normal; align-self: auto; alignment-baseline: auto; all: ; alt: \"\"; animation-delay: 0s; animation-direction: normal; animation-duration: 0s; animation-fill-mode: none; animation-iteration-count: 1; animation-name: none; animation-play-state: running; animation-timing-function: ease; aspect-ratio: auto; background-attachment: scroll; background-blend-mode: normal; background-clip: border-box; background-color: rgba(0, 0, 0, 0); background-image: none; background-origin: padding-box; background-position-x: 0%; background-position-y: 0%; background-repeat: repeat; background-size: auto; baseline-shift: baseline; block-size: 0px; border-block-end-color: rgb(255, 0, 0); border-block-end-style: none; border-block-end-width: 0px; border-block-start-color: rgb(255, 0, 0); border-block-start-style: none; border-block-start-width: 0px; border-bottom-color: rgb(255, 0, 0); border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-bottom-style: none; border-bottom-width: 0px; border-collapse: separate; border-end-end-radius: 0px; border-end-start-radius: 0px; border-image-outset: 0px; border-image-repeat: stretch; border-image-slice: 100%; border-image-source: none; border-image-width: 1; border-inline-end-color: rgb(255, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(255, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(255, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(255, 0, 0); border-right-style: none; border-right-width: 0px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-color: rgb(255, 0, 0); border-top-left-radius: 0px; border-top-right-radius: 0px; border-top-style: none; border-top-width: 0px; bottom: auto; box-shadow: none; box-sizing: content-box; break-after: auto; break-before: auto; break-inside: auto; buffered-rendering: auto; caption-side: top; caret-color: rgb(255, 0, 0); clear: none; clip: auto; clip-path: none; clip-rule: nonzero; color: rgb(255, 0, 0); color-interpolation: sRGB; color-interpolation-filters: linearRGB; color-rendering: auto; color-scheme: auto; column-count: auto; column-fill: balance; column-gap: normal; column-rule-color: rgb(255, 0, 0); column-rule-style: none; column-rule-width: 0px; column-span: none; column-width: auto; content: ; counter-increment: none; counter-reset: none; cursor: auto; cx: 0px; cy: 0px; direction: ltr; display: block; dominant-baseline: auto; empty-cells: show; fill: rgb(0, 0, 0); fill-opacity: 1; fill-rule: nonzero; filter: none; flex-basis: auto; flex-direction: row; flex-grow: 0; flex-shrink: 1; flex-wrap: nowrap; float: none; flood-color: rgb(0, 0, 0); flood-opacity: 1; font-family: -webkit-standard; font-feature-settings: normal; font-optical-sizing: auto; font-size: 13.333333015441895px; font-stretch: normal; font-style: normal; font-synthesis: style weight small-caps; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; font-weight: normal; glyph-orientation-horizontal: 0deg; glyph-orientation-vertical: auto; grid-auto-columns: auto; grid-auto-flow: row; grid-auto-rows: auto; grid-column-end: auto; grid-column-start: auto; grid-row-end: auto; grid-row-start: auto; grid-template-areas: none; grid-template-columns: none; grid-template-rows: none; hanging-punctuation: none; height: 0px; image-orientation: from-image; image-rendering: auto; inline-size: 784px; inset-block-end: auto; inset-block-start: auto; inset-inline-end: auto; inset-inline-start: auto; isolation: auto; justify-content: normal; justify-items: normal; justify-self: auto; kerning: 0; left: auto; letter-spacing: normal; lighting-color: rgb(255, 255, 255); line-break: auto; line-height: normal; list-style-image: none; list-style-position: outside; list-style-type: disc; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; marker-end: none; marker-mid: none; marker-start: none; mask: none; mask-type: luminance; math-style: normal; max-block-size: none; max-height: none; max-inline-size: none; max-width: none; min-block-size: 0px; min-height: 0px; min-inline-size: 0px; min-width: 0px; mix-blend-mode: normal; object-fit: fill; object-position: 50% 50%; opacity: 1; order: 0; orphans: auto; outline-color: rgb(255, 0, 0); outline-offset: 0px; outline-style: none; outline-width: 0px; overflow-wrap: normal; overflow-x: visible; overflow-y: visible; overscroll-behavior-x: auto; overscroll-behavior-y: auto; padding-block-end: 0px; padding-block-start: 0px; padding-bottom: 0px; padding-inline-end: 0px; padding-inline-start: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; page-break-after: auto; page-break-before: auto; page-break-inside: auto; paint-order: normal; perspective: none; perspective-origin-x: ; perspective-origin-y: ; pointer-events: auto; position: static; quotes: auto; r: 0px; resize: none; right: auto; rotate: none; row-gap: normal; rx: auto; ry: auto; scale: none; scroll-behavior: auto; scroll-margin-block: 0px; scroll-margin-bottom: 0px; scroll-margin-inline: 0px; scroll-margin-left: 0px; scroll-margin-right: 0px; scroll-margin-top: 0px; scroll-padding-block: auto; scroll-padding-bottom: auto; scroll-padding-inline: auto; scroll-padding-left: auto; scroll-padding-right: auto; scroll-padding-top: auto; scroll-snap-align: none none; scroll-snap-type: none; shape-image-threshold: 0; shape-margin: 0px; shape-outside: none; shape-rendering: auto; size: ; speak-as: normal; stop-color: rgb(0, 0, 0); stop-opacity: 1; stroke: none; stroke-color: rgba(0, 0, 0, 0); stroke-dasharray: none; stroke-dashoffset: 0px; stroke-linecap: butt; stroke-linejoin: miter; stroke-miterlimit: 4; stroke-opacity: 1; stroke-width: 1px; tab-size: 8; table-layout: auto; text-align: start; text-anchor: start; text-decoration: none; text-decoration-color: rgb(255, 0, 0); text-decoration-line: none; text-decoration-skip: auto; text-decoration-style: solid; text-decoration-thickness: auto; text-indent: 0px; text-orientation: mixed; text-overflow: clip; text-rendering: auto; text-shadow: none; text-transform: none; text-underline-offset: auto; text-underline-position: auto; top: auto; touch-action: auto; transform: none; transform-box: view-box; transform-origin-x: ; transform-origin-y: ; transform-origin-z: ; transform-style: flat; transition-delay: 0s; transition-duration: 0s; transition-property: all; transition-timing-function: ease; translate: none; unicode-bidi: normal; vector-effect: none; vertical-align: baseline; visibility: visible; white-space: normal; widows: auto; width: 784px; will-change: auto; word-break: normal; word-spacing: 0px; word-wrap: normal; writing-mode: horizontal-tb; x: 0px; y: 0px; z-index: auto; zoom: 1; -apple-color-filter: none; -apple-pay-button-style: black; -apple-pay-button-type: plain; -apple-trailing-word: auto; -webkit-appearance: none; -webkit-backdrop-filter: none; -webkit-backface-visibility: visible; -webkit-background-clip: border-box; -webkit-background-composite: source-over; -webkit-background-origin: padding-box; -webkit-background-size: auto; -webkit-border-fit: border; -webkit-border-horizontal-spacing: 0px; -webkit-border-image: none; -webkit-border-vertical-spacing: 0px; -webkit-box-align: stretch; -webkit-box-decoration-break: slice; -webkit-box-direction: normal; -webkit-box-flex: 0; -webkit-box-flex-group: 1; -webkit-box-lines: single; -webkit-box-ordinal-group: 1; -webkit-box-orient: horizontal; -webkit-box-pack: start; -webkit-box-reflect: none; -webkit-box-shadow: none; -webkit-column-axis: auto; -webkit-column-break-after: auto; -webkit-column-break-before: auto; -webkit-column-break-inside: auto; -webkit-column-progression: normal; -webkit-cursor-visibility: auto; -webkit-font-kerning: auto; -webkit-font-smoothing: auto; -webkit-hyphenate-character: auto; -webkit-hyphenate-limit-after: auto; -webkit-hyphenate-limit-before: auto; -webkit-hyphenate-limit-lines: no-limit; -webkit-hyphens: manual; -webkit-initial-letter: normal; -webkit-line-align: none; -webkit-line-box-contain: block inline replaced; -webkit-line-clamp: none; -webkit-line-grid: none; -webkit-line-snap: none; -webkit-locale: auto; -webkit-margin-after-collapse: collapse; -webkit-margin-before-collapse: collapse; -webkit-margin-bottom-collapse: collapse; -webkit-margin-top-collapse: collapse; -webkit-mask-box-image: none; -webkit-mask-box-image-outset: 0px; -webkit-mask-box-image-repeat: stretch; -webkit-mask-box-image-slice: 0 fill; -webkit-mask-box-image-source: none; -webkit-mask-box-image-width: auto; -webkit-mask-clip: border-box; -webkit-mask-composite: source-over; -webkit-mask-image: none; -webkit-mask-origin: border-box; -webkit-mask-position-x: 0%; -webkit-mask-position-y: 0%; -webkit-mask-repeat: repeat; -webkit-mask-size: auto; -webkit-mask-source-type: alpha; -webkit-nbsp-mode: normal; -webkit-print-color-adjust: economy; -webkit-rtl-ordering: logical; -webkit-ruby-position: before; -webkit-text-combine: none; -webkit-text-emphasis-color: rgb(255, 0, 0); -webkit-text-emphasis-position: over right; -webkit-text-emphasis-style: none; -webkit-text-fill-color: rgb(255, 0, 0); -webkit-text-orientation: mixed; -webkit-text-security: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-color: rgb(255, 0, 0); -webkit-text-stroke-width: 0px; -webkit-text-zoom: normal; -webkit-transform-style: flat; -webkit-user-drag: auto; -webkit-user-modify: read-only; -webkit-user-select: text;"
    1111
  • trunk/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt

    r271447 r272035  
    88PASS whitespaces in value
    99PASS invalid property does not appear
    10 FAIL cssText on computed style declaration returns the empty string assert_equals: cssText is empty expected "" but got "align-content: normal; align-items: normal; align-self: auto; alignment-baseline: auto; all: ; alt: \"\"; animation-delay: 0s; animation-direction: normal; animation-duration: 0s; animation-fill-mode: none; animation-iteration-count: 1; animation-name: none; animation-play-state: running; animation-timing-function: ease; aspect-ratio: auto; background-attachment: scroll; background-blend-mode: normal; background-clip: border-box; background-color: rgba(0, 0, 0, 0); background-image: none; background-origin: padding-box; background-position-x: 0%; background-position-y: 0%; background-repeat: repeat; background-size: auto; baseline-shift: baseline; block-size: 0px; border-block-end-color: rgb(255, 0, 0); border-block-end-style: none; border-block-end-width: 0px; border-block-start-color: rgb(255, 0, 0); border-block-start-style: none; border-block-start-width: 0px; border-bottom-color: rgb(255, 0, 0); border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-bottom-style: none; border-bottom-width: 0px; border-collapse: separate; border-end-end-radius: 0px; border-end-start-radius: 0px; border-image-outset: 0px; border-image-repeat: stretch; border-image-slice: 100%; border-image-source: none; border-image-width: 1; border-inline-end-color: rgb(255, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(255, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(255, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(255, 0, 0); border-right-style: none; border-right-width: 0px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-color: rgb(255, 0, 0); border-top-left-radius: 0px; border-top-right-radius: 0px; border-top-style: none; border-top-width: 0px; bottom: auto; box-shadow: none; box-sizing: content-box; break-after: auto; break-before: auto; break-inside: auto; buffered-rendering: auto; caption-side: top; caret-color: rgb(255, 0, 0); clear: none; clip: auto; clip-path: none; clip-rule: nonzero; color: rgb(255, 0, 0); color-interpolation: sRGB; color-interpolation-filters: linearRGB; color-rendering: auto; color-scheme: auto; column-count: auto; column-fill: balance; column-gap: normal; column-rule-color: rgb(255, 0, 0); column-rule-style: none; column-rule-width: 0px; column-span: none; column-width: auto; content: ; counter-increment: none; counter-reset: none; cursor: auto; cx: 0px; cy: 0px; direction: ltr; display: block; dominant-baseline: auto; empty-cells: show; fill: rgb(0, 0, 0); fill-opacity: 1; fill-rule: nonzero; filter: none; flex-basis: auto; flex-direction: row; flex-grow: 0; flex-shrink: 1; flex-wrap: nowrap; float: none; flood-color: rgb(0, 0, 0); flood-opacity: 1; font-family: -webkit-standard; font-feature-settings: normal; font-optical-sizing: auto; font-size: 13.333333015441895px; font-stretch: normal; font-style: normal; font-synthesis: style weight small-caps; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; font-weight: normal; glyph-orientation-horizontal: 0deg; glyph-orientation-vertical: auto; grid-auto-columns: auto; grid-auto-flow: row; grid-auto-rows: auto; grid-column-end: auto; grid-column-start: auto; grid-row-end: auto; grid-row-start: auto; grid-template-areas: none; grid-template-columns: none; grid-template-rows: none; hanging-punctuation: none; height: 0px; image-orientation: from-image; image-rendering: auto; inline-size: 784px; inset-block-end: auto; inset-block-start: auto; inset-inline-end: auto; inset-inline-start: auto; isolation: auto; justify-content: normal; justify-items: normal; justify-self: auto; kerning: 0; left: auto; letter-spacing: normal; lighting-color: rgb(255, 255, 255); line-break: auto; line-height: normal; list-style-image: none; list-style-position: outside; list-style-type: disc; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; marker-end: none; marker-mid: none; marker-start: none; mask: none; mask-type: luminance; math-style: normal; max-block-size: none; max-height: none; max-inline-size: none; max-width: none; min-block-size: 0px; min-height: 0px; min-inline-size: 0px; min-width: 0px; mix-blend-mode: normal; object-fit: fill; object-position: 50% 50%; opacity: 1; order: 0; orphans: auto; outline-color: rgb(255, 0, 0); outline-offset: 0px; outline-style: none; outline-width: 0px; overflow-wrap: normal; overflow-x: visible; overflow-y: visible; overscroll-behavior-x: auto; overscroll-behavior-y: auto; padding-block-end: 0px; padding-block-start: 0px; padding-bottom: 0px; padding-inline-end: 0px; padding-inline-start: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; page-break-after: auto; page-break-before: auto; page-break-inside: auto; paint-order: normal; perspective: none; perspective-origin-x: ; perspective-origin-y: ; pointer-events: auto; position: static; quotes: auto; r: 0px; resize: none; right: auto; rotate: none; row-gap: normal; rx: auto; ry: auto; scale: none; scroll-behavior: auto; scroll-margin-bottom: 0px; scroll-margin-left: 0px; scroll-margin-right: 0px; scroll-margin-top: 0px; scroll-padding-bottom: 0px; scroll-padding-left: 0px; scroll-padding-right: 0px; scroll-padding-top: 0px; scroll-snap-align: none none; scroll-snap-type: none; shape-image-threshold: 0; shape-margin: 0px; shape-outside: none; shape-rendering: auto; size: ; speak-as: normal; stop-color: rgb(0, 0, 0); stop-opacity: 1; stroke: none; stroke-color: rgba(0, 0, 0, 0); stroke-dasharray: none; stroke-dashoffset: 0px; stroke-linecap: butt; stroke-linejoin: miter; stroke-miterlimit: 4; stroke-opacity: 1; stroke-width: 1px; tab-size: 8; table-layout: auto; text-align: start; text-anchor: start; text-decoration: none; text-decoration-color: rgb(255, 0, 0); text-decoration-line: none; text-decoration-skip: auto; text-decoration-style: solid; text-decoration-thickness: auto; text-indent: 0px; text-orientation: mixed; text-overflow: clip; text-rendering: auto; text-shadow: none; text-transform: none; text-underline-offset: auto; text-underline-position: auto; top: auto; touch-action: auto; transform: none; transform-box: view-box; transform-origin-x: ; transform-origin-y: ; transform-origin-z: ; transform-style: flat; transition-delay: 0s; transition-duration: 0s; transition-property: all; transition-timing-function: ease; translate: none; unicode-bidi: normal; vector-effect: none; vertical-align: baseline; visibility: visible; white-space: normal; widows: auto; width: 784px; will-change: auto; word-break: normal; word-spacing: 0px; word-wrap: normal; writing-mode: horizontal-tb; x: 0px; y: 0px; z-index: auto; zoom: 1; -apple-color-filter: none; -apple-pay-button-style: black; -apple-pay-button-type: plain; -apple-trailing-word: auto; -webkit-appearance: none; -webkit-backdrop-filter: none; -webkit-backface-visibility: visible; -webkit-background-clip: border-box; -webkit-background-composite: source-over; -webkit-background-origin: padding-box; -webkit-background-size: auto; -webkit-border-fit: border; -webkit-border-horizontal-spacing: 0px; -webkit-border-image: none; -webkit-border-vertical-spacing: 0px; -webkit-box-align: stretch; -webkit-box-decoration-break: slice; -webkit-box-direction: normal; -webkit-box-flex: 0; -webkit-box-flex-group: 1; -webkit-box-lines: single; -webkit-box-ordinal-group: 1; -webkit-box-orient: horizontal; -webkit-box-pack: start; -webkit-box-reflect: none; -webkit-box-shadow: none; -webkit-column-axis: auto; -webkit-column-break-after: auto; -webkit-column-break-before: auto; -webkit-column-break-inside: auto; -webkit-column-progression: normal; -webkit-cursor-visibility: auto; -webkit-font-kerning: auto; -webkit-font-smoothing: auto; -webkit-hyphenate-character: auto; -webkit-hyphenate-limit-after: auto; -webkit-hyphenate-limit-before: auto; -webkit-hyphenate-limit-lines: no-limit; -webkit-hyphens: manual; -webkit-initial-letter: normal; -webkit-line-align: none; -webkit-line-box-contain: block inline replaced; -webkit-line-clamp: none; -webkit-line-grid: none; -webkit-line-snap: none; -webkit-locale: auto; -webkit-margin-after-collapse: collapse; -webkit-margin-before-collapse: collapse; -webkit-margin-bottom-collapse: collapse; -webkit-margin-top-collapse: collapse; -webkit-mask-box-image: none; -webkit-mask-box-image-outset: 0px; -webkit-mask-box-image-repeat: stretch; -webkit-mask-box-image-slice: 0 fill; -webkit-mask-box-image-source: none; -webkit-mask-box-image-width: auto; -webkit-mask-clip: border-box; -webkit-mask-composite: source-over; -webkit-mask-image: none; -webkit-mask-origin: border-box; -webkit-mask-position-x: 0%; -webkit-mask-position-y: 0%; -webkit-mask-repeat: repeat; -webkit-mask-size: auto; -webkit-mask-source-type: alpha; -webkit-nbsp-mode: normal; -webkit-overflow-scrolling: auto; -webkit-print-color-adjust: economy; -webkit-rtl-ordering: logical; -webkit-ruby-position: before; -webkit-text-combine: none; -webkit-text-emphasis-color: rgb(255, 0, 0); -webkit-text-emphasis-position: over right; -webkit-text-emphasis-style: none; -webkit-text-fill-color: rgb(255, 0, 0); -webkit-text-orientation: mixed; -webkit-text-security: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-color: rgb(255, 0, 0); -webkit-text-stroke-width: 0px; -webkit-text-zoom: normal; -webkit-touch-callout: default; -webkit-transform-style: flat; -webkit-user-drag: auto; -webkit-user-modify: read-only; -webkit-user-select: text;"
     10FAIL cssText on computed style declaration returns the empty string assert_equals: cssText is empty expected "" but got "align-content: normal; align-items: normal; align-self: auto; alignment-baseline: auto; all: ; alt: \"\"; animation-delay: 0s; animation-direction: normal; animation-duration: 0s; animation-fill-mode: none; animation-iteration-count: 1; animation-name: none; animation-play-state: running; animation-timing-function: ease; aspect-ratio: auto; background-attachment: scroll; background-blend-mode: normal; background-clip: border-box; background-color: rgba(0, 0, 0, 0); background-image: none; background-origin: padding-box; background-position-x: 0%; background-position-y: 0%; background-repeat: repeat; background-size: auto; baseline-shift: baseline; block-size: 0px; border-block-end-color: rgb(255, 0, 0); border-block-end-style: none; border-block-end-width: 0px; border-block-start-color: rgb(255, 0, 0); border-block-start-style: none; border-block-start-width: 0px; border-bottom-color: rgb(255, 0, 0); border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-bottom-style: none; border-bottom-width: 0px; border-collapse: separate; border-end-end-radius: 0px; border-end-start-radius: 0px; border-image-outset: 0px; border-image-repeat: stretch; border-image-slice: 100%; border-image-source: none; border-image-width: 1; border-inline-end-color: rgb(255, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(255, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(255, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(255, 0, 0); border-right-style: none; border-right-width: 0px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-color: rgb(255, 0, 0); border-top-left-radius: 0px; border-top-right-radius: 0px; border-top-style: none; border-top-width: 0px; bottom: auto; box-shadow: none; box-sizing: content-box; break-after: auto; break-before: auto; break-inside: auto; buffered-rendering: auto; caption-side: top; caret-color: rgb(255, 0, 0); clear: none; clip: auto; clip-path: none; clip-rule: nonzero; color: rgb(255, 0, 0); color-interpolation: sRGB; color-interpolation-filters: linearRGB; color-rendering: auto; color-scheme: auto; column-count: auto; column-fill: balance; column-gap: normal; column-rule-color: rgb(255, 0, 0); column-rule-style: none; column-rule-width: 0px; column-span: none; column-width: auto; content: ; counter-increment: none; counter-reset: none; cursor: auto; cx: 0px; cy: 0px; direction: ltr; display: block; dominant-baseline: auto; empty-cells: show; fill: rgb(0, 0, 0); fill-opacity: 1; fill-rule: nonzero; filter: none; flex-basis: auto; flex-direction: row; flex-grow: 0; flex-shrink: 1; flex-wrap: nowrap; float: none; flood-color: rgb(0, 0, 0); flood-opacity: 1; font-family: -webkit-standard; font-feature-settings: normal; font-optical-sizing: auto; font-size: 13.333333015441895px; font-stretch: normal; font-style: normal; font-synthesis: style weight small-caps; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; font-weight: normal; glyph-orientation-horizontal: 0deg; glyph-orientation-vertical: auto; grid-auto-columns: auto; grid-auto-flow: row; grid-auto-rows: auto; grid-column-end: auto; grid-column-start: auto; grid-row-end: auto; grid-row-start: auto; grid-template-areas: none; grid-template-columns: none; grid-template-rows: none; hanging-punctuation: none; height: 0px; image-orientation: from-image; image-rendering: auto; inline-size: 784px; inset-block-end: auto; inset-block-start: auto; inset-inline-end: auto; inset-inline-start: auto; isolation: auto; justify-content: normal; justify-items: normal; justify-self: auto; kerning: 0; left: auto; letter-spacing: normal; lighting-color: rgb(255, 255, 255); line-break: auto; line-height: normal; list-style-image: none; list-style-position: outside; list-style-type: disc; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; marker-end: none; marker-mid: none; marker-start: none; mask: none; mask-type: luminance; math-style: normal; max-block-size: none; max-height: none; max-inline-size: none; max-width: none; min-block-size: 0px; min-height: 0px; min-inline-size: 0px; min-width: 0px; mix-blend-mode: normal; object-fit: fill; object-position: 50% 50%; opacity: 1; order: 0; orphans: auto; outline-color: rgb(255, 0, 0); outline-offset: 0px; outline-style: none; outline-width: 0px; overflow-wrap: normal; overflow-x: visible; overflow-y: visible; overscroll-behavior-x: auto; overscroll-behavior-y: auto; padding-block-end: 0px; padding-block-start: 0px; padding-bottom: 0px; padding-inline-end: 0px; padding-inline-start: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; page-break-after: auto; page-break-before: auto; page-break-inside: auto; paint-order: normal; perspective: none; perspective-origin-x: ; perspective-origin-y: ; pointer-events: auto; position: static; quotes: auto; r: 0px; resize: none; right: auto; rotate: none; row-gap: normal; rx: auto; ry: auto; scale: none; scroll-behavior: auto; scroll-margin-block: 0px; scroll-margin-bottom: 0px; scroll-margin-inline: 0px; scroll-margin-left: 0px; scroll-margin-right: 0px; scroll-margin-top: 0px; scroll-padding-block: auto; scroll-padding-bottom: auto; scroll-padding-inline: auto; scroll-padding-left: auto; scroll-padding-right: auto; scroll-padding-top: auto; scroll-snap-align: none none; scroll-snap-type: none; shape-image-threshold: 0; shape-margin: 0px; shape-outside: none; shape-rendering: auto; size: ; speak-as: normal; stop-color: rgb(0, 0, 0); stop-opacity: 1; stroke: none; stroke-color: rgba(0, 0, 0, 0); stroke-dasharray: none; stroke-dashoffset: 0px; stroke-linecap: butt; stroke-linejoin: miter; stroke-miterlimit: 4; stroke-opacity: 1; stroke-width: 1px; tab-size: 8; table-layout: auto; text-align: start; text-anchor: start; text-decoration: none; text-decoration-color: rgb(255, 0, 0); text-decoration-line: none; text-decoration-skip: auto; text-decoration-style: solid; text-decoration-thickness: auto; text-indent: 0px; text-orientation: mixed; text-overflow: clip; text-rendering: auto; text-shadow: none; text-transform: none; text-underline-offset: auto; text-underline-position: auto; top: auto; touch-action: auto; transform: none; transform-box: view-box; transform-origin-x: ; transform-origin-y: ; transform-origin-z: ; transform-style: flat; transition-delay: 0s; transition-duration: 0s; transition-property: all; transition-timing-function: ease; translate: none; unicode-bidi: normal; vector-effect: none; vertical-align: baseline; visibility: visible; white-space: normal; widows: auto; width: 784px; will-change: auto; word-break: normal; word-spacing: 0px; word-wrap: normal; writing-mode: horizontal-tb; x: 0px; y: 0px; z-index: auto; zoom: 1; -apple-color-filter: none; -apple-pay-button-style: black; -apple-pay-button-type: plain; -apple-trailing-word: auto; -webkit-appearance: none; -webkit-backdrop-filter: none; -webkit-backface-visibility: visible; -webkit-background-clip: border-box; -webkit-background-composite: source-over; -webkit-background-origin: padding-box; -webkit-background-size: auto; -webkit-border-fit: border; -webkit-border-horizontal-spacing: 0px; -webkit-border-image: none; -webkit-border-vertical-spacing: 0px; -webkit-box-align: stretch; -webkit-box-decoration-break: slice; -webkit-box-direction: normal; -webkit-box-flex: 0; -webkit-box-flex-group: 1; -webkit-box-lines: single; -webkit-box-ordinal-group: 1; -webkit-box-orient: horizontal; -webkit-box-pack: start; -webkit-box-reflect: none; -webkit-box-shadow: none; -webkit-column-axis: auto; -webkit-column-break-after: auto; -webkit-column-break-before: auto; -webkit-column-break-inside: auto; -webkit-column-progression: normal; -webkit-cursor-visibility: auto; -webkit-font-kerning: auto; -webkit-font-smoothing: auto; -webkit-hyphenate-character: auto; -webkit-hyphenate-limit-after: auto; -webkit-hyphenate-limit-before: auto; -webkit-hyphenate-limit-lines: no-limit; -webkit-hyphens: manual; -webkit-initial-letter: normal; -webkit-line-align: none; -webkit-line-box-contain: block inline replaced; -webkit-line-clamp: none; -webkit-line-grid: none; -webkit-line-snap: none; -webkit-locale: auto; -webkit-margin-after-collapse: collapse; -webkit-margin-before-collapse: collapse; -webkit-margin-bottom-collapse: collapse; -webkit-margin-top-collapse: collapse; -webkit-mask-box-image: none; -webkit-mask-box-image-outset: 0px; -webkit-mask-box-image-repeat: stretch; -webkit-mask-box-image-slice: 0 fill; -webkit-mask-box-image-source: none; -webkit-mask-box-image-width: auto; -webkit-mask-clip: border-box; -webkit-mask-composite: source-over; -webkit-mask-image: none; -webkit-mask-origin: border-box; -webkit-mask-position-x: 0%; -webkit-mask-position-y: 0%; -webkit-mask-repeat: repeat; -webkit-mask-size: auto; -webkit-mask-source-type: alpha; -webkit-nbsp-mode: normal; -webkit-overflow-scrolling: auto; -webkit-print-color-adjust: economy; -webkit-rtl-ordering: logical; -webkit-ruby-position: before; -webkit-text-combine: none; -webkit-text-emphasis-color: rgb(255, 0, 0); -webkit-text-emphasis-position: over right; -webkit-text-emphasis-style: none; -webkit-text-fill-color: rgb(255, 0, 0); -webkit-text-orientation: mixed; -webkit-text-security: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-color: rgb(255, 0, 0); -webkit-text-stroke-width: 0px; -webkit-text-zoom: normal; -webkit-touch-callout: default; -webkit-transform-style: flat; -webkit-user-drag: auto; -webkit-user-modify: read-only; -webkit-user-select: text;"
    1111
  • trunk/Source/WebCore/ChangeLog

    r272033 r272035  
     12021-01-28  Martin Robinson  <mrobinson@webkit.org>
     2
     3        Add support for logical variants of 'scroll-padding' and 'scroll-margin'
     4        https://bugs.webkit.org/show_bug.cgi?id=220766
     5        <rdar://problem/73661278>
     6
     7        Reviewed by Darin Adler.
     8
     9        Add support for logical `scroll-margin` and `scroll-padding` properties. Also
     10        improve parsing of `scroll-padding` which should not accept negative values and
     11        should accept "auto" values. The spec gives flexibility for how to interpret
     12        "auto", but for us this should just be 0 currently.
     13
     14        * css/CSSComputedStyleDeclaration.cpp:
     15        (WebCore::ComputedStyleExtractor::valueForPropertyInStyle): Add support for logical
     16        margin and padding longhands and shortands.
     17        * css/CSSProperties.json: Ditto. Allow padding to accept "auto" as well.
     18        * css/CSSProperty.cpp:
     19        (WebCore::CSSProperty::resolveDirectionAwareProperty): Ditto.
     20        (WebCore::CSSProperty::isDirectionAwareProperty): Ditto.
     21        * css/StyleProperties.cpp:
     22        (WebCore::StyleProperties::getPropertyValue const): Ditto.
     23        (WebCore::StyleProperties::asText const): Ditto.
     24        * css/parser/CSSPropertyParser.cpp:
     25        (WebCore::consumeScrollPadding): Added this helper that accepts a length, a percentage,
     26        or auto.
     27        (WebCore::CSSPropertyParser::parseSingleValue): Added support for logical longhands.
     28        (WebCore::CSSPropertyParser::parseShorthand): Added support for logical shorthands.
     29        * page/scrolling/ScrollSnapOffsetsInfo.cpp:
     30        (WebCore::computeScrollSnapPortOrAreaRect): Use minimumValueForLength here because
     31        auto should resolve to 0px.
     32        * rendering/RenderBox.cpp:
     33        (RenderBox::scrollPaddingForViewportRect): Ditto.
     34        * rendering/style/RenderStyle.h:
     35        (WebCore::RenderStyle::initialScrollPadding): Initialize scroll-padding values to
     36        auto as specified.
     37        * rendering/style/StyleRareNonInheritedData.h: Ditto.
     38
    1392021-01-28  Sam Weinig  <weinig@apple.com>
    240
  • trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp

    r271948 r272035  
    38283828        case CSSPropertyScrollMarginLeft:
    38293829            return zoomAdjustedPixelValueForLength(style.scrollMarginLeft(), style);
     3830        case CSSPropertyScrollMarginBlock:
     3831            return getCSSPropertyValuesFor2SidesShorthand(scrollMarginBlockShorthand());
     3832        case CSSPropertyScrollMarginInline:
     3833            return getCSSPropertyValuesFor2SidesShorthand(scrollMarginInlineShorthand());
    38303834        case CSSPropertyScrollPadding:
    38313835            return getCSSPropertyValuesFor4SidesShorthand(scrollPaddingShorthand());
     
    38383842        case CSSPropertyScrollPaddingLeft:
    38393843            return zoomAdjustedPixelValueForLength(style.scrollPaddingLeft(), style);
     3844        case CSSPropertyScrollPaddingBlock:
     3845            return getCSSPropertyValuesFor2SidesShorthand(scrollPaddingBlockShorthand());
     3846        case CSSPropertyScrollPaddingInline:
     3847            return getCSSPropertyValuesFor2SidesShorthand(scrollPaddingInlineShorthand());
    38403848#if ENABLE(CSS_SCROLL_SNAP)
    38413849        case CSSPropertyScrollSnapType:
     
    39613969        case CSSPropertyMinBlockSize:
    39623970        case CSSPropertyMinInlineSize:
     3971        case CSSPropertyScrollMarginBlockEnd:
     3972        case CSSPropertyScrollMarginBlockStart:
     3973        case CSSPropertyScrollMarginInlineEnd:
     3974        case CSSPropertyScrollMarginInlineStart:
     3975        case CSSPropertyScrollPaddingBlockEnd:
     3976        case CSSPropertyScrollPaddingBlockStart:
     3977        case CSSPropertyScrollPaddingInlineEnd:
     3978        case CSSPropertyScrollPaddingInlineStart:
    39633979            ASSERT_NOT_REACHED();
    39643980            break;
  • trunk/Source/WebCore/css/CSSProperties.json

    r271447 r272035  
    67116711            }
    67126712        },
     6713        "scroll-margin-inline-start": {
     6714            "codegen-properties": {
     6715                "skip-builder": true
     6716            },
     6717            "specification": {
     6718                "category": "css-scroll-snap",
     6719                "url": "https://www.w3.org/TR/css-scroll-snap-1/#propdef-scroll-margin-inline-start"
     6720            }
     6721        },
     6722        "scroll-margin-block-start": {
     6723            "codegen-properties": {
     6724                "skip-builder": true
     6725            },
     6726            "specification": {
     6727                "category": "css-scroll-snap",
     6728                "url": "https://www.w3.org/TR/css-scroll-snap-1/#propdef-scroll-margin-block-start"
     6729            }
     6730        },
     6731        "scroll-margin-inline-end": {
     6732            "codegen-properties": {
     6733                "skip-builder": true
     6734            },
     6735            "specification": {
     6736                "category": "css-scroll-snap",
     6737                "url": "https://www.w3.org/TR/css-scroll-snap-1/#propdef-scroll-margin-inline-end"
     6738            }
     6739        },
     6740        "scroll-margin-block-end": {
     6741            "codegen-properties": {
     6742                "skip-builder": true
     6743            },
     6744            "specification": {
     6745                "category": "css-scroll-snap",
     6746                "url": "https://www.w3.org/TR/css-scroll-snap-1/#propdef-scroll-margin-block-end"
     6747            }
     6748        },
     6749        "scroll-margin-block": {
     6750            "codegen-properties": {
     6751                "longhands": [
     6752                    "scroll-margin-block-start",
     6753                    "scroll-margin-block-end"
     6754                ]
     6755            },
     6756            "specification": {
     6757                "category": "css-scroll-snap",
     6758                "url": "https://www.w3.org/TR/css-scroll-snap-1/#propdef-scroll-margin-block"
     6759            }
     6760        },
     6761        "scroll-margin-inline": {
     6762            "codegen-properties": {
     6763                "longhands": [
     6764                    "scroll-margin-inline-start",
     6765                    "scroll-margin-inline-end"
     6766                ]
     6767            },
     6768            "specification": {
     6769                "category": "css-scroll-snap",
     6770                "url": "https://www.w3.org/TR/css-scroll-snap-1/#propdef-scroll-margin-inline"
     6771            }
     6772        },
    67136773        "scroll-padding": {
    67146774            "codegen-properties": {
     
    67286788            "codegen-properties": {
    67296789                "initial": "initialScrollPadding",
    6730                 "converter": "Length"
     6790                "converter": "LengthOrAuto"
    67316791            },
    67326792            "specification": {
     
    67386798            "codegen-properties": {
    67396799                "initial": "initialScrollPadding",
    6740                 "converter": "Length"
     6800                "converter": "LengthOrAuto"
    67416801            },
    67426802            "specification": {
     
    67486808            "codegen-properties": {
    67496809                "initial": "initialScrollPadding",
    6750                 "converter": "Length"
     6810                "converter": "LengthOrAuto"
    67516811            },
    67526812            "specification": {
     
    67586818            "codegen-properties": {
    67596819                "initial": "initialScrollPadding",
    6760                 "converter": "Length"
     6820                "converter": "LengthOrAuto"
    67616821            },
    67626822            "specification": {
     
    67676827        "scroll-padding-inline-start": {
    67686828            "codegen-properties": {
    6769                 "skip-codegen": true
    6770             },
    6771             "status": {
    6772                 "status": "not implemented"
     6829                "skip-builder": true
    67736830            },
    67746831            "specification": {
     
    67796836        "scroll-padding-block-start": {
    67806837            "codegen-properties": {
    6781                 "skip-codegen": true
    6782             },
    6783             "status": {
    6784                 "status": "not implemented"
     6838                "skip-builder": true
    67856839            },
    67866840            "specification": {
     
    67916845        "scroll-padding-inline-end": {
    67926846            "codegen-properties": {
    6793                 "skip-codegen": true
    6794             },
    6795             "status": {
    6796                 "status": "not implemented"
     6847                "skip-builder": true
    67976848            },
    67986849            "specification": {
     
    68036854        "scroll-padding-block-end": {
    68046855            "codegen-properties": {
    6805                 "skip-codegen": true
    6806             },
    6807             "status": {
    6808                 "status": "not implemented"
     6856                "skip-builder": true
    68096857            },
    68106858            "specification": {
     
    68186866                    "scroll-padding-block-start",
    68196867                    "scroll-padding-block-end"
    6820                 ],
    6821                 "skip-codegen": true
    6822             },
    6823             "status": {
    6824                 "status": "not implemented"
     6868                ]
    68256869            },
    68266870            "specification": {
     
    68346878                    "scroll-padding-inline-start",
    68356879                    "scroll-padding-inline-end"
    6836                 ],
    6837                 "skip-codegen": true
    6838             },
    6839             "status": {
    6840                 "status": "not implemented"
     6880                ]
    68416881            },
    68426882            "specification": {
  • trunk/Source/WebCore/css/CSSProperty.cpp

    r271447 r272035  
    172172    case CSSPropertyBorderEndEndRadius:
    173173        return resolveToPhysicalProperty(direction, writingMode, LogicalBoxCorner::EndEnd, borderRadiusShorthand());
     174    case CSSPropertyScrollMarginInlineStart:
     175        return resolveToPhysicalProperty(direction, writingMode, LogicalBoxSide::Start, scrollMarginShorthand());
     176    case CSSPropertyScrollMarginInlineEnd:
     177        return resolveToPhysicalProperty(direction, writingMode, LogicalBoxSide::End, scrollMarginShorthand());
     178    case CSSPropertyScrollMarginBlockStart:
     179        return resolveToPhysicalProperty(direction, writingMode, LogicalBoxSide::Before, scrollMarginShorthand());
     180    case CSSPropertyScrollMarginBlockEnd:
     181        return resolveToPhysicalProperty(direction, writingMode, LogicalBoxSide::After, scrollMarginShorthand());
     182    case CSSPropertyScrollPaddingInlineStart:
     183        return resolveToPhysicalProperty(direction, writingMode, LogicalBoxSide::Start, scrollPaddingShorthand());
     184    case CSSPropertyScrollPaddingInlineEnd:
     185        return resolveToPhysicalProperty(direction, writingMode, LogicalBoxSide::End, scrollPaddingShorthand());
     186    case CSSPropertyScrollPaddingBlockStart:
     187        return resolveToPhysicalProperty(direction, writingMode, LogicalBoxSide::Before, scrollPaddingShorthand());
     188    case CSSPropertyScrollPaddingBlockEnd:
     189        return resolveToPhysicalProperty(direction, writingMode, LogicalBoxSide::After, scrollPaddingShorthand());
    174190    default:
    175191        return propertyID;
     
    230246    case CSSPropertyBorderEndStartRadius:
    231247    case CSSPropertyBorderEndEndRadius:
     248    case CSSPropertyScrollMarginInlineStart:
     249    case CSSPropertyScrollMarginInlineEnd:
     250    case CSSPropertyScrollMarginBlockStart:
     251    case CSSPropertyScrollMarginBlockEnd:
     252    case CSSPropertyScrollPaddingInlineStart:
     253    case CSSPropertyScrollPaddingInlineEnd:
     254    case CSSPropertyScrollPaddingBlockStart:
     255    case CSSPropertyScrollPaddingBlockEnd:
    232256        return true;
    233257    default:
  • trunk/Source/WebCore/css/StyleProperties.cpp

    r270613 r272035  
    290290    case CSSPropertyScrollMargin:
    291291        return get4Values(scrollMarginShorthand());
     292    case CSSPropertyScrollMarginBlock:
     293        return get2Values(scrollMarginBlockShorthand());
     294    case CSSPropertyScrollMarginInline:
     295        return get2Values(scrollMarginInlineShorthand());
    292296    case CSSPropertyScrollPadding:
    293297        return get4Values(scrollPaddingShorthand());
     298    case CSSPropertyScrollPaddingBlock:
     299        return get2Values(scrollPaddingBlockShorthand());
     300    case CSSPropertyScrollPaddingInline:
     301        return get2Values(scrollPaddingInlineShorthand());
    294302    default:
    295303        return String();
     
    11791187                shorthandPropertyID = CSSPropertyScrollMargin;
    11801188                break;
     1189            case CSSPropertyScrollMarginBlockStart:
     1190            case CSSPropertyScrollMarginBlockEnd:
     1191                shorthandPropertyID = CSSPropertyScrollMarginBlock;
     1192                break;
     1193            case CSSPropertyScrollMarginInlineStart:
     1194            case CSSPropertyScrollMarginInlineEnd:
     1195                shorthandPropertyID = CSSPropertyScrollMarginInline;
     1196                break;
    11811197            case CSSPropertyScrollPaddingTop:
    11821198            case CSSPropertyScrollPaddingRight:
     
    11841200            case CSSPropertyScrollPaddingLeft:
    11851201                shorthandPropertyID = CSSPropertyScrollPadding;
     1202                break;
     1203            case CSSPropertyScrollPaddingBlockStart:
     1204            case CSSPropertyScrollPaddingBlockEnd:
     1205                shorthandPropertyID = CSSPropertyScrollPaddingBlock;
     1206                break;
     1207            case CSSPropertyScrollPaddingInlineStart:
     1208            case CSSPropertyScrollPaddingInlineEnd:
     1209                shorthandPropertyID = CSSPropertyScrollPaddingInline;
    11861210                break;
    11871211            case CSSPropertyTransitionProperty:
  • trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp

    r271447 r272035  
    12361236}
    12371237
     1238static RefPtr<CSSValue> consumeScrollPadding(CSSParserTokenRange& range, CSSParserMode cssParserMode)
     1239{
     1240    if (range.peek().id() == CSSValueAuto)
     1241        return consumeIdent(range);
     1242    return consumeLengthOrPercent(range, cssParserMode, ValueRangeNonNegative);
     1243}
     1244
    12381245static bool validWidthOrHeightKeyword(CSSValueID id, const CSSParserContext& /*context*/)
    12391246{
     
    41424149    case CSSPropertyScrollMarginRight:
    41434150    case CSSPropertyScrollMarginTop:
     4151    case CSSPropertyScrollMarginInlineStart:
     4152    case CSSPropertyScrollMarginInlineEnd:
     4153    case CSSPropertyScrollMarginBlockStart:
     4154    case CSSPropertyScrollMarginBlockEnd:
    41444155        return consumeLength(m_range, m_context.mode, ValueRangeAll);
    41454156    case CSSPropertyScrollPaddingBottom:
     
    41474158    case CSSPropertyScrollPaddingRight:
    41484159    case CSSPropertyScrollPaddingTop:
    4149         return consumeLengthOrPercent(m_range, m_context.mode, ValueRangeAll);
     4160    case CSSPropertyScrollPaddingInlineStart:
     4161    case CSSPropertyScrollPaddingInlineEnd:
     4162    case CSSPropertyScrollPaddingBlockStart:
     4163    case CSSPropertyScrollPaddingBlockEnd:
     4164        return consumeScrollPadding(m_range, m_context.mode);
    41504165#if ENABLE(CSS_SCROLL_SNAP)
    41514166    case CSSPropertyScrollSnapAlign:
     
    58655880    case CSSPropertyScrollMargin:
    58665881        return consume4ValueShorthand(scrollMarginShorthand(), important);
     5882    case CSSPropertyScrollMarginBlock:
     5883        return consume2ValueShorthand(scrollMarginBlockShorthand(), important);
     5884    case CSSPropertyScrollMarginInline:
     5885        return consume2ValueShorthand(scrollMarginInlineShorthand(), important);
    58675886    case CSSPropertyScrollPadding:
    58685887        return consume4ValueShorthand(scrollPaddingShorthand(), important);
     5888    case CSSPropertyScrollPaddingBlock:
     5889        return consume2ValueShorthand(scrollPaddingBlockShorthand(), important);
     5890    case CSSPropertyScrollPaddingInline:
     5891        return consume2ValueShorthand(scrollPaddingInlineShorthand(), important);
    58695892    case CSSPropertyWebkitTextEmphasis:
    58705893        return consumeShorthandGreedily(webkitTextEmphasisShorthand(), important);
  • trunk/Source/WebCore/page/scrolling/ScrollSnapOffsetsInfo.cpp

    r272019 r272035  
    154154static LayoutRect computeScrollSnapPortOrAreaRect(const LayoutRect& rect, const LengthBox& insetOrOutsetBox, InsetOrOutset insetOrOutset)
    155155{
    156     LayoutBoxExtent extents(valueForLength(insetOrOutsetBox.top(), rect.height()), valueForLength(insetOrOutsetBox.right(), rect.width()), valueForLength(insetOrOutsetBox.bottom(), rect.height()), valueForLength(insetOrOutsetBox.left(), rect.width()));
     156    // We are using minimumValueForLength here for insetOrOutset box, because if this value is defined by scroll-padding then the
     157    // Length of any side may be "auto." In that case, we want to use 0, because that is how WebKit currently interprets an "auto"
     158    // value for scroll-padding. See: https://drafts.csswg.org/css-scroll-snap-1/#propdef-scroll-padding
     159    LayoutBoxExtent extents(
     160        minimumValueForLength(insetOrOutsetBox.top(), rect.height()), minimumValueForLength(insetOrOutsetBox.right(), rect.width()),
     161        minimumValueForLength(insetOrOutsetBox.bottom(), rect.height()), minimumValueForLength(insetOrOutsetBox.left(), rect.width()));
    157162    auto snapPortOrArea(rect);
    158163    if (insetOrOutset == InsetOrOutset::Inset)
  • trunk/Source/WebCore/rendering/RenderBox.cpp

    r271934 r272035  
    52015201LayoutBoxExtent RenderBox::scrollPaddingForViewportRect(const LayoutRect& viewportRect)
    52025202{
     5203    // We are using minimumValueForLength here, because scroll-padding values might be "auto". WebKit currently
     5204    // interprets "auto" as 0. See: https://drafts.csswg.org/css-scroll-snap-1/#propdef-scroll-padding
    52035205    const auto& padding = style().scrollPadding();
    52045206    return LayoutBoxExtent(
    5205         valueForLength(padding.top(), viewportRect.height()), valueForLength(padding.right(), viewportRect.width()),
    5206         valueForLength(padding.bottom(), viewportRect.height()), valueForLength(padding.left(), viewportRect.width()));
     5207        minimumValueForLength(padding.top(), viewportRect.height()), minimumValueForLength(padding.right(), viewportRect.width()),
     5208        minimumValueForLength(padding.bottom(), viewportRect.height()), minimumValueForLength(padding.left(), viewportRect.width()));
    52075209}
    52085210
  • trunk/Source/WebCore/rendering/style/RenderStyle.h

    r271200 r272035  
    16891689
    16901690    static Length initialScrollMargin() { return Length(Fixed); }
    1691     static Length initialScrollPadding() { return Length(Fixed); }
     1691    static Length initialScrollPadding() { return Length(Auto); }
    16921692
    16931693#if ENABLE(CSS_SCROLL_SNAP)
  • trunk/Source/WebCore/rendering/style/StyleRareNonInheritedData.h

    r270613 r272035  
    133133
    134134    LengthBox scrollMargin { 0, 0, 0, 0 };
    135     LengthBox scrollPadding { 0, 0, 0, 0 };
     135    LengthBox scrollPadding { Length(Auto), Length(Auto), Length(Auto), Length(Auto) };
    136136#if ENABLE(CSS_SCROLL_SNAP)
    137137    ScrollSnapType scrollSnapType;
Note: See TracChangeset for help on using the changeset viewer.