[css-logical] Implement flow-relative inset properties
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 23 Jan 2019 15:04:50 +0000 (15:04 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 23 Jan 2019 15:04:50 +0000 (15:04 +0000)
commit3da8892f7c79b8e60dbfe0ce044fb80cdc80804b
tree31f9573cb4533db4204a30454bbc75b5701cd29e
parentb03ccb86f69769e127259656732ccf8318b28641
[css-logical] Implement flow-relative inset properties
https://bugs.webkit.org/show_bug.cgi?id=189441

Patch by Oriol Brufau <obrufau@igalia.com> on 2019-01-23
Reviewed by Dean Jackson.

LayoutTests/imported/w3c:

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:

Source/WebCore:

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):

LayoutTests:

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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@240334 268f45cc-cd09-0410-ab3c-d52691b4dbfc
13 files changed:
LayoutTests/ChangeLog
LayoutTests/imported/w3c/ChangeLog
LayoutTests/imported/w3c/web-platform-tests/css/css-logical/logical-box-inset-expected.txt
LayoutTests/imported/w3c/web-platform-tests/css/css-logical/logical-box-inset.html
LayoutTests/webexposed/css-properties-behind-flags-expected.txt
LayoutTests/webexposed/css-properties-behind-flags.html
Source/WebCore/ChangeLog
Source/WebCore/css/CSSComputedStyleDeclaration.cpp
Source/WebCore/css/CSSProperties.json
Source/WebCore/css/CSSProperty.cpp
Source/WebCore/css/StyleProperties.cpp
Source/WebCore/css/parser/CSSParserFastPaths.cpp
Source/WebCore/css/parser/CSSPropertyParser.cpp