Support CSS Shapes Level 1 without a prefix
authordino@apple.com <dino@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 20 Oct 2016 19:09:30 +0000 (19:09 +0000)
committerdino@apple.com <dino@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 20 Oct 2016 19:09:30 +0000 (19:09 +0000)
commit41d0a637fd184d8e168c8ea8e974bd081c67dfc6
treeefdbbd93506e02f9a746ff11f16212c9915b65bd
parent1728f6e65e02ba35a7e01767cfc3c5e84d566f9f
Support CSS Shapes Level 1 without a prefix
https://bugs.webkit.org/show_bug.cgi?id=163709
<rdar://problem/28859369>

Reviewed by Myles Maxfield.

Source/WebCore:

Support the unprefixed form of CSS Shapes, now that
it is in CR.

We have a few failing tests:

- Some image-based shaping failures, now skipped.
  https://bugs.webkit.org/show_bug.cgi?id=163706

- Some false negatives, where my understanding
  of the CSS OM seems to suggest that the W3C tests
  are incorrect.
  https://bugs.webkit.org/show_bug.cgi?id=163708

Tests: imported/w3c/csswg-test/css-shapes-1

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::propertyValue):
* css/CSSPropertyNames.in:
* css/CSSValueKeywords.in:
* css/parser/CSSParser.cpp:
(WebCore::isSimpleLengthPropertyID):
(WebCore::CSSParser::parseValue):
* css/parser/CSSPropertyParser.cpp:
(WebCore::CSSPropertyParser::parseSingleValue):
* page/animation/CSSPropertyAnimation.cpp:
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):

Source/WebInspectorUI:

Replace -webkit-shape-outside with shape-outside.

* UserInterface/Models/CSSKeywordCompletions.js:

LayoutTests:

Unskip all but a couple of tests.

* TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@207630 268f45cc-cd09-0410-ab3c-d52691b4dbfc
102 files changed:
LayoutTests/ChangeLog
LayoutTests/TestExpectations
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside-invalid-001-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside-invalid-circle-000-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside-invalid-circle-001-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside-invalid-circle-002-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside-invalid-circle-003-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside-invalid-ellipse-001-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside-invalid-ellipse-002-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside-invalid-ellipse-003-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside-invalid-ellipse-004-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside-invalid-ellipse-005-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside-invalid-ellipse-006-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside-invalid-inset-001-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside-invalid-inset-002-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside-invalid-inset-003-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside-invalid-inset-004-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/gradients/shape-outside-radial-gradient-001-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/gradients/shape-outside-radial-gradient-002-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/gradients/shape-outside-radial-gradient-003-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/gradients/shape-outside-radial-gradient-004-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-image-threshold-000-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-image-threshold-001-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-image-threshold-002-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-image-threshold-003-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-margin-000-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-margin-001-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-margin-002-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-margin-003-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-margin-004-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-margin-005-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-box-000-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-circle-000-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-circle-001-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-circle-002-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-circle-003-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-circle-004-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-circle-005-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-circle-006-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-circle-007-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-circle-008-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-circle-009-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-circle-010-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-circle-011-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-computed-shape-000-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-computed-shape-001-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-ellipse-000-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-ellipse-001-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-ellipse-002-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-ellipse-003-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-ellipse-004-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-ellipse-005-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-ellipse-006-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-ellipse-007-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-ellipse-008-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-ellipse-009-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-ellipse-010-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-ellipse-011-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-inset-000-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-inset-001-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-inset-002-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-inset-003-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-inset-004-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-inset-005-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-inset-006-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-inset-007-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-inset-008-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-inset-009-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-polygon-000-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-polygon-001-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-polygon-002-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-polygon-003-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-polygon-004-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-polygon-005-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-polygon-006-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-shape-arguments-000-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-shape-arguments-001-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-shape-box-pair-000-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-shape-inherit-000-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-shape-initial-000-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-shape-none-000-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-shape-notation-000-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/spec-examples/shape-outside-010-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/spec-examples/shape-outside-011-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/spec-examples/shape-outside-012-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/spec-examples/shape-outside-013-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/spec-examples/shape-outside-014-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/spec-examples/shape-outside-015-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/spec-examples/shape-outside-016-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/spec-examples/shape-outside-017-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/spec-examples/shape-outside-018-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/spec-examples/shape-outside-019-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/csswg-test/css-shapes-1/test-plan/index-expected.txt [new file with mode: 0644]
Source/WebCore/ChangeLog
Source/WebCore/css/CSSComputedStyleDeclaration.cpp
Source/WebCore/css/CSSPropertyNames.in
Source/WebCore/css/CSSValueKeywords.in
Source/WebCore/css/parser/CSSParser.cpp
Source/WebCore/css/parser/CSSPropertyParser.cpp
Source/WebCore/page/animation/CSSPropertyAnimation.cpp
Source/WebInspectorUI/ChangeLog
Source/WebInspectorUI/UserInterface/Models/CSSKeywordCompletions.js