WebKit Bugzilla
Attachment 359871 Details for
Bug 189441
: [css-logical] Flow relative inset properties
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-189441-20190123131905.patch (text/plain), 39.76 KB, created by
Oriol Brufau
on 2019-01-23 04:19:07 PST
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Oriol Brufau
Created:
2019-01-23 04:19:07 PST
Size:
39.76 KB
patch
obsolete
>Subversion Revision: 240330 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index 623dbcef43fd081c9ebebdd2b464e8554ccb5d7e..63df039537c5a5419da98370c054b5686f230209 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,33 @@ >+2018-11-15 Oriol Brufau <obrufau@igalia.com> >+ >+ [css-logical] Implement flow-relative inset properties >+ https://bugs.webkit.org/show_bug.cgi?id=189441 >+ >+ Reviewed by Dean Jackson. >+ >+ Implement 'inset', 'inset-block', 'inset-block-start', 'inset-block-end', >+ 'inset-inline', 'inset-inline-start' and 'inset-inline-end' CSS properties >+ behind the CSSLogicalEnabled runtime flag. >+ >+ Tests: imported/w3c/web-platform-tests/css/css-logical/logical-box-inset.html >+ webexposed/css-properties-behind-flags.html >+ >+ * css/CSSComputedStyleDeclaration.cpp: >+ (WebCore::isLayoutDependent): >+ (WebCore::ComputedStyleExtractor::valueForPropertyinStyle): >+ * css/CSSProperties.json: >+ * css/CSSProperty.cpp: >+ (WebCore::CSSProperty::resolveDirectionAwareProperty): >+ (WebCore::CSSProperty::isDirectionAwareProperty): >+ * css/StyleProperties.cpp: >+ (WebCore::StyleProperties::getPropertyValue const): >+ (WebCore::StyleProperties::asText const): >+ * css/parser/CSSParserFastPaths.cpp: >+ (WebCore::isSimpleLengthPropertyID): >+ * css/parser/CSSPropertyParser.cpp: >+ (WebCore::CSSPropertyParser::parseSingleValue): >+ (WebCore::CSSPropertyParser::parseShorthand): >+ > 2018-10-31 Oriol Brufau <obrufau@igalia.com> > > [css-logical] Implement flow-relative margin, padding and border shorthands >diff --git a/Source/WebCore/css/CSSComputedStyleDeclaration.cpp b/Source/WebCore/css/CSSComputedStyleDeclaration.cpp >index 7986306e88306b8e4818c73031c9e9d49cc36196..b4b103b4cafd3ab729d7e08088eff2f6c4453c87 100644 >--- a/Source/WebCore/css/CSSComputedStyleDeclaration.cpp >+++ b/Source/WebCore/css/CSSComputedStyleDeclaration.cpp >@@ -2349,6 +2349,10 @@ static bool isLayoutDependent(CSSPropertyID propertyID, const RenderStyle* style > case CSSPropertyBottom: > case CSSPropertyLeft: > case CSSPropertyRight: >+ case CSSPropertyInsetBlockStart: >+ case CSSPropertyInsetBlockEnd: >+ case CSSPropertyInsetInlineStart: >+ case CSSPropertyInsetInlineEnd: > return positionOffsetValueIsRendererDependent(style, renderer); > case CSSPropertyWidth: > case CSSPropertyHeight: >@@ -3975,6 +3979,12 @@ RefPtr<CSSValue> ComputedStyleExtractor::valueForPropertyinStyle(const RenderSty > return getCSSPropertyValuesForShorthandProperties(columnRuleShorthand()); > case CSSPropertyColumns: > return getCSSPropertyValuesForShorthandProperties(columnsShorthand()); >+ case CSSPropertyInset: >+ return getCSSPropertyValuesFor4SidesShorthand(insetShorthand()); >+ case CSSPropertyInsetBlock: >+ return getCSSPropertyValuesFor2SidesShorthand(insetBlockShorthand()); >+ case CSSPropertyInsetInline: >+ return getCSSPropertyValuesFor2SidesShorthand(insetInlineShorthand()); > case CSSPropertyListStyle: > return getCSSPropertyValuesForShorthandProperties(listStyleShorthand()); > case CSSPropertyMargin: >@@ -4112,6 +4122,10 @@ RefPtr<CSSValue> ComputedStyleExtractor::valueForPropertyinStyle(const RenderSty > case CSSPropertyBorderInlineStartColor: > case CSSPropertyBorderInlineStartStyle: > case CSSPropertyBorderInlineStartWidth: >+ case CSSPropertyInsetBlockEnd: >+ case CSSPropertyInsetBlockStart: >+ case CSSPropertyInsetInlineEnd: >+ case CSSPropertyInsetInlineStart: > case CSSPropertyMarginBlockEnd: > case CSSPropertyMarginBlockStart: > case CSSPropertyMarginInlineEnd: >diff --git a/Source/WebCore/css/CSSProperties.json b/Source/WebCore/css/CSSProperties.json >index 22885bc094f4cd1ba48009118cc24e63cf069beb..976fa3946140fefc6aff7ddbf6e20747c5a04b49 100644 >--- a/Source/WebCore/css/CSSProperties.json >+++ b/Source/WebCore/css/CSSProperties.json >@@ -2569,6 +2569,87 @@ > "url": "https://www.w3.org/TR/css-logical/#dimension-properties" > } > }, >+ "inset": { >+ "codegen-properties": { >+ "runtime-flag": "cssLogical", >+ "longhands": [ >+ "top", >+ "right", >+ "bottom", >+ "left" >+ ] >+ }, >+ "specification": { >+ "category": "css-logical-props", >+ "url": "https://www.w3.org/TR/css-logical/#inset-properties" >+ } >+ }, >+ "inset-block": { >+ "codegen-properties": { >+ "runtime-flag": "cssLogical", >+ "longhands": [ >+ "inset-block-start", >+ "inset-block-end" >+ ] >+ }, >+ "specification": { >+ "category": "css-logical-props", >+ "url": "https://www.w3.org/TR/css-logical/#inset-properties" >+ } >+ }, >+ "inset-block-end": { >+ "codegen-properties": { >+ "runtime-flag": "cssLogical", >+ "skip-builder": true >+ }, >+ "specification": { >+ "category": "css-logical-props", >+ "url": "https://www.w3.org/TR/css-logical/#inset-properties" >+ } >+ }, >+ "inset-block-start": { >+ "codegen-properties": { >+ "runtime-flag": "cssLogical", >+ "skip-builder": true >+ }, >+ "specification": { >+ "category": "css-logical-props", >+ "url": "https://www.w3.org/TR/css-logical/#inset-properties" >+ } >+ }, >+ "inset-inline": { >+ "codegen-properties": { >+ "runtime-flag": "cssLogical", >+ "longhands": [ >+ "inset-inline-start", >+ "inset-inline-end" >+ ] >+ }, >+ "specification": { >+ "category": "css-logical-props", >+ "url": "https://www.w3.org/TR/css-logical/#inset-properties" >+ } >+ }, >+ "inset-inline-end": { >+ "codegen-properties": { >+ "runtime-flag": "cssLogical", >+ "skip-builder": true >+ }, >+ "specification": { >+ "category": "css-logical-props", >+ "url": "https://www.w3.org/TR/css-logical/#inset-properties" >+ } >+ }, >+ "inset-inline-start": { >+ "codegen-properties": { >+ "runtime-flag": "cssLogical", >+ "skip-builder": true >+ }, >+ "specification": { >+ "category": "css-logical-props", >+ "url": "https://www.w3.org/TR/css-logical/#inset-properties" >+ } >+ }, > "kerning": { > "inherited": true, > "codegen-properties": { >diff --git a/Source/WebCore/css/CSSProperty.cpp b/Source/WebCore/css/CSSProperty.cpp >index 0e6a799909db305841bcfe4403f2deb3ba2b66fd..c460595014efce4fe7f3deec07afdb2c423dfb6f 100644 >--- a/Source/WebCore/css/CSSProperty.cpp >+++ b/Source/WebCore/css/CSSProperty.cpp >@@ -76,6 +76,14 @@ static const StylePropertyShorthand& borderDirections() > CSSPropertyID CSSProperty::resolveDirectionAwareProperty(CSSPropertyID propertyID, TextDirection direction, WritingMode writingMode) > { > switch (propertyID) { >+ case CSSPropertyInsetInlineEnd: >+ return resolveToPhysicalProperty(direction, writingMode, LogicalBoxSide::End, insetShorthand()); >+ case CSSPropertyInsetInlineStart: >+ return resolveToPhysicalProperty(direction, writingMode, LogicalBoxSide::Start, insetShorthand()); >+ case CSSPropertyInsetBlockStart: >+ return resolveToPhysicalProperty(direction, writingMode, LogicalBoxSide::Before, insetShorthand()); >+ case CSSPropertyInsetBlockEnd: >+ return resolveToPhysicalProperty(direction, writingMode, LogicalBoxSide::After, insetShorthand()); > case CSSPropertyMarginInlineEnd: > return resolveToPhysicalProperty(direction, writingMode, LogicalBoxSide::End, marginShorthand()); > case CSSPropertyMarginInlineStart: >@@ -186,6 +194,10 @@ bool CSSProperty::isDirectionAwareProperty(CSSPropertyID propertyID) > case CSSPropertyBorderBlockEndColor: > case CSSPropertyBorderBlockEndStyle: > case CSSPropertyBorderBlockEndWidth: >+ case CSSPropertyInsetInlineEnd: >+ case CSSPropertyInsetInlineStart: >+ case CSSPropertyInsetBlockStart: >+ case CSSPropertyInsetBlockEnd: > case CSSPropertyMarginInlineEnd: > case CSSPropertyMarginInlineStart: > case CSSPropertyMarginBlockStart: >diff --git a/Source/WebCore/css/StyleProperties.cpp b/Source/WebCore/css/StyleProperties.cpp >index c3495d70f53d6d9d7d959e83f07fb943945b26be..84d512604abb4333d337c5a8ec1243fd06f391b6 100644 >--- a/Source/WebCore/css/StyleProperties.cpp >+++ b/Source/WebCore/css/StyleProperties.cpp >@@ -217,6 +217,12 @@ String StyleProperties::getPropertyValue(CSSPropertyID propertyID) const > return getAlignmentShorthandValue(placeSelfShorthand()); > case CSSPropertyFont: > return fontValue(); >+ case CSSPropertyInset: >+ return get4Values(insetShorthand()); >+ case CSSPropertyInsetBlock: >+ return get2Values(insetBlockShorthand()); >+ case CSSPropertyInsetInline: >+ return get2Values(insetInlineShorthand()); > case CSSPropertyMargin: > return get4Values(marginShorthand()); > case CSSPropertyMarginBlock: >@@ -1086,6 +1092,20 @@ String StyleProperties::asText() const > case CSSPropertyFontWeight: > // Don't use CSSPropertyFont because old UAs can't recognize them but are important for editing. > break; >+ case CSSPropertyTop: >+ case CSSPropertyRight: >+ case CSSPropertyBottom: >+ case CSSPropertyLeft: >+ shorthandPropertyID = CSSPropertyInset; >+ break; >+ case CSSPropertyInsetBlockStart: >+ case CSSPropertyInsetBlockEnd: >+ shorthandPropertyID = CSSPropertyInsetBlock; >+ break; >+ case CSSPropertyInsetInlineStart: >+ case CSSPropertyInsetInlineEnd: >+ shorthandPropertyID = CSSPropertyInsetInline; >+ break; > case CSSPropertyListStyleType: > case CSSPropertyListStylePosition: > case CSSPropertyListStyleImage: >diff --git a/Source/WebCore/css/parser/CSSParserFastPaths.cpp b/Source/WebCore/css/parser/CSSParserFastPaths.cpp >index 36609b4fe6f91a5ee9671c7570341a01cd7f458d..9020f45216f41f3f16db8e9cbf89d2501dcec769 100644 >--- a/Source/WebCore/css/parser/CSSParserFastPaths.cpp >+++ b/Source/WebCore/css/parser/CSSParserFastPaths.cpp >@@ -70,6 +70,10 @@ static inline bool isSimpleLengthPropertyID(CSSPropertyID propertyId, bool& acce > case CSSPropertyCx: > case CSSPropertyCy: > case CSSPropertyLeft: >+ case CSSPropertyInsetBlockEnd: >+ case CSSPropertyInsetBlockStart: >+ case CSSPropertyInsetInlineEnd: >+ case CSSPropertyInsetInlineStart: > case CSSPropertyMarginBottom: > case CSSPropertyMarginLeft: > case CSSPropertyMarginRight: >diff --git a/Source/WebCore/css/parser/CSSPropertyParser.cpp b/Source/WebCore/css/parser/CSSPropertyParser.cpp >index ed8c9c28871f7d05fd07c46c49320173c2c4f412..1f795d9032171bfded08548ab1eb8c2735c56b17 100644 >--- a/Source/WebCore/css/parser/CSSPropertyParser.cpp >+++ b/Source/WebCore/css/parser/CSSPropertyParser.cpp >@@ -4001,6 +4001,10 @@ RefPtr<CSSValue> CSSPropertyParser::parseSingleValue(CSSPropertyID property, CSS > case CSSPropertyRight: > case CSSPropertyTop: > return consumeMarginOrOffset(m_range, m_context.mode, UnitlessQuirk::Allow); >+ case CSSPropertyInsetInlineStart: >+ case CSSPropertyInsetInlineEnd: >+ case CSSPropertyInsetBlockStart: >+ case CSSPropertyInsetBlockEnd: > case CSSPropertyMarginInlineStart: > case CSSPropertyMarginInlineEnd: > case CSSPropertyMarginBlockStart: >@@ -5747,6 +5751,12 @@ bool CSSPropertyParser::parseShorthand(CSSPropertyID property, bool important) > // FIXME-NEWPARSER: We need to unprefix -line/-style/-color ASAP and get rid > // of -webkit-text-decoration completely. > return consumeShorthandGreedily(webkitTextDecorationShorthand(), important); >+ case CSSPropertyInset: >+ return consume4ValueShorthand(insetShorthand(), important); >+ case CSSPropertyInsetBlock: >+ return consume2ValueShorthand(insetBlockShorthand(), important); >+ case CSSPropertyInsetInline: >+ return consume2ValueShorthand(insetInlineShorthand(), important); > case CSSPropertyMargin: > return consume4ValueShorthand(marginShorthand(), important); > case CSSPropertyMarginBlock: >diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog >index 3d010aa2c08869966e260976029f04d69978ef3b..b4165084ed76f69d4ef647fbcec41f314802b68a 100644 >--- a/LayoutTests/ChangeLog >+++ b/LayoutTests/ChangeLog >@@ -1,3 +1,16 @@ >+2018-11-15 Oriol Brufau <obrufau@igalia.com> >+ >+ [css-logical] Implement flow-relative inset properties >+ https://bugs.webkit.org/show_bug.cgi?id=189441 >+ >+ Reviewed by Dean Jackson. >+ >+ Check that the new CSS properties are disabled behind runtime flags >+ and are not exposed. >+ >+ * webexposed/css-properties-behind-flags-expected.txt: >+ * webexposed/css-properties-behind-flags.html: >+ > 2018-10-31 Oriol Brufau <obrufau@igalia.com> > > [css-logical] Implement flow-relative margin, padding and border shorthands >diff --git a/LayoutTests/imported/w3c/ChangeLog b/LayoutTests/imported/w3c/ChangeLog >index b8e6514a921d69f26301cf8a11cebf21bb9da306..0cd89ff9b6159150cb7a6ed24776f1ae948ac68b 100644 >--- a/LayoutTests/imported/w3c/ChangeLog >+++ b/LayoutTests/imported/w3c/ChangeLog >@@ -1,3 +1,18 @@ >+2018-11-15 Oriol Brufau <obrufau@igalia.com> >+ >+ [css-logical] Implement flow-relative inset properties >+ https://bugs.webkit.org/show_bug.cgi?id=189441 >+ >+ Reviewed by Dean Jackson. >+ >+ Enable the CSSLogicalEnabled flag in the test for logical insets, and >+ update its expectations. It still has some failures because sideways >+ writing modes have not been implemented yet >+ (https://bugs.webkit.org/show_bug.cgi?id=166941). >+ >+ * web-platform-tests/css/css-logical/logical-box-inset-expected.txt: >+ * web-platform-tests/css/css-logical/logical-box-inset.html: >+ > 2018-10-31 Oriol Brufau <obrufau@igalia.com> > > [css-logical] Implement flow-relative margin, padding and border shorthands >diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/logical-box-inset-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/logical-box-inset-expected.txt >index 709eab420d40b6cfcf04a32be16f019a3d2d520e..84098ee71233071412f82a59b6d526e30988d890 100644 >--- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/logical-box-inset-expected.txt >+++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/logical-box-inset-expected.txt >@@ -1,46 +1,46 @@ > >-FAIL Test that logical inset-* properties are supported. assert_equals: logical properties in inline style, inset-inline-start expected "1px" but got "" >-FAIL Test that inset-inline shorthand sets longhands and serializes correctly. assert_equals: shorthand in inline style, inset-inline expected "1px 2px" but got "" >-FAIL Test that inset-block shorthand sets longhands and serializes correctly. assert_equals: shorthand in inline style, inset-block expected "1px 2px" but got "" >-FAIL Test that inset shorthand sets longhands and serializes correctly. assert_equals: shorthand in inline style, inset expected "1px 2px 3px 4px" but got "" >-FAIL Test that logical inset-* properties share computed values with their physical associates, with 'writing-mode: horizontal-tb; direction: ltr; '. assert_equals: logical properties on one declaration, writing mode properties on another, 'writing-mode: horizontal-tb; direction: ltr; ', inset-inline-start expected "1px" but got "" >-FAIL Test that inset-* shorthands set the computed value of both logical and physical longhands, with 'writing-mode: horizontal-tb; direction: ltr; '. assert_equals: shorthand properties on one declaration, writing mode properties on another, 'writing-mode: horizontal-tb; direction: ltr; ', inset-inline-start expected "1px" but got "" >-FAIL Test that inset-* properties honor order of appearance when both logical and physical associates are declared, with 'writing-mode: horizontal-tb; direction: ltr; '. assert_equals: 'inset-inline-start' last on single declaration, 'writing-mode: horizontal-tb; direction: ltr; ', left expected "5px" but got "1px" >-FAIL Test that inset-* properties honor selector specificty when both logical and physical associates are declared, with 'writing-mode: horizontal-tb; direction: ltr; '. assert_equals: 'inset-inline-start', two declarations, 'writing-mode: horizontal-tb; direction: ltr; ', left expected "5px" but got "1px" >-FAIL Test that logical inset-* properties share computed values with their physical associates, with 'writing-mode: horizontal-tb; direction: rtl; '. assert_equals: logical properties on one declaration, writing mode properties on another, 'writing-mode: horizontal-tb; direction: rtl; ', inset-inline-start expected "1px" but got "" >-FAIL Test that inset-* shorthands set the computed value of both logical and physical longhands, with 'writing-mode: horizontal-tb; direction: rtl; '. assert_equals: shorthand properties on one declaration, writing mode properties on another, 'writing-mode: horizontal-tb; direction: rtl; ', inset-inline-start expected "1px" but got "" >-FAIL Test that inset-* properties honor order of appearance when both logical and physical associates are declared, with 'writing-mode: horizontal-tb; direction: rtl; '. assert_equals: 'inset-inline-start' last on single declaration, 'writing-mode: horizontal-tb; direction: rtl; ', inset-inline-end expected "1px" but got "" >-FAIL Test that inset-* properties honor selector specificty when both logical and physical associates are declared, with 'writing-mode: horizontal-tb; direction: rtl; '. assert_equals: 'inset-inline-start', two declarations, 'writing-mode: horizontal-tb; direction: rtl; ', inset-inline-end expected "1px" but got "" >-FAIL Test that logical inset-* properties share computed values with their physical associates, with 'writing-mode: vertical-rl; direction: rtl; '. assert_equals: logical properties on one declaration, writing mode properties on another, 'writing-mode: vertical-rl; direction: rtl; ', inset-inline-start expected "1px" but got "" >-FAIL Test that inset-* shorthands set the computed value of both logical and physical longhands, with 'writing-mode: vertical-rl; direction: rtl; '. assert_equals: shorthand properties on one declaration, writing mode properties on another, 'writing-mode: vertical-rl; direction: rtl; ', inset-inline-start expected "1px" but got "" >-FAIL Test that inset-* properties honor order of appearance when both logical and physical associates are declared, with 'writing-mode: vertical-rl; direction: rtl; '. assert_equals: 'inset-inline-start' last on single declaration, 'writing-mode: vertical-rl; direction: rtl; ', inset-block-end expected "1px" but got "" >-FAIL Test that inset-* properties honor selector specificty when both logical and physical associates are declared, with 'writing-mode: vertical-rl; direction: rtl; '. assert_equals: 'inset-inline-start', two declarations, 'writing-mode: vertical-rl; direction: rtl; ', inset-block-end expected "1px" but got "" >-FAIL Test that logical inset-* properties share computed values with their physical associates, with 'writing-mode: sideways-rl; direction: rtl; '. assert_equals: logical properties on one declaration, writing mode properties on another, 'writing-mode: sideways-rl; direction: rtl; ', inset-inline-start expected "1px" but got "" >-FAIL Test that inset-* shorthands set the computed value of both logical and physical longhands, with 'writing-mode: sideways-rl; direction: rtl; '. assert_equals: shorthand properties on one declaration, writing mode properties on another, 'writing-mode: sideways-rl; direction: rtl; ', inset-inline-start expected "1px" but got "" >-FAIL Test that inset-* properties honor order of appearance when both logical and physical associates are declared, with 'writing-mode: sideways-rl; direction: rtl; '. assert_equals: 'inset-inline-start' last on single declaration, 'writing-mode: sideways-rl; direction: rtl; ', inset-block-end expected "1px" but got "" >-FAIL Test that inset-* properties honor selector specificty when both logical and physical associates are declared, with 'writing-mode: sideways-rl; direction: rtl; '. assert_equals: 'inset-inline-start', two declarations, 'writing-mode: sideways-rl; direction: rtl; ', inset-block-end expected "1px" but got "" >-FAIL Test that logical inset-* properties share computed values with their physical associates, with 'writing-mode: vertical-rl; direction: ltr; '. assert_equals: logical properties on one declaration, writing mode properties on another, 'writing-mode: vertical-rl; direction: ltr; ', inset-inline-start expected "1px" but got "" >-FAIL Test that inset-* shorthands set the computed value of both logical and physical longhands, with 'writing-mode: vertical-rl; direction: ltr; '. assert_equals: shorthand properties on one declaration, writing mode properties on another, 'writing-mode: vertical-rl; direction: ltr; ', inset-inline-start expected "1px" but got "" >-FAIL Test that inset-* properties honor order of appearance when both logical and physical associates are declared, with 'writing-mode: vertical-rl; direction: ltr; '. assert_equals: 'inset-inline-start' last on single declaration, 'writing-mode: vertical-rl; direction: ltr; ', inset-block-end expected "1px" but got "" >-FAIL Test that inset-* properties honor selector specificty when both logical and physical associates are declared, with 'writing-mode: vertical-rl; direction: ltr; '. assert_equals: 'inset-inline-start', two declarations, 'writing-mode: vertical-rl; direction: ltr; ', inset-block-end expected "1px" but got "" >-FAIL Test that logical inset-* properties share computed values with their physical associates, with 'writing-mode: sideways-rl; direction: ltr; '. assert_equals: logical properties on one declaration, writing mode properties on another, 'writing-mode: sideways-rl; direction: ltr; ', inset-inline-start expected "1px" but got "" >-FAIL Test that inset-* shorthands set the computed value of both logical and physical longhands, with 'writing-mode: sideways-rl; direction: ltr; '. assert_equals: shorthand properties on one declaration, writing mode properties on another, 'writing-mode: sideways-rl; direction: ltr; ', inset-inline-start expected "1px" but got "" >-FAIL Test that inset-* properties honor order of appearance when both logical and physical associates are declared, with 'writing-mode: sideways-rl; direction: ltr; '. assert_equals: 'inset-inline-start' last on single declaration, 'writing-mode: sideways-rl; direction: ltr; ', inset-block-end expected "1px" but got "" >-FAIL Test that inset-* properties honor selector specificty when both logical and physical associates are declared, with 'writing-mode: sideways-rl; direction: ltr; '. assert_equals: 'inset-inline-start', two declarations, 'writing-mode: sideways-rl; direction: ltr; ', inset-block-end expected "1px" but got "" >-FAIL Test that logical inset-* properties share computed values with their physical associates, with 'writing-mode: vertical-lr; direction: rtl; '. assert_equals: logical properties on one declaration, writing mode properties on another, 'writing-mode: vertical-lr; direction: rtl; ', inset-inline-start expected "1px" but got "" >-FAIL Test that inset-* shorthands set the computed value of both logical and physical longhands, with 'writing-mode: vertical-lr; direction: rtl; '. assert_equals: shorthand properties on one declaration, writing mode properties on another, 'writing-mode: vertical-lr; direction: rtl; ', inset-inline-start expected "1px" but got "" >-FAIL Test that inset-* properties honor order of appearance when both logical and physical associates are declared, with 'writing-mode: vertical-lr; direction: rtl; '. assert_equals: 'inset-inline-start' last on single declaration, 'writing-mode: vertical-lr; direction: rtl; ', inset-block-start expected "1px" but got "" >-FAIL Test that inset-* properties honor selector specificty when both logical and physical associates are declared, with 'writing-mode: vertical-lr; direction: rtl; '. assert_equals: 'inset-inline-start', two declarations, 'writing-mode: vertical-lr; direction: rtl; ', inset-block-start expected "1px" but got "" >-FAIL Test that logical inset-* properties share computed values with their physical associates, with 'writing-mode: sideways-lr; direction: ltr; '. assert_equals: logical properties on one declaration, writing mode properties on another, 'writing-mode: sideways-lr; direction: ltr; ', inset-inline-start expected "1px" but got "" >-FAIL Test that inset-* shorthands set the computed value of both logical and physical longhands, with 'writing-mode: sideways-lr; direction: ltr; '. assert_equals: shorthand properties on one declaration, writing mode properties on another, 'writing-mode: sideways-lr; direction: ltr; ', inset-inline-start expected "1px" but got "" >-FAIL Test that inset-* properties honor order of appearance when both logical and physical associates are declared, with 'writing-mode: sideways-lr; direction: ltr; '. assert_equals: 'inset-inline-start' last on single declaration, 'writing-mode: sideways-lr; direction: ltr; ', inset-block-start expected "1px" but got "" >-FAIL Test that inset-* properties honor selector specificty when both logical and physical associates are declared, with 'writing-mode: sideways-lr; direction: ltr; '. assert_equals: 'inset-inline-start', two declarations, 'writing-mode: sideways-lr; direction: ltr; ', inset-block-start expected "1px" but got "" >-FAIL Test that logical inset-* properties share computed values with their physical associates, with 'writing-mode: vertical-lr; direction: ltr; '. assert_equals: logical properties on one declaration, writing mode properties on another, 'writing-mode: vertical-lr; direction: ltr; ', inset-inline-start expected "1px" but got "" >-FAIL Test that inset-* shorthands set the computed value of both logical and physical longhands, with 'writing-mode: vertical-lr; direction: ltr; '. assert_equals: shorthand properties on one declaration, writing mode properties on another, 'writing-mode: vertical-lr; direction: ltr; ', inset-inline-start expected "1px" but got "" >-FAIL Test that inset-* properties honor order of appearance when both logical and physical associates are declared, with 'writing-mode: vertical-lr; direction: ltr; '. assert_equals: 'inset-inline-start' last on single declaration, 'writing-mode: vertical-lr; direction: ltr; ', inset-block-start expected "1px" but got "" >-FAIL Test that inset-* properties honor selector specificty when both logical and physical associates are declared, with 'writing-mode: vertical-lr; direction: ltr; '. assert_equals: 'inset-inline-start', two declarations, 'writing-mode: vertical-lr; direction: ltr; ', inset-block-start expected "1px" but got "" >-FAIL Test that logical inset-* properties share computed values with their physical associates, with 'writing-mode: sideways-lr; direction: rtl; '. assert_equals: logical properties on one declaration, writing mode properties on another, 'writing-mode: sideways-lr; direction: rtl; ', inset-inline-start expected "1px" but got "" >-FAIL Test that inset-* shorthands set the computed value of both logical and physical longhands, with 'writing-mode: sideways-lr; direction: rtl; '. assert_equals: shorthand properties on one declaration, writing mode properties on another, 'writing-mode: sideways-lr; direction: rtl; ', inset-inline-start expected "1px" but got "" >-FAIL Test that inset-* properties honor order of appearance when both logical and physical associates are declared, with 'writing-mode: sideways-lr; direction: rtl; '. assert_equals: 'inset-inline-start' last on single declaration, 'writing-mode: sideways-lr; direction: rtl; ', inset-block-start expected "1px" but got "" >-FAIL Test that inset-* properties honor selector specificty when both logical and physical associates are declared, with 'writing-mode: sideways-lr; direction: rtl; '. assert_equals: 'inset-inline-start', two declarations, 'writing-mode: sideways-lr; direction: rtl; ', inset-block-start expected "1px" but got "" >+PASS Test that logical inset-* properties are supported. >+PASS Test that inset-inline shorthand sets longhands and serializes correctly. >+PASS Test that inset-block shorthand sets longhands and serializes correctly. >+PASS Test that inset shorthand sets longhands and serializes correctly. >+PASS Test that logical inset-* properties share computed values with their physical associates, with 'writing-mode: horizontal-tb; direction: ltr; '. >+PASS Test that inset-* shorthands set the computed value of both logical and physical longhands, with 'writing-mode: horizontal-tb; direction: ltr; '. >+PASS Test that inset-* properties honor order of appearance when both logical and physical associates are declared, with 'writing-mode: horizontal-tb; direction: ltr; '. >+PASS Test that inset-* properties honor selector specificty when both logical and physical associates are declared, with 'writing-mode: horizontal-tb; direction: ltr; '. >+PASS Test that logical inset-* properties share computed values with their physical associates, with 'writing-mode: horizontal-tb; direction: rtl; '. >+PASS Test that inset-* shorthands set the computed value of both logical and physical longhands, with 'writing-mode: horizontal-tb; direction: rtl; '. >+PASS Test that inset-* properties honor order of appearance when both logical and physical associates are declared, with 'writing-mode: horizontal-tb; direction: rtl; '. >+PASS Test that inset-* properties honor selector specificty when both logical and physical associates are declared, with 'writing-mode: horizontal-tb; direction: rtl; '. >+PASS Test that logical inset-* properties share computed values with their physical associates, with 'writing-mode: vertical-rl; direction: rtl; '. >+PASS Test that inset-* shorthands set the computed value of both logical and physical longhands, with 'writing-mode: vertical-rl; direction: rtl; '. >+PASS Test that inset-* properties honor order of appearance when both logical and physical associates are declared, with 'writing-mode: vertical-rl; direction: rtl; '. >+PASS Test that inset-* properties honor selector specificty when both logical and physical associates are declared, with 'writing-mode: vertical-rl; direction: rtl; '. >+FAIL Test that logical inset-* properties share computed values with their physical associates, with 'writing-mode: sideways-rl; direction: rtl; '. assert_equals: logical properties on one declaration, writing mode properties on another, 'writing-mode: sideways-rl; direction: rtl; ', bottom expected "1px" but got "4px" >+FAIL Test that inset-* shorthands set the computed value of both logical and physical longhands, with 'writing-mode: sideways-rl; direction: rtl; '. assert_equals: shorthand properties on one declaration, writing mode properties on another, 'writing-mode: sideways-rl; direction: rtl; ', bottom expected "1px" but got "0px" >+FAIL Test that inset-* properties honor order of appearance when both logical and physical associates are declared, with 'writing-mode: sideways-rl; direction: rtl; '. assert_equals: 'inset-inline-start' last on single declaration, 'writing-mode: sideways-rl; direction: rtl; ', inset-block-end expected "1px" but got "4px" >+FAIL Test that inset-* properties honor selector specificty when both logical and physical associates are declared, with 'writing-mode: sideways-rl; direction: rtl; '. assert_equals: 'inset-inline-start', two declarations, 'writing-mode: sideways-rl; direction: rtl; ', inset-block-end expected "1px" but got "4px" >+PASS Test that logical inset-* properties share computed values with their physical associates, with 'writing-mode: vertical-rl; direction: ltr; '. >+PASS Test that inset-* shorthands set the computed value of both logical and physical longhands, with 'writing-mode: vertical-rl; direction: ltr; '. >+PASS Test that inset-* properties honor order of appearance when both logical and physical associates are declared, with 'writing-mode: vertical-rl; direction: ltr; '. >+PASS Test that inset-* properties honor selector specificty when both logical and physical associates are declared, with 'writing-mode: vertical-rl; direction: ltr; '. >+FAIL Test that logical inset-* properties share computed values with their physical associates, with 'writing-mode: sideways-rl; direction: ltr; '. assert_equals: logical properties on one declaration, writing mode properties on another, 'writing-mode: sideways-rl; direction: ltr; ', top expected "1px" but got "3px" >+FAIL Test that inset-* shorthands set the computed value of both logical and physical longhands, with 'writing-mode: sideways-rl; direction: ltr; '. assert_equals: shorthand properties on one declaration, writing mode properties on another, 'writing-mode: sideways-rl; direction: ltr; ', top expected "1px" but got "0px" >+FAIL Test that inset-* properties honor order of appearance when both logical and physical associates are declared, with 'writing-mode: sideways-rl; direction: ltr; '. assert_equals: 'inset-inline-start' last on single declaration, 'writing-mode: sideways-rl; direction: ltr; ', left expected "1px" but got "5px" >+FAIL Test that inset-* properties honor selector specificty when both logical and physical associates are declared, with 'writing-mode: sideways-rl; direction: ltr; '. assert_equals: 'inset-inline-start', two declarations, 'writing-mode: sideways-rl; direction: ltr; ', left expected "1px" but got "5px" >+PASS Test that logical inset-* properties share computed values with their physical associates, with 'writing-mode: vertical-lr; direction: rtl; '. >+PASS Test that inset-* shorthands set the computed value of both logical and physical longhands, with 'writing-mode: vertical-lr; direction: rtl; '. >+PASS Test that inset-* properties honor order of appearance when both logical and physical associates are declared, with 'writing-mode: vertical-lr; direction: rtl; '. >+PASS Test that inset-* properties honor selector specificty when both logical and physical associates are declared, with 'writing-mode: vertical-lr; direction: rtl; '. >+FAIL Test that logical inset-* properties share computed values with their physical associates, with 'writing-mode: sideways-lr; direction: ltr; '. assert_equals: logical properties on one declaration, writing mode properties on another, 'writing-mode: sideways-lr; direction: ltr; ', bottom expected "1px" but got "4px" >+FAIL Test that inset-* shorthands set the computed value of both logical and physical longhands, with 'writing-mode: sideways-lr; direction: ltr; '. assert_equals: shorthand properties on one declaration, writing mode properties on another, 'writing-mode: sideways-lr; direction: ltr; ', bottom expected "1px" but got "0px" >+FAIL Test that inset-* properties honor order of appearance when both logical and physical associates are declared, with 'writing-mode: sideways-lr; direction: ltr; '. assert_equals: 'inset-inline-start' last on single declaration, 'writing-mode: sideways-lr; direction: ltr; ', left expected "1px" but got "5px" >+FAIL Test that inset-* properties honor selector specificty when both logical and physical associates are declared, with 'writing-mode: sideways-lr; direction: ltr; '. assert_equals: 'inset-inline-start', two declarations, 'writing-mode: sideways-lr; direction: ltr; ', left expected "1px" but got "5px" >+PASS Test that logical inset-* properties share computed values with their physical associates, with 'writing-mode: vertical-lr; direction: ltr; '. >+PASS Test that inset-* shorthands set the computed value of both logical and physical longhands, with 'writing-mode: vertical-lr; direction: ltr; '. >+PASS Test that inset-* properties honor order of appearance when both logical and physical associates are declared, with 'writing-mode: vertical-lr; direction: ltr; '. >+PASS Test that inset-* properties honor selector specificty when both logical and physical associates are declared, with 'writing-mode: vertical-lr; direction: ltr; '. >+FAIL Test that logical inset-* properties share computed values with their physical associates, with 'writing-mode: sideways-lr; direction: rtl; '. assert_equals: logical properties on one declaration, writing mode properties on another, 'writing-mode: sideways-lr; direction: rtl; ', top expected "1px" but got "3px" >+FAIL Test that inset-* shorthands set the computed value of both logical and physical longhands, with 'writing-mode: sideways-lr; direction: rtl; '. assert_equals: shorthand properties on one declaration, writing mode properties on another, 'writing-mode: sideways-lr; direction: rtl; ', top expected "1px" but got "0px" >+FAIL Test that inset-* properties honor order of appearance when both logical and physical associates are declared, with 'writing-mode: sideways-lr; direction: rtl; '. assert_equals: 'inset-inline-start' last on single declaration, 'writing-mode: sideways-lr; direction: rtl; ', inset-block-start expected "1px" but got "3px" >+FAIL Test that inset-* properties honor selector specificty when both logical and physical associates are declared, with 'writing-mode: sideways-lr; direction: rtl; '. assert_equals: 'inset-inline-start', two declarations, 'writing-mode: sideways-lr; direction: rtl; ', inset-block-start expected "1px" but got "3px" > >diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/logical-box-inset.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/logical-box-inset.html >index 8587d79ed917d886e33a5f4d11916fd8294b4df7..02de415b0d8f23eabb3f9dd4b610495faad9eaec 100644 >--- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/logical-box-inset.html >+++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/logical-box-inset.html >@@ -1,4 +1,4 @@ >-<!DOCTYPE html> >+<!DOCTYPE html> <!-- webkit-test-runner [ internal:CSSLogicalEnabled=true ] --> > <meta charset="utf-8" /> > <title>CSS Logical Properties: Flow-Relative Offsets</title> > <link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com" /> >diff --git a/LayoutTests/webexposed/css-properties-behind-flags-expected.txt b/LayoutTests/webexposed/css-properties-behind-flags-expected.txt >index 237b1cea245bad66d582c8dd8c4e46481b69140c..3a367b934681c5eccb5a375b8f4bf66cd9cf7564 100644 >--- a/LayoutTests/webexposed/css-properties-behind-flags-expected.txt >+++ b/LayoutTests/webexposed/css-properties-behind-flags-expected.txt >@@ -7,6 +7,13 @@ PASS border-inline is not exposed > PASS border-inline-width is not exposed > PASS border-inline-style is not exposed > PASS border-inline-color is not exposed >+PASS inset is not exposed >+PASS inset-block is not exposed >+PASS inset-block-start is not exposed >+PASS inset-block-end is not exposed >+PASS inset-inline is not exposed >+PASS inset-inline-start is not exposed >+PASS inset-inline-end is not exposed > PASS margin-block is not exposed > PASS margin-inline is not exposed > PASS padding-block is not exposed >diff --git a/LayoutTests/webexposed/css-properties-behind-flags.html b/LayoutTests/webexposed/css-properties-behind-flags.html >index 77b1418b89611fe1d13d880aeae53014763c799b..cfe35b38396aa5b897bdb973c899ac7276655284 100644 >--- a/LayoutTests/webexposed/css-properties-behind-flags.html >+++ b/LayoutTests/webexposed/css-properties-behind-flags.html >@@ -12,6 +12,13 @@ let hiddenProperties = [ > "border-inline-width", > "border-inline-style", > "border-inline-color", >+ "inset", >+ "inset-block", >+ "inset-block-start", >+ "inset-block-end", >+ "inset-inline", >+ "inset-inline-start", >+ "inset-inline-end", > "margin-block", > "margin-inline", > "padding-block",
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 189441
:
354980
| 359871 |
359872