[css-align] The 'baseline' value must be invalid for the 'justify-content' property
authorjfernandez@igalia.com <jfernandez@igalia.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 30 Jan 2018 16:03:14 +0000 (16:03 +0000)
committerjfernandez@igalia.com <jfernandez@igalia.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 30 Jan 2018 16:03:14 +0000 (16:03 +0000)
https://bugs.webkit.org/show_bug.cgi?id=181794

Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

Adapted the test cases using <baseline-position> keywords to the new CSS syntax.
Imported the CSS/support folder.

* resources/import-expectations.json:
* web-platform-tests/css/css-align/content-distribution/parse-align-content-001-expected.txt:
* web-platform-tests/css/css-align/content-distribution/parse-align-content-001.html:
* web-platform-tests/css/css-align/content-distribution/parse-align-content-003-expected.txt:
* web-platform-tests/css/css-align/content-distribution/parse-align-content-003.html:
* web-platform-tests/css/css-align/content-distribution/parse-justify-content-001-expected.txt:
* web-platform-tests/css/css-align/content-distribution/parse-justify-content-001.html:
* web-platform-tests/css/css-align/content-distribution/parse-justify-content-003-expected.txt:
* web-platform-tests/css/css-align/content-distribution/parse-justify-content-003.html:
* web-platform-tests/css/css-align/content-distribution/parse-justify-content-004-expected.txt:
* web-platform-tests/css/css-align/content-distribution/parse-justify-content-004.html:
* web-platform-tests/css/css-align/content-distribution/place-content-shorthand-001-expected.txt:
* web-platform-tests/css/css-align/content-distribution/place-content-shorthand-001.html:
* web-platform-tests/css/css-align/content-distribution/place-content-shorthand-002-expected.txt:
* web-platform-tests/css/css-align/content-distribution/place-content-shorthand-002.html:
* web-platform-tests/css/css-align/content-distribution/place-content-shorthand-004-expected.txt:
* web-platform-tests/css/css-align/content-distribution/place-content-shorthand-004.html:
* web-platform-tests/css/css-align/content-distribution/place-content-shorthand-006-expected.txt:
* web-platform-tests/css/css-align/content-distribution/place-content-shorthand-006.html:
* web-platform-tests/css/css-align/default-alignment/parse-align-items-001-expected.txt:
* web-platform-tests/css/css-align/default-alignment/parse-align-items-001.html:
* web-platform-tests/css/css-align/default-alignment/parse-align-items-003-expected.txt:
* web-platform-tests/css/css-align/default-alignment/parse-align-items-003.html:
* web-platform-tests/css/css-align/default-alignment/parse-justify-items-001-expected.txt:
* web-platform-tests/css/css-align/default-alignment/parse-justify-items-001.html:
* web-platform-tests/css/css-align/default-alignment/parse-justify-items-003-expected.txt:
* web-platform-tests/css/css-align/default-alignment/parse-justify-items-003.html:
* web-platform-tests/css/css-align/default-alignment/place-items-shorthand-001.html:
* web-platform-tests/css/css-align/default-alignment/place-items-shorthand-002.html:
* web-platform-tests/css/css-align/default-alignment/place-items-shorthand-004.html:
* web-platform-tests/css/css-align/default-alignment/place-items-shorthand-006.html:
* web-platform-tests/css/css-align/resources/alignment-parsing-utils.js:
(checkPlaceShorhand):
(checkPlaceShorhandLonghands):
* web-platform-tests/css/css-align/self-alignment/parse-align-self-001-expected.txt:
* web-platform-tests/css/css-align/self-alignment/parse-align-self-001.html:
* web-platform-tests/css/css-align/self-alignment/parse-align-self-003-expected.txt:
* web-platform-tests/css/css-align/self-alignment/parse-align-self-003.html:
* web-platform-tests/css/css-align/self-alignment/parse-justify-self-001-expected.txt:
* web-platform-tests/css/css-align/self-alignment/parse-justify-self-001.html:
* web-platform-tests/css/css-align/self-alignment/parse-justify-self-003-expected.txt:
* web-platform-tests/css/css-align/self-alignment/parse-justify-self-003.html:
* web-platform-tests/css/css-align/self-alignment/place-self-shorthand-001.html:
* web-platform-tests/css/css-align/self-alignment/place-self-shorthand-002.html:
* web-platform-tests/css/css-align/self-alignment/place-self-shorthand-004.html:
* web-platform-tests/css/css-align/self-alignment/place-self-shorthand-006.html:
* web-platform-tests/css/support/1x1-green.png: Added.
* web-platform-tests/css/support/1x1-lime.png: Added.
* web-platform-tests/css/support/1x1-maroon.png: Added.
* web-platform-tests/css/support/1x1-navy.png: Added.
* web-platform-tests/css/support/1x1-red.png: Added.
* web-platform-tests/css/support/1x1-white.png: Added.
* web-platform-tests/css/support/60x60-gg-rr.png: Added.
* web-platform-tests/css/support/60x60-green.png: Added.
* web-platform-tests/css/support/60x60-red.png: Added.
* web-platform-tests/css/support/OWNERS: Added.
* web-platform-tests/css/support/README: Added.
* web-platform-tests/css/support/a-green.css: Added.
(.a):
* web-platform-tests/css/support/alignment.css: Added.
(.alignSelfAuto):
(.alignSelfNormal):
(.alignSelfStretch):
(.alignSelfStart):
(.alignSelfEnd):
(.alignSelfCenter):
(.alignSelfRight):
(.alignSelfLeft):
(.alignSelfFlexStart):
(.alignSelfFlexEnd):
(.alignSelfSelfStart):
(.alignSelfSelfEnd):
(.alignSelfSafeCenter):
(.alignSelfUnsafeCenter):
(.alignSelfSafeEnd):
(.alignSelfUnsafeEnd):
(.alignSelfSafeSelfEnd):
(.alignSelfUnsafeSelfEnd):
(.alignSelfSafeSelfStart):
(.alignSelfUnsafeSelfStart):
(.alignSelfSafeRight):
(.alignSelfUnsafeRight):
(.alignSelfSafeLeft):
(.alignSelfUnsafeLeft):
(.alignSelfSafeFlexEnd):
(.alignSelfUnsafeFlexEnd):
(.alignSelfSafeFlexStart):
(.alignSelfUnsafeFlexStart):
(.alignSelfBaseline):
(.alignSelfFirstBaseline):
(.alignSelfLastBaseline):
(.alignItemsAuto):
(.alignItemsNormal):
(.alignItemsStretch):
(.alignItemsStart):
(.alignItemsCenter):
(.alignItemsEnd):
(.alignItemsLeft):
(.alignItemsRight):
(.alignItemsFlexStart):
(.alignItemsFlexEnd):
(.alignItemsSelfStart):
(.alignItemsSelfEnd):
(.alignItemsSafeCenter):
(.alignItemsUnsafeCenter):
(.alignItemsSafeEnd):
(.alignItemsUnsafeEnd):
(.alignItemsSafeSelfEnd):
(.alignItemsUnsafeSelfEnd):
(.alignItemsSafeSelfStart):
(.alignItemsUnsafeSelfStart):
(.alignItemsSafeRight):
(.alignItemsUnsafeRight):
(.alignItemsSafeLeft):
(.alignItemsUnsafeLeft):
(.alignItemsSafeFlexEnd):
(.alignItemsUnsafeFlexEnd):
(.alignItemsSafeFlexStart):
(.alignItemsUnsafeFlexStart):
(.alignItemsBaseline):
(.alignItemsFirstBaseline):
(.alignItemsLastBaseline):
(.alignContentBaseline):
(.alignContentLastBaseline):
(.alignContentStart):
(.alignContentEnd):
(.alignContentCenter):
(.alignContentLeft):
(.alignContentRight):
(.alignContentFlexStart):
(.alignContentFlexEnd):
(.alignContentSpaceBetween):
(.alignContentSpaceAround):
(.alignContentSpaceEvenly):
(.alignContentStretch):
(.alignContentSafeCenter):
(.alignContentUnsafeCenter):
(.alignContentSafeEnd):
(.alignContentUnsafeEnd):
(.alignContentSafeRight):
(.alignContentUnsafeRight):
(.alignContentSafeLeft):
(.alignContentUnsafeLeft):
(.alignContentSafeFlexEnd):
(.alignContentUnsafeFlexEnd):
(.alignContentSafeFlexStart):
(.alignContentUnsafeFlexStart):
(.alignContentFirstBaseline):
(.justifySelfAuto):
(.justifySelfNormal):
(.justifySelfStretch):
(.justifySelfStart):
(.justifySelfCenter):
(.justifySelfEnd):
(.justifySelfRight):
(.justifySelfLeft):
(.justifySelfFlexStart):
(.justifySelfFlexEnd):
(.justifySelfSelfStart):
(.justifySelfSelfEnd):
(.justifySelfSafeCenter):
(.justifySelfUnsafeCenter):
(.justifySelfSafeEnd):
(.justifySelfUnsafeEnd):
(.justifySelfSafeSelfEnd):
(.justifySelfUnsafeSelfEnd):
(.justifySelfSafeSelfStart):
(.justifySelfUnsafeSelfStart):
(.justifySelfSafeRight):
(.justifySelfUnsafeRight):
(.justifySelfSafeLeft):
(.justifySelfUnsafeLeft):
(.justifySelfSafeFlexEnd):
(.justifySelfUnsafeFlexEnd):
(.justifySelfSafeFlexStart):
(.justifySelfUnsafeFlexStart):
(.justifySelfBaseline):
(.justifySelfFirstBaseline):
(.justifySelfLastBaseline):
(.justifyItemsAuto):
(.justifyItemsNormal):
(.justifyItemsStretch):
(.justifyItemsStart):
(.justifyItemsCenter):
(.justifyItemsEnd):
(.justifyItemsLeft):
(.justifyItemsRight):
(.justifyItemsFlexStart):
(.justifyItemsFlexEnd):
(.justifyItemsSelfStart):
(.justifyItemsSelfEnd):
(.justifyItemsLegacy):
(.justifyItemsLegacyLeft):
(.justifyItemsLegacyCenter):
(.justifyItemsLegacyRight):
(.justifyItemsLeftLegacy):
(.justifyItemsCenterLegacy):
(.justifyItemsRightLegacy):
(.justifyItemsSafeCenter):
(.justifyItemsUnsafeCenter):
(.justifyItemsSafeEnd):
(.justifyItemsUnsafeEnd):
(.justifyItemsSafeSelfEnd):
(.justifyItemsUnsafeSelfEnd):
(.justifyItemsSafeSelfStart):
(.justifyItemsUnsafeSelfStart):
(.justifyItemsSafeRight):
(.justifyItemsUnsafeRight):
(.justifyItemsSafeLeft):
(.justifyItemsUnsafeLeft):
(.justifyItemsSafeFlexEnd):
(.justifyItemsUnsafeFlexEnd):
(.justifyItemsSafeFlexStart):
(.justifyItemsUnsafeFlexStart):
(.justifyItemsTest):
(.justifyItemsBaseline):
(.justifyItemsFirstBaseline):
(.justifyItemsLastBaseline):
(.justifyContentBaseline):
(.justifyContentLastBaseline):
(.justifyContentStart):
(.justifyContentEnd):
(.justifyContentCenter):
(.justifyContentLeft):
(.justifyContentRight):
(.justifyContentFlexStart):
(.justifyContentFlexEnd):
(.justifyContentSpaceBetween):
(.justifyContentSpaceAround):
(.justifyContentSpaceEvenly):
(.justifyContentStretch):
(.justifyContentSafeCenter):
(.justifyContentUnsafeCenter):
(.justifyContentSafeEnd):
(.justifyContentUnsafeEnd):
(.justifyContentSafeRight):
(.justifyContentUnsafeRight):
(.justifyContentSafeLeft):
(.justifyContentUnsafeLeft):
(.justifyContentSafeFlexEnd):
(.justifyContentUnsafeFlexEnd):
(.justifyContentSafeFlexStart):
(.justifyContentUnsafeFlexStart):
(.justifyContentFirstBaseline):
(.itemsNormal):
(.itemsStretch):
(.itemsStart):
(.itemsCenter):
(.itemsEnd):
(.itemsLeft):
(.itemsRight):
(.itemsSelfStart):
(.itemsSelfEnd):
(.itemsBaseline):
(.selfStretch):
(.selfStart):
(.selfEnd):
(.selfCenter):
(.selfRight):
(.selfLeft):
(.selfSelfStart):
(.selfSelfEnd):
(.selfBaseline):
(.contentStart):
(.contentCenter):
(.contentEnd):
(.contentCenterSafe):
(.contentCenterUnsafe):
(.contentEndSafe):
(.contentEndUnsafe):
(.contentSpaceBetween):
(.contentSpaceAround):
(.contentSpaceEvenly):
(.contentStretch):
* web-platform-tests/css/support/b-green.css: Added.
(.b):
* web-platform-tests/css/support/c-red.css: Added.
(.c):
* web-platform-tests/css/support/cat.png: Added.
* web-platform-tests/css/support/green.ico: Added.
* web-platform-tests/css/support/import-green.css: Added.
(.import):
* web-platform-tests/css/support/import-red.css: Added.
(.import):
* web-platform-tests/css/support/pattern-grg-rgr-grg.png: Added.
* web-platform-tests/css/support/pattern-grg-rrg-rgg.png: Added.
* web-platform-tests/css/support/pattern-rgr-grg-rgr.png: Added.
* web-platform-tests/css/support/pattern-tr.png: Added.
* web-platform-tests/css/support/red.ico: Added.
* web-platform-tests/css/support/ruler-h-50%.png: Added.
* web-platform-tests/css/support/ruler-h-50px.png: Added.
* web-platform-tests/css/support/ruler-v-100px.png: Added.
* web-platform-tests/css/support/ruler-v-50px.png: Added.
* web-platform-tests/css/support/square-purple.png: Added.
* web-platform-tests/css/support/square-teal.png: Added.
* web-platform-tests/css/support/square-white.png: Added.
* web-platform-tests/css/support/support/README: Added.
* web-platform-tests/css/support/support/swatch-green.png: Added.
* web-platform-tests/css/support/support/swatch-red.png: Added.
* web-platform-tests/css/support/support/w3c-import.log: Added.
* web-platform-tests/css/support/swatch-blue.png: Added.
* web-platform-tests/css/support/swatch-green.png: Added.
* web-platform-tests/css/support/swatch-lime.png: Added.
* web-platform-tests/css/support/swatch-orange.png: Added.
* web-platform-tests/css/support/swatch-red.png: Added.
* web-platform-tests/css/support/swatch-teal.png: Added.
* web-platform-tests/css/support/swatch-white.png: Added.
* web-platform-tests/css/support/swatch-yellow.png: Added.
* web-platform-tests/css/support/test-bl.png: Added.
* web-platform-tests/css/support/test-br.png: Added.
* web-platform-tests/css/support/test-inner-half-size.png: Added.
* web-platform-tests/css/support/test-outer.png: Added.
* web-platform-tests/css/support/test-tl.png: Added.
* web-platform-tests/css/support/test-tr.png: Added.
* web-platform-tests/css/support/w3c-import.log: Added.

Source/WebCore:

The CSS WG has resolved that it doesn't make sense to define Baseline
Content-Alignment in the inline/main axis.

https://github.com/w3c/csswg-drafts/issues/1184

The spec has been updated so that <baseline-postion> is not valid for
the 'justify-content' property's syntax. This CL updates our parsing
logic to match the new spec, including the parsing logic of the
place-content shorthand.

Additionally, this CL updates the computed value of the
<baseline-position> values to match other browsers.

We don't implement support for <baseline-position> values in the
Content Distribution properties (align-content and justify-content),
so I don't expect this change to break content of sites using the CSS
Box Alignment feature.

No new tests, just adapt the Web Platform Tests we already have to the new CSS syntax.

* css/parser/CSSPropertyParser.cpp:
(WebCore::getBaselineKeyword):
(WebCore::consumeBaselineKeyword):
(WebCore::consumeContentDistributionOverflowPosition):
(WebCore::consumeSelfPositionOverflowPosition):
(WebCore::CSSPropertyParser::parseSingleValue):
(WebCore::consumeSimplifiedContentPosition):
(WebCore::CSSPropertyParser::consumePlaceContentShorthand):
(WebCore::consumeSimplifiedItemPosition):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@227786 268f45cc-cd09-0410-ab3c-d52691b4dbfc

104 files changed:
LayoutTests/css3/parse-align-content.html
LayoutTests/css3/parse-justify-content.html
LayoutTests/css3/parse-place-content-expected.txt
LayoutTests/css3/parse-place-content.html
LayoutTests/imported/w3c/ChangeLog
LayoutTests/imported/w3c/resources/import-expectations.json
LayoutTests/imported/w3c/web-platform-tests/css/css-align/content-distribution/parse-align-content-001-expected.txt
LayoutTests/imported/w3c/web-platform-tests/css/css-align/content-distribution/parse-align-content-001.html
LayoutTests/imported/w3c/web-platform-tests/css/css-align/content-distribution/parse-align-content-003-expected.txt
LayoutTests/imported/w3c/web-platform-tests/css/css-align/content-distribution/parse-align-content-003.html
LayoutTests/imported/w3c/web-platform-tests/css/css-align/content-distribution/parse-justify-content-001-expected.txt
LayoutTests/imported/w3c/web-platform-tests/css/css-align/content-distribution/parse-justify-content-001.html
LayoutTests/imported/w3c/web-platform-tests/css/css-align/content-distribution/parse-justify-content-003-expected.txt
LayoutTests/imported/w3c/web-platform-tests/css/css-align/content-distribution/parse-justify-content-003.html
LayoutTests/imported/w3c/web-platform-tests/css/css-align/content-distribution/parse-justify-content-004-expected.txt
LayoutTests/imported/w3c/web-platform-tests/css/css-align/content-distribution/parse-justify-content-004.html
LayoutTests/imported/w3c/web-platform-tests/css/css-align/content-distribution/place-content-shorthand-001-expected.txt
LayoutTests/imported/w3c/web-platform-tests/css/css-align/content-distribution/place-content-shorthand-001.html
LayoutTests/imported/w3c/web-platform-tests/css/css-align/content-distribution/place-content-shorthand-002-expected.txt
LayoutTests/imported/w3c/web-platform-tests/css/css-align/content-distribution/place-content-shorthand-002.html
LayoutTests/imported/w3c/web-platform-tests/css/css-align/content-distribution/place-content-shorthand-004-expected.txt
LayoutTests/imported/w3c/web-platform-tests/css/css-align/content-distribution/place-content-shorthand-004.html
LayoutTests/imported/w3c/web-platform-tests/css/css-align/content-distribution/place-content-shorthand-006-expected.txt
LayoutTests/imported/w3c/web-platform-tests/css/css-align/content-distribution/place-content-shorthand-006.html
LayoutTests/imported/w3c/web-platform-tests/css/css-align/content-distribution/place-content-shorthand-007-expected.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-align/content-distribution/place-content-shorthand-007.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-align/content-distribution/w3c-import.log
LayoutTests/imported/w3c/web-platform-tests/css/css-align/default-alignment/parse-align-items-001-expected.txt
LayoutTests/imported/w3c/web-platform-tests/css/css-align/default-alignment/parse-align-items-001.html
LayoutTests/imported/w3c/web-platform-tests/css/css-align/default-alignment/parse-align-items-003-expected.txt
LayoutTests/imported/w3c/web-platform-tests/css/css-align/default-alignment/parse-align-items-003.html
LayoutTests/imported/w3c/web-platform-tests/css/css-align/default-alignment/parse-justify-items-001-expected.txt
LayoutTests/imported/w3c/web-platform-tests/css/css-align/default-alignment/parse-justify-items-001.html
LayoutTests/imported/w3c/web-platform-tests/css/css-align/default-alignment/parse-justify-items-003-expected.txt
LayoutTests/imported/w3c/web-platform-tests/css/css-align/default-alignment/parse-justify-items-003.html
LayoutTests/imported/w3c/web-platform-tests/css/css-align/default-alignment/place-items-shorthand-001.html
LayoutTests/imported/w3c/web-platform-tests/css/css-align/default-alignment/place-items-shorthand-002.html
LayoutTests/imported/w3c/web-platform-tests/css/css-align/default-alignment/place-items-shorthand-004.html
LayoutTests/imported/w3c/web-platform-tests/css/css-align/default-alignment/place-items-shorthand-006.html
LayoutTests/imported/w3c/web-platform-tests/css/css-align/resources/alignment-parsing-utils.js
LayoutTests/imported/w3c/web-platform-tests/css/css-align/self-alignment/parse-align-self-001-expected.txt
LayoutTests/imported/w3c/web-platform-tests/css/css-align/self-alignment/parse-align-self-001.html
LayoutTests/imported/w3c/web-platform-tests/css/css-align/self-alignment/parse-align-self-003-expected.txt
LayoutTests/imported/w3c/web-platform-tests/css/css-align/self-alignment/parse-align-self-003.html
LayoutTests/imported/w3c/web-platform-tests/css/css-align/self-alignment/parse-justify-self-001-expected.txt
LayoutTests/imported/w3c/web-platform-tests/css/css-align/self-alignment/parse-justify-self-001.html
LayoutTests/imported/w3c/web-platform-tests/css/css-align/self-alignment/parse-justify-self-003-expected.txt
LayoutTests/imported/w3c/web-platform-tests/css/css-align/self-alignment/parse-justify-self-003.html
LayoutTests/imported/w3c/web-platform-tests/css/css-align/self-alignment/place-self-shorthand-001.html
LayoutTests/imported/w3c/web-platform-tests/css/css-align/self-alignment/place-self-shorthand-002.html
LayoutTests/imported/w3c/web-platform-tests/css/css-align/self-alignment/place-self-shorthand-004.html
LayoutTests/imported/w3c/web-platform-tests/css/css-align/self-alignment/place-self-shorthand-006.html
LayoutTests/imported/w3c/web-platform-tests/css/support/1x1-green.png [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/support/1x1-lime.png [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/support/1x1-maroon.png [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/support/1x1-navy.png [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/support/1x1-red.png [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/support/1x1-white.png [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/support/60x60-gg-rr.png [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/support/60x60-green.png [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/support/60x60-red.png [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/support/OWNERS [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/support/README [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/support/a-green.css [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/support/alignment.css [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/support/b-green.css [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/support/c-red.css [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/support/cat.png [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/support/green.ico [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/support/import-green.css [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/support/import-red.css [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/support/pattern-grg-rgr-grg.png [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/support/pattern-grg-rrg-rgg.png [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/support/pattern-rgr-grg-rgr.png [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/support/pattern-tr.png [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/support/red.ico [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/support/ruler-h-50%.png [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/support/ruler-h-50px.png [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/support/ruler-v-100px.png [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/support/ruler-v-50px.png [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/support/square-purple.png [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/support/square-teal.png [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/support/square-white.png [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/support/support/README [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/support/support/swatch-green.png [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/support/support/swatch-red.png [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/support/support/w3c-import.log [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/support/swatch-blue.png [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/support/swatch-green.png [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/support/swatch-lime.png [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/support/swatch-orange.png [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/support/swatch-red.png [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/support/swatch-teal.png [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/support/swatch-white.png [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/support/swatch-yellow.png [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/support/test-bl.png [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/support/test-br.png [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/support/test-inner-half-size.png [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/support/test-outer.png [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/support/test-tl.png [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/support/test-tr.png [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/support/w3c-import.log [new file with mode: 0644]
Source/WebCore/ChangeLog
Source/WebCore/css/parser/CSSPropertyParser.cpp

index e1bc3bf..3c94886 100644 (file)
@@ -246,11 +246,11 @@ test(function() {
     element.style.alignContent = "unsafe end";
     checkValues(element, "alignContent", "align-content",  "unsafe end", "unsafe end");
 
-    element.style.justifyContent = "first baseline";
-    checkValues(element, "justifyContent", "justify-content",  "first baseline", "baseline");
+    element.style.alignContent = "first baseline";
+    checkValues(element, "alignContent", "align-content",  "baseline", "baseline");
 
-    element.style.justifyContent = "last baseline";
-    checkValues(element, "justifyContent", "justify-content",  "last baseline", "last baseline");
+    element.style.alignContent = "last baseline";
+    checkValues(element, "alignContent", "align-content",  "last baseline", "last baseline");
 
     element.style.alignContent = "normal";
     checkValues(element, "alignContent", "align-content",  "normal", "normal");
index 043d707..8215dea 100644 (file)
@@ -4,18 +4,6 @@
     justify-content: auto;
 }
 
-#justifyContentBaseline {
-    justify-content: baseline;
-}
-
-#justifyContentFirstBaseline {
-    justify-content: first baseline;
-}
-
-#justifyContentLastBaseline {
-    justify-content: last baseline;
-}
-
 #justifyContentSpaceBetween {
     justify-content: space-between;
 }
 }
 
 <!-- Invalid CSS cases -->
+#justifyContentBaseline {
+    justify-content: baseline;
+}
+
+#justifyContentFirstBaseline {
+    justify-content: first baseline;
+}
+
+#justifyContentLastBaseline {
+    justify-content: last baseline;
+}
+
 #justifyContentSpaceBetweenLeft {
     justify-content: space-between left;
 }
 </style>
 <p>Test that setting and getting justify-content works as expected</p>
 <div id="justifyContentAuto"></div>
-<div id="justifyContentBaseline"></div>
-<div id="justifyContentFirstBaseline"></div>
-<div id="justifyContentLastBaseline"></div>
 <div id="justifyContentSpaceBetween"></div>
 <div id="justifyContentSpaceAround"></div>
 <div id="justifyContentSpaceEvenly"></div>
 <div id="justifyContentFlexStartUnsafe"></div>
 <div id="justifyContentFlexEndSafe"></div>
 
+<div id="justifyContentBaseline"></div>
+<div id="justifyContentFirstBaseline"></div>
+<div id="justifyContentLastBaseline"></div>
 <div id="justifyContentSpaceBetweenLeft"></div>
 <div id="justifyContentSpaceAroundCenter"></div>
 <div id="justifyContentSpaceEvenlyRight"></div>
 test(function() {
     var justifyContentAuto = document.getElementById("justifyContentAuto");
     checkValues(justifyContentAuto, "justifyContent", "justify-content", "", "normal");
-    var justifyContentBaseline = document.getElementById("justifyContentBaseline");
-    checkValues(justifyContentBaseline, "justifyContent", "justify-content", "", "baseline");
-    var justifyContentLastBaseline = document.getElementById("justifyContentFirstBaseline");
-    checkValues(justifyContentLastBaseline, "justifyContent", "justify-content", "", "baseline");
-    var justifyContentLastBaseline = document.getElementById("justifyContentLastBaseline");
-    checkValues(justifyContentLastBaseline, "justifyContent", "justify-content", "", "last baseline");
     var justifyContentSpaceBetween = document.getElementById("justifyContentSpaceBetween");
     checkValues(justifyContentSpaceBetween, "justifyContent", "justify-content", "", "space-between");
     var justifyContentSpaceAround = document.getElementById("justifyContentSpaceAround");
@@ -222,6 +216,12 @@ test(function() {
 }, "Test getting justify-content values previously set through CSS.");
 
 test(function() {
+    var justifyContentBaseline = document.getElementById("justifyContentBaseline");
+    checkValues(justifyContentBaseline, "justifyContent", "justify-content", "", "normal");
+    var justifyContentLastBaseline = document.getElementById("justifyContentFirstBaseline");
+    checkValues(justifyContentLastBaseline, "justifyContent", "justify-content", "", "normal");
+    var justifyContentLastBaseline = document.getElementById("justifyContentLastBaseline");
+    checkValues(justifyContentLastBaseline, "justifyContent", "justify-content", "", "normal");
     var justifyContentEndUnsafe = document.getElementById("justifyContentEndUnsafe");
     checkValues(justifyContentEndUnsafe, "justifyContent", "justify-content", "", "normal");
     var justifyContentCenterUnsafe = document.getElementById("justifyContentCenterUnsafe");
@@ -279,12 +279,6 @@ test(function() {
     element.style.justifyContent = " unsafe right";
     checkValues(element, "justifyContent", "justify-content",  "unsafe right", "unsafe right");
 
-    element.style.justifyContent = "first baseline";
-    checkValues(element, "justifyContent", "justify-content",  "first baseline", "baseline");
-
-    element.style.justifyContent = "last baseline";
-    checkValues(element, "justifyContent", "justify-content",  "last baseline", "last baseline");
-
     element.style.justifyContent = "normal";
     checkValues(element, "justifyContent", "justify-content",  "normal", "normal");
 
@@ -333,6 +327,9 @@ test(function() {
     checkBadValues(element, "justifyContent", "justify-content",  "safe");
     checkBadValues(element, "justifyContent", "justify-content",  "start safe");
     checkBadValues(element, "justifyContent", "justify-content",  "end unsafe");
+    checkBadValues(element, "justifyContent", "justify-content",  "baseline");
+    checkBadValues(element, "justifyContent", "justify-content",  "first baseline");
+    checkBadValues(element, "justifyContent", "justify-content",  "last baseline");
 }, "Test bad combinations of justify-content");
 
 test(function() {
index 7d5e1ce..a17339d 100644 (file)
@@ -2,9 +2,6 @@ Test to verify that the new place-content alignment shorthand is parsed as expec
 
 
 PASS Test getting the Computed Value of place-content's longhand properties when setting 'normal' value through CSS. 
-PASS Test getting the Computed Value of place-content's longhand properties when setting 'baseline' value through CSS. 
-PASS Test getting the Computed Value of place-content's longhand properties when setting 'first baseline' value through CSS. 
-PASS Test getting the Computed Value of place-content's longhand properties when setting 'last baseline' value through CSS. 
 PASS Test getting the Computed Value of place-content's longhand properties when setting 'start' value through CSS. 
 PASS Test getting the Computed Value of place-content's longhand properties when setting 'flex-start' value through CSS. 
 PASS Test getting the Computed Value of place-content's longhand properties when setting 'end' value through CSS. 
@@ -12,13 +9,15 @@ PASS Test getting the Computed Value of place-content's longhand properties when
 PASS Test getting the Computed Value of place-content's longhand properties when setting 'stretch' value through CSS. 
 PASS Test getting the Computed Value of place-content's longhand properties when setting 'start end' value through CSS. 
 PASS Test getting the Computed Value of place-content's longhand properties when setting 'start space-evenly' value through CSS. 
-PASS Test getting the Computed Value of place-content's longhand properties when setting 'start baseline' value through CSS. 
+PASS Test getting the Computed Value of place-content's longhand properties when setting 'baseline start' value through CSS. 
 PASS Test setting '' as incorrect value through CSS. 
 PASS Test setting 'auto' as incorrect value through CSS. 
 PASS Test setting 'none' as incorrect value through CSS. 
 PASS Test setting 'safe' as incorrect value through CSS. 
 PASS Test setting 'start safe' as incorrect value through CSS. 
+PASS Test setting 'baseline' as incorrect value through CSS. 
 PASS Test setting 'baseline safe' as incorrect value through CSS. 
+PASS Test setting 'start baseline' as incorrect value through CSS. 
 PASS Test setting 'start end left' as incorrect value through CSS. 
 PASS Test setting values through JS. 
 PASS Test setting incorrect values through JS. 
index 1bce380..4e8e984 100644 (file)
@@ -5,15 +5,6 @@
 #placeContentNormal {
     place-content: normal;
 }
-#placeContentBaseline {
-    place-content: baseline;
-}
-#placeContentFirstBaseline {
-    place-content: first baseline;
-}
-#placeContentLastBaseline {
-    place-content: last baseline;
-}
 #placeContentStart {
     place-content: start;
 }
@@ -35,8 +26,8 @@
 #placeContentStartSpaceEvenly {
     place-content: start space-evenly;
 }
-#placeContentStartBaseline {
-    place-content: start baseline;
+#placeContentBaselineStart {
+    place-content: baseline start;
 }
 
 <!-- Invalid CSS cases -->
 #placeContentSafe {
     place-content: safe;
 }
-#placeContentBaselineSafe {
-    place-content: baseline safe;
-}
 #placeContentStartSafe {
     place-content: start safe;
 }
+#placeContentBaselineSafe {
+    place-content: baseline safe;
+}
 #placeContentStartEndLeft {
     place-content: start end left;
 }
+#placeContentBaseline {
+    place-content: baseline;
+}
+#placeContentStartBaseline {
+    place-content: start baseline;
+}
 </style>
 <script src="../resources/testharness.js"></script>
 <script src="../resources/testharnessreport.js"></script>
@@ -71,9 +68,6 @@
     <div id="log"></div>
 
     <div id="placeContentNormal"></div>
-    <div id="placeContentBaseline"></div>
-    <div id="placeContentFirstBaseline"></div>
-    <div id="placeContentLastBaseline"></div>
     <div id="placeContentStart"></div>
     <div id="placeContentFlexStart"></div>
     <div id="placeContentEnd"></div>
@@ -81,7 +75,7 @@
     <div id="placeContentStretch"></div>
     <div id="placeContentStartEnd"></div>
     <div id="placeContentStartSpaceEvenly"></div>
-    <div id="placeContentStartBaseline"></div>
+    <div id="placeContentBaselineStart"></div>
 
     <div id="placeContentEmpty"></div>
     <div id="placeContentAuto"></div>
     <div id="placeContentStartSafe"></div>
     <div id="placeContentBaselineSafe"></div>
     <div id="placeContentStartEndLeft"></div>
+    <div id="placeContentBaseline"></div>
+    <div id="placeContentStartBaseline"></div>
 <script>
 function checkPlaceContentValues(element, value, alignValue, justifyValue)
 {
-    var res = value.split(" ");
-    var alignContentSpecified = res[0];
-    var justifyContentSpecified = "";
-    if (res[0] === "first" || res[0] === "last") {
-        alignContentSpecified = res[0] + " " + res[1];
-        if (res.length > 2)
-            justifyContentSpecified = res.slice(2).join(" ");
-    } else {
-        justifyContentSpecified = res.slice(1).join(" ");
-    }
-
-    if (justifyContentSpecified === "")
-         justifyContentSpecified = alignContentSpecified;
-     checkValues(element, "alignContent", "align-content", alignContentSpecified, alignValue);
-     checkValues(element, "justifyContent", "justify-content", justifyContentSpecified, justifyValue);
+     var res = value.split(" ");
+     if (res.length < 2)
+         res[1] = res[0];
+     checkValues(element, "alignContent", "align-content", res[0], alignValue);
+     checkValues(element, "justifyContent", "justify-content", res[1], justifyValue);
 }
 
 function checkPlaceContentValuesJS(value, alignValue, justifyValue)
 {
-    element = document.createElement("div");
-    document.body.appendChild(element);
-    element.style.placeContent = value;
-    checkValues(element, "placeContent", "place-content", value, alignValue + ' ' + justifyValue)
-    checkPlaceContentValues(element, value, alignValue, justifyValue)
+   element = document.createElement("div");
+   document.body.appendChild(element);
+   element.style.placeContent = value;
+   checkValues(element, "placeContent", "place-content", value, alignValue + ' ' + justifyValue)
+   checkPlaceContentValues(element, value, alignValue, justifyValue)
 }
 
 function checkPlaceContentValuesBadJS(value)
@@ -155,21 +141,6 @@ test(function() {
 }, "Test getting the Computed Value of place-content's longhand properties when setting 'normal' value through CSS.");
 
 test(function() {
-    checkValues(placeContentBaseline, "placeContent", "place-content", "", "baseline baseline");
-    checkPlaceContentValues(placeContentBaseline, "", "baseline", "baseline");
-}, "Test getting the Computed Value of place-content's longhand properties when setting 'baseline' value through CSS.");
-
-test(function() {
-    checkValues(placeContentFirstBaseline, "placeContent", "place-content", "", "baseline baseline");
-    checkPlaceContentValues(placeContentFirstBaseline, "", "baseline", "baseline");
-}, "Test getting the Computed Value of place-content's longhand properties when setting 'first baseline' value through CSS.");
-
-test(function() {
-    checkValues(placeContentLastBaseline, "placeContent", "place-content", "", "last baseline last baseline");
-    checkPlaceContentValues(placeContentLastBaseline, "", "last baseline", "last baseline");
-}, "Test getting the Computed Value of place-content's longhand properties when setting 'last baseline' value through CSS.");
-
-test(function() {
     checkValues(placeContentStart, "placeContent", "place-content", "", "start start");
     checkPlaceContentValues(placeContentStart, "", "start", "start");
 }, "Test getting the Computed Value of place-content's longhand properties when setting 'start' value through CSS.");
@@ -205,9 +176,9 @@ test(function() {
 }, "Test getting the Computed Value of place-content's longhand properties when setting 'start space-evenly' value through CSS.");
 
 test(function() {
-    checkValues(placeContentStartBaseline, "placeContent", "place-content", "", "start baseline");
-    checkPlaceContentValues(placeContentStartBaseline, "", "start", "baseline");
-}, "Test getting the Computed Value of place-content's longhand properties when setting 'start baseline' value through CSS.");
+    checkValues(placeContentBaselineStart, "placeContent", "place-content", "", "baseline start");
+    checkPlaceContentValues(placeContentBaselineStart, "", "baseline", "start");
+}, "Test getting the Computed Value of place-content's longhand properties when setting 'baseline start' value through CSS.");
 
 test(function() {
     checkValues(placeContentAuto, "placeContent", "place-content", "", "normal normal");
@@ -235,11 +206,21 @@ test(function() {
 }, "Test setting 'start safe' as incorrect value through CSS.");
 
 test(function() {
+    checkValues(placeContentBaseline, "placeContent", "place-content", "", "normal normal");
+    checkPlaceContentValues(placeContentBaseline, "", "normal", "normal");
+}, "Test setting 'baseline' as incorrect value through CSS.");
+
+test(function() {
     checkValues(placeContentBaselineSafe, "placeContent", "place-content", "", "normal normal");
     checkPlaceContentValues(placeContentBaselineSafe, "", "normal", "normal");
 }, "Test setting 'baseline safe' as incorrect value through CSS.");
 
 test(function() {
+    checkValues(placeContentStartBaseline, "placeContent", "place-content", "", "normal normal");
+    checkPlaceContentValues(placeContentStartBaseline, "", "normal", "normal");
+}, "Test setting 'start baseline' as incorrect value through CSS.");
+
+test(function() {
     checkValues(placeContentStartEndLeft, "placeContent", "place-content", "", "normal normal");
     checkPlaceContentValues(placeContentStartEndLeft, "", "normal", "normal");
 }, "Test setting 'start end left' as incorrect value through CSS.");
index 739a361..1cdfd55 100644 (file)
@@ -1,3 +1,329 @@
+2018-01-30  Javier Fernandez  <jfernandez@igalia.com>
+
+        [css-align] The 'baseline' value must be invalid for the 'justify-content' property
+        https://bugs.webkit.org/show_bug.cgi?id=181794
+
+        Reviewed by Antti Koivisto.
+
+        Adapted the test cases using <baseline-position> keywords to the new CSS syntax.
+        Imported the CSS/support folder.
+
+        * resources/import-expectations.json:
+        * web-platform-tests/css/css-align/content-distribution/parse-align-content-001-expected.txt:
+        * web-platform-tests/css/css-align/content-distribution/parse-align-content-001.html:
+        * web-platform-tests/css/css-align/content-distribution/parse-align-content-003-expected.txt:
+        * web-platform-tests/css/css-align/content-distribution/parse-align-content-003.html:
+        * web-platform-tests/css/css-align/content-distribution/parse-justify-content-001-expected.txt:
+        * web-platform-tests/css/css-align/content-distribution/parse-justify-content-001.html:
+        * web-platform-tests/css/css-align/content-distribution/parse-justify-content-003-expected.txt:
+        * web-platform-tests/css/css-align/content-distribution/parse-justify-content-003.html:
+        * web-platform-tests/css/css-align/content-distribution/parse-justify-content-004-expected.txt:
+        * web-platform-tests/css/css-align/content-distribution/parse-justify-content-004.html:
+        * web-platform-tests/css/css-align/content-distribution/place-content-shorthand-001-expected.txt:
+        * web-platform-tests/css/css-align/content-distribution/place-content-shorthand-001.html:
+        * web-platform-tests/css/css-align/content-distribution/place-content-shorthand-002-expected.txt:
+        * web-platform-tests/css/css-align/content-distribution/place-content-shorthand-002.html:
+        * web-platform-tests/css/css-align/content-distribution/place-content-shorthand-004-expected.txt:
+        * web-platform-tests/css/css-align/content-distribution/place-content-shorthand-004.html:
+        * web-platform-tests/css/css-align/content-distribution/place-content-shorthand-006-expected.txt:
+        * web-platform-tests/css/css-align/content-distribution/place-content-shorthand-006.html:
+        * web-platform-tests/css/css-align/default-alignment/parse-align-items-001-expected.txt:
+        * web-platform-tests/css/css-align/default-alignment/parse-align-items-001.html:
+        * web-platform-tests/css/css-align/default-alignment/parse-align-items-003-expected.txt:
+        * web-platform-tests/css/css-align/default-alignment/parse-align-items-003.html:
+        * web-platform-tests/css/css-align/default-alignment/parse-justify-items-001-expected.txt:
+        * web-platform-tests/css/css-align/default-alignment/parse-justify-items-001.html:
+        * web-platform-tests/css/css-align/default-alignment/parse-justify-items-003-expected.txt:
+        * web-platform-tests/css/css-align/default-alignment/parse-justify-items-003.html:
+        * web-platform-tests/css/css-align/default-alignment/place-items-shorthand-001.html:
+        * web-platform-tests/css/css-align/default-alignment/place-items-shorthand-002.html:
+        * web-platform-tests/css/css-align/default-alignment/place-items-shorthand-004.html:
+        * web-platform-tests/css/css-align/default-alignment/place-items-shorthand-006.html:
+        * web-platform-tests/css/css-align/resources/alignment-parsing-utils.js:
+        (checkPlaceShorhand):
+        (checkPlaceShorhandLonghands):
+        * web-platform-tests/css/css-align/self-alignment/parse-align-self-001-expected.txt:
+        * web-platform-tests/css/css-align/self-alignment/parse-align-self-001.html:
+        * web-platform-tests/css/css-align/self-alignment/parse-align-self-003-expected.txt:
+        * web-platform-tests/css/css-align/self-alignment/parse-align-self-003.html:
+        * web-platform-tests/css/css-align/self-alignment/parse-justify-self-001-expected.txt:
+        * web-platform-tests/css/css-align/self-alignment/parse-justify-self-001.html:
+        * web-platform-tests/css/css-align/self-alignment/parse-justify-self-003-expected.txt:
+        * web-platform-tests/css/css-align/self-alignment/parse-justify-self-003.html:
+        * web-platform-tests/css/css-align/self-alignment/place-self-shorthand-001.html:
+        * web-platform-tests/css/css-align/self-alignment/place-self-shorthand-002.html:
+        * web-platform-tests/css/css-align/self-alignment/place-self-shorthand-004.html:
+        * web-platform-tests/css/css-align/self-alignment/place-self-shorthand-006.html:
+        * web-platform-tests/css/support/1x1-green.png: Added.
+        * web-platform-tests/css/support/1x1-lime.png: Added.
+        * web-platform-tests/css/support/1x1-maroon.png: Added.
+        * web-platform-tests/css/support/1x1-navy.png: Added.
+        * web-platform-tests/css/support/1x1-red.png: Added.
+        * web-platform-tests/css/support/1x1-white.png: Added.
+        * web-platform-tests/css/support/60x60-gg-rr.png: Added.
+        * web-platform-tests/css/support/60x60-green.png: Added.
+        * web-platform-tests/css/support/60x60-red.png: Added.
+        * web-platform-tests/css/support/OWNERS: Added.
+        * web-platform-tests/css/support/README: Added.
+        * web-platform-tests/css/support/a-green.css: Added.
+        (.a):
+        * web-platform-tests/css/support/alignment.css: Added.
+        (.alignSelfAuto):
+        (.alignSelfNormal):
+        (.alignSelfStretch):
+        (.alignSelfStart):
+        (.alignSelfEnd):
+        (.alignSelfCenter):
+        (.alignSelfRight):
+        (.alignSelfLeft):
+        (.alignSelfFlexStart):
+        (.alignSelfFlexEnd):
+        (.alignSelfSelfStart):
+        (.alignSelfSelfEnd):
+        (.alignSelfSafeCenter):
+        (.alignSelfUnsafeCenter):
+        (.alignSelfSafeEnd):
+        (.alignSelfUnsafeEnd):
+        (.alignSelfSafeSelfEnd):
+        (.alignSelfUnsafeSelfEnd):
+        (.alignSelfSafeSelfStart):
+        (.alignSelfUnsafeSelfStart):
+        (.alignSelfSafeRight):
+        (.alignSelfUnsafeRight):
+        (.alignSelfSafeLeft):
+        (.alignSelfUnsafeLeft):
+        (.alignSelfSafeFlexEnd):
+        (.alignSelfUnsafeFlexEnd):
+        (.alignSelfSafeFlexStart):
+        (.alignSelfUnsafeFlexStart):
+        (.alignSelfBaseline):
+        (.alignSelfFirstBaseline):
+        (.alignSelfLastBaseline):
+        (.alignItemsAuto):
+        (.alignItemsNormal):
+        (.alignItemsStretch):
+        (.alignItemsStart):
+        (.alignItemsCenter):
+        (.alignItemsEnd):
+        (.alignItemsLeft):
+        (.alignItemsRight):
+        (.alignItemsFlexStart):
+        (.alignItemsFlexEnd):
+        (.alignItemsSelfStart):
+        (.alignItemsSelfEnd):
+        (.alignItemsSafeCenter):
+        (.alignItemsUnsafeCenter):
+        (.alignItemsSafeEnd):
+        (.alignItemsUnsafeEnd):
+        (.alignItemsSafeSelfEnd):
+        (.alignItemsUnsafeSelfEnd):
+        (.alignItemsSafeSelfStart):
+        (.alignItemsUnsafeSelfStart):
+        (.alignItemsSafeRight):
+        (.alignItemsUnsafeRight):
+        (.alignItemsSafeLeft):
+        (.alignItemsUnsafeLeft):
+        (.alignItemsSafeFlexEnd):
+        (.alignItemsUnsafeFlexEnd):
+        (.alignItemsSafeFlexStart):
+        (.alignItemsUnsafeFlexStart):
+        (.alignItemsBaseline):
+        (.alignItemsFirstBaseline):
+        (.alignItemsLastBaseline):
+        (.alignContentBaseline):
+        (.alignContentLastBaseline):
+        (.alignContentStart):
+        (.alignContentEnd):
+        (.alignContentCenter):
+        (.alignContentLeft):
+        (.alignContentRight):
+        (.alignContentFlexStart):
+        (.alignContentFlexEnd):
+        (.alignContentSpaceBetween):
+        (.alignContentSpaceAround):
+        (.alignContentSpaceEvenly):
+        (.alignContentStretch):
+        (.alignContentSafeCenter):
+        (.alignContentUnsafeCenter):
+        (.alignContentSafeEnd):
+        (.alignContentUnsafeEnd):
+        (.alignContentSafeRight):
+        (.alignContentUnsafeRight):
+        (.alignContentSafeLeft):
+        (.alignContentUnsafeLeft):
+        (.alignContentSafeFlexEnd):
+        (.alignContentUnsafeFlexEnd):
+        (.alignContentSafeFlexStart):
+        (.alignContentUnsafeFlexStart):
+        (.alignContentFirstBaseline):
+        (.justifySelfAuto):
+        (.justifySelfNormal):
+        (.justifySelfStretch):
+        (.justifySelfStart):
+        (.justifySelfCenter):
+        (.justifySelfEnd):
+        (.justifySelfRight):
+        (.justifySelfLeft):
+        (.justifySelfFlexStart):
+        (.justifySelfFlexEnd):
+        (.justifySelfSelfStart):
+        (.justifySelfSelfEnd):
+        (.justifySelfSafeCenter):
+        (.justifySelfUnsafeCenter):
+        (.justifySelfSafeEnd):
+        (.justifySelfUnsafeEnd):
+        (.justifySelfSafeSelfEnd):
+        (.justifySelfUnsafeSelfEnd):
+        (.justifySelfSafeSelfStart):
+        (.justifySelfUnsafeSelfStart):
+        (.justifySelfSafeRight):
+        (.justifySelfUnsafeRight):
+        (.justifySelfSafeLeft):
+        (.justifySelfUnsafeLeft):
+        (.justifySelfSafeFlexEnd):
+        (.justifySelfUnsafeFlexEnd):
+        (.justifySelfSafeFlexStart):
+        (.justifySelfUnsafeFlexStart):
+        (.justifySelfBaseline):
+        (.justifySelfFirstBaseline):
+        (.justifySelfLastBaseline):
+        (.justifyItemsAuto):
+        (.justifyItemsNormal):
+        (.justifyItemsStretch):
+        (.justifyItemsStart):
+        (.justifyItemsCenter):
+        (.justifyItemsEnd):
+        (.justifyItemsLeft):
+        (.justifyItemsRight):
+        (.justifyItemsFlexStart):
+        (.justifyItemsFlexEnd):
+        (.justifyItemsSelfStart):
+        (.justifyItemsSelfEnd):
+        (.justifyItemsLegacy):
+        (.justifyItemsLegacyLeft):
+        (.justifyItemsLegacyCenter):
+        (.justifyItemsLegacyRight):
+        (.justifyItemsLeftLegacy):
+        (.justifyItemsCenterLegacy):
+        (.justifyItemsRightLegacy):
+        (.justifyItemsSafeCenter):
+        (.justifyItemsUnsafeCenter):
+        (.justifyItemsSafeEnd):
+        (.justifyItemsUnsafeEnd):
+        (.justifyItemsSafeSelfEnd):
+        (.justifyItemsUnsafeSelfEnd):
+        (.justifyItemsSafeSelfStart):
+        (.justifyItemsUnsafeSelfStart):
+        (.justifyItemsSafeRight):
+        (.justifyItemsUnsafeRight):
+        (.justifyItemsSafeLeft):
+        (.justifyItemsUnsafeLeft):
+        (.justifyItemsSafeFlexEnd):
+        (.justifyItemsUnsafeFlexEnd):
+        (.justifyItemsSafeFlexStart):
+        (.justifyItemsUnsafeFlexStart):
+        (.justifyItemsTest):
+        (.justifyItemsBaseline):
+        (.justifyItemsFirstBaseline):
+        (.justifyItemsLastBaseline):
+        (.justifyContentBaseline):
+        (.justifyContentLastBaseline):
+        (.justifyContentStart):
+        (.justifyContentEnd):
+        (.justifyContentCenter):
+        (.justifyContentLeft):
+        (.justifyContentRight):
+        (.justifyContentFlexStart):
+        (.justifyContentFlexEnd):
+        (.justifyContentSpaceBetween):
+        (.justifyContentSpaceAround):
+        (.justifyContentSpaceEvenly):
+        (.justifyContentStretch):
+        (.justifyContentSafeCenter):
+        (.justifyContentUnsafeCenter):
+        (.justifyContentSafeEnd):
+        (.justifyContentUnsafeEnd):
+        (.justifyContentSafeRight):
+        (.justifyContentUnsafeRight):
+        (.justifyContentSafeLeft):
+        (.justifyContentUnsafeLeft):
+        (.justifyContentSafeFlexEnd):
+        (.justifyContentUnsafeFlexEnd):
+        (.justifyContentSafeFlexStart):
+        (.justifyContentUnsafeFlexStart):
+        (.justifyContentFirstBaseline):
+        (.itemsNormal):
+        (.itemsStretch):
+        (.itemsStart):
+        (.itemsCenter):
+        (.itemsEnd):
+        (.itemsLeft):
+        (.itemsRight):
+        (.itemsSelfStart):
+        (.itemsSelfEnd):
+        (.itemsBaseline):
+        (.selfStretch):
+        (.selfStart):
+        (.selfEnd):
+        (.selfCenter):
+        (.selfRight):
+        (.selfLeft):
+        (.selfSelfStart):
+        (.selfSelfEnd):
+        (.selfBaseline):
+        (.contentStart):
+        (.contentCenter):
+        (.contentEnd):
+        (.contentCenterSafe):
+        (.contentCenterUnsafe):
+        (.contentEndSafe):
+        (.contentEndUnsafe):
+        (.contentSpaceBetween):
+        (.contentSpaceAround):
+        (.contentSpaceEvenly):
+        (.contentStretch):
+        * web-platform-tests/css/support/b-green.css: Added.
+        (.b):
+        * web-platform-tests/css/support/c-red.css: Added.
+        (.c):
+        * web-platform-tests/css/support/cat.png: Added.
+        * web-platform-tests/css/support/green.ico: Added.
+        * web-platform-tests/css/support/import-green.css: Added.
+        (.import):
+        * web-platform-tests/css/support/import-red.css: Added.
+        (.import):
+        * web-platform-tests/css/support/pattern-grg-rgr-grg.png: Added.
+        * web-platform-tests/css/support/pattern-grg-rrg-rgg.png: Added.
+        * web-platform-tests/css/support/pattern-rgr-grg-rgr.png: Added.
+        * web-platform-tests/css/support/pattern-tr.png: Added.
+        * web-platform-tests/css/support/red.ico: Added.
+        * web-platform-tests/css/support/ruler-h-50%.png: Added.
+        * web-platform-tests/css/support/ruler-h-50px.png: Added.
+        * web-platform-tests/css/support/ruler-v-100px.png: Added.
+        * web-platform-tests/css/support/ruler-v-50px.png: Added.
+        * web-platform-tests/css/support/square-purple.png: Added.
+        * web-platform-tests/css/support/square-teal.png: Added.
+        * web-platform-tests/css/support/square-white.png: Added.
+        * web-platform-tests/css/support/support/README: Added.
+        * web-platform-tests/css/support/support/swatch-green.png: Added.
+        * web-platform-tests/css/support/support/swatch-red.png: Added.
+        * web-platform-tests/css/support/support/w3c-import.log: Added.
+        * web-platform-tests/css/support/swatch-blue.png: Added.
+        * web-platform-tests/css/support/swatch-green.png: Added.
+        * web-platform-tests/css/support/swatch-lime.png: Added.
+        * web-platform-tests/css/support/swatch-orange.png: Added.
+        * web-platform-tests/css/support/swatch-red.png: Added.
+        * web-platform-tests/css/support/swatch-teal.png: Added.
+        * web-platform-tests/css/support/swatch-white.png: Added.
+        * web-platform-tests/css/support/swatch-yellow.png: Added.
+        * web-platform-tests/css/support/test-bl.png: Added.
+        * web-platform-tests/css/support/test-br.png: Added.
+        * web-platform-tests/css/support/test-inner-half-size.png: Added.
+        * web-platform-tests/css/support/test-outer.png: Added.
+        * web-platform-tests/css/support/test-tl.png: Added.
+        * web-platform-tests/css/support/test-tr.png: Added.
+        * web-platform-tests/css/support/w3c-import.log: Added.
+
 2018-01-30  Frederic Wang  <fwang@igalia.com>
 
         Use document.scrollingElement to access viewport scroll properties in tests
index 2e4223f..0ae68c9 100644 (file)
@@ -73,6 +73,7 @@
     "web-platform-tests/css/reference": "import", 
     "web-platform-tests/css/resources": "import", 
     "web-platform-tests/css/selectors": "import", 
+    "web-platform-tests/css/support": "import", 
     "web-platform-tests/cssom": "import", 
     "web-platform-tests/cssom-view": "import", 
     "web-platform-tests/cssom/MediaList.xhtml": "skip", 
     "web-platform-tests/workers": "import", 
     "web-platform-tests/worklets": "skip", 
     "web-platform-tests/x-frame-options": "skip"
-}
\ No newline at end of file
+}
index 02ef6ee..6693dc0 100644 (file)
@@ -1,20 +1,20 @@
 
 PASS Checking align-content: normal 
-FAIL Checking align-content: start assert_equals: align-content computed style is not what is should. expected "start" but got "normal"
-FAIL Checking align-content: end assert_equals: align-content computed style is not what is should. expected "end" but got "normal"
-FAIL Checking align-content: center assert_equals: align-content computed style is not what is should. expected "center" but got "normal"
-FAIL Checking align-content: flex-start assert_equals: align-content computed style is not what is should. expected "flex-start" but got "normal"
-FAIL Checking align-content: flex-end assert_equals: align-content computed style is not what is should. expected "flex-end" but got "normal"
-FAIL Checking align-content: stretch assert_equals: align-content computed style is not what is should. expected "stretch" but got "normal"
-FAIL Checking align-content: space-around assert_equals: align-content computed style is not what is should. expected "space-around" but got "normal"
-FAIL Checking align-content: space-between assert_equals: align-content computed style is not what is should. expected "space-between" but got "normal"
-FAIL Checking align-content: space-evenly assert_equals: align-content computed style is not what is should. expected "space-evenly" but got "normal"
-FAIL Checking align-content: baseline assert_equals: align-content computed style is not what is should. expected "first baseline" but got "normal"
-FAIL Checking align-content: first baseline assert_equals: align-content computed style is not what is should. expected "first baseline" but got "normal"
-FAIL Checking align-content: last baseline assert_equals: align-content computed style is not what is should. expected "last baseline" but got "normal"
-FAIL Checking align-content: safe flex-end assert_equals: align-content computed style is not what is should. expected "safe flex-end" but got "normal"
-FAIL Checking align-content: unsafe end assert_equals: align-content computed style is not what is should. expected "unsafe end" but got "normal"
-FAIL Checking align-content: safe end assert_equals: align-content computed style is not what is should. expected "safe end" but got "normal"
-FAIL Checking align-content: unsafe flex-start assert_equals: align-content computed style is not what is should. expected "unsafe flex-start" but got "normal"
-FAIL Checking align-content: safe center assert_equals: align-content computed style is not what is should. expected "safe center" but got "normal"
+PASS Checking align-content: start 
+PASS Checking align-content: end 
+PASS Checking align-content: center 
+PASS Checking align-content: flex-start 
+PASS Checking align-content: flex-end 
+PASS Checking align-content: stretch 
+PASS Checking align-content: space-around 
+PASS Checking align-content: space-between 
+PASS Checking align-content: space-evenly 
+PASS Checking align-content: baseline 
+PASS Checking align-content: first baseline 
+PASS Checking align-content: last baseline 
+PASS Checking align-content: safe flex-end 
+PASS Checking align-content: unsafe end 
+PASS Checking align-content: safe end 
+PASS Checking align-content: unsafe flex-start 
+PASS Checking align-content: safe center 
 
index 15a5cda..c5cd425 100644 (file)
         element.className = "alignContent" + key;
         document.body.appendChild(element);
         test(function() {
-            let computedValue = specifiedValue;
-            if (specifiedValue === "baseline")
-                computedValue = "first baseline";
-            checkValues(element, "alignContent", "align-content", "", computedValue);
+            if (specifiedValue === "first baseline")
+                checkValues(element, "alignContent", "align-content", "", "baseline");
+            else
+                checkValues(element, "alignContent", "align-content", "", specifiedValue);
         }, "Checking align-content: " + specifiedValue);
     }
 </script>
index 196210f..6693dc0 100644 (file)
@@ -9,8 +9,8 @@ PASS Checking align-content: stretch
 PASS Checking align-content: space-around 
 PASS Checking align-content: space-between 
 PASS Checking align-content: space-evenly 
-FAIL Checking align-content: baseline assert_equals: align-content computed style is not what is should. expected "first baseline" but got "baseline"
-FAIL Checking align-content: first baseline assert_equals: align-content computed style is not what is should. expected "first baseline" but got "baseline"
+PASS Checking align-content: baseline 
+PASS Checking align-content: first baseline 
 PASS Checking align-content: last baseline 
 PASS Checking align-content: safe flex-end 
 PASS Checking align-content: unsafe end 
index 4997857..b0da358 100644 (file)
     for (var key in classes) {
         let specifiedValue = classes[key];
         test(function() {
+            element.style.alignContent = "";
             element.style.alignContent = specifiedValue;
-            let computedValue = specifiedValue;
-            if (specifiedValue === "baseline")
-                computedValue = "first baseline";
-            checkValues(element, "alignContent", "align-content",  specifiedValue, computedValue);
+            if (specifiedValue === "first baseline")
+                checkValues(element, "alignContent", "align-content", "baseline", "baseline");
+            else
+                checkValues(element, "alignContent", "align-content",  specifiedValue, specifiedValue);
         }, "Checking align-content: " + specifiedValue);
     }
 </script>
index 566ed19..7432d61 100644 (file)
@@ -1,22 +1,19 @@
 
 PASS Checking justify-content: normal 
-FAIL Checking justify-content: left assert_equals: justify-content computed style is not what is should. expected "left" but got "normal"
-FAIL Checking justify-content: right assert_equals: justify-content computed style is not what is should. expected "right" but got "normal"
-FAIL Checking justify-content: start assert_equals: justify-content computed style is not what is should. expected "start" but got "normal"
-FAIL Checking justify-content: end assert_equals: justify-content computed style is not what is should. expected "end" but got "normal"
-FAIL Checking justify-content: center assert_equals: justify-content computed style is not what is should. expected "center" but got "normal"
-FAIL Checking justify-content: flex-start assert_equals: justify-content computed style is not what is should. expected "flex-start" but got "normal"
-FAIL Checking justify-content: flex-end assert_equals: justify-content computed style is not what is should. expected "flex-end" but got "normal"
-FAIL Checking justify-content: stretch assert_equals: justify-content computed style is not what is should. expected "stretch" but got "normal"
-FAIL Checking justify-content: space-around assert_equals: justify-content computed style is not what is should. expected "space-around" but got "normal"
-FAIL Checking justify-content: space-between assert_equals: justify-content computed style is not what is should. expected "space-between" but got "normal"
-FAIL Checking justify-content: space-evenly assert_equals: justify-content computed style is not what is should. expected "space-evenly" but got "normal"
-FAIL Checking justify-content: baseline assert_equals: justify-content computed style is not what is should. expected "first baseline" but got "normal"
-FAIL Checking justify-content: first baseline assert_equals: justify-content computed style is not what is should. expected "first baseline" but got "normal"
-FAIL Checking justify-content: last baseline assert_equals: justify-content computed style is not what is should. expected "last baseline" but got "normal"
-FAIL Checking justify-content: safe flex-end assert_equals: justify-content computed style is not what is should. expected "safe flex-end" but got "normal"
-FAIL Checking justify-content: unsafe end assert_equals: justify-content computed style is not what is should. expected "unsafe end" but got "normal"
-FAIL Checking justify-content: safe end assert_equals: justify-content computed style is not what is should. expected "safe end" but got "normal"
-FAIL Checking justify-content: unsafe flex-start assert_equals: justify-content computed style is not what is should. expected "unsafe flex-start" but got "normal"
-FAIL Checking justify-content: safe center assert_equals: justify-content computed style is not what is should. expected "safe center" but got "normal"
+PASS Checking justify-content: left 
+PASS Checking justify-content: right 
+PASS Checking justify-content: start 
+PASS Checking justify-content: end 
+PASS Checking justify-content: center 
+PASS Checking justify-content: flex-start 
+PASS Checking justify-content: flex-end 
+PASS Checking justify-content: stretch 
+PASS Checking justify-content: space-around 
+PASS Checking justify-content: space-between 
+PASS Checking justify-content: space-evenly 
+PASS Checking justify-content: safe flex-end 
+PASS Checking justify-content: unsafe end 
+PASS Checking justify-content: safe end 
+PASS Checking justify-content: unsafe flex-start 
+PASS Checking justify-content: safe center 
 
index f88c084..df06ca9 100644 (file)
@@ -16,7 +16,7 @@
 <div id="log"></div>
 <script>
     let classes = Object.assign({"Normal":"normal", "Left":"left", "Right":"right"}, contentPositionClasses,
-                                distributionClasses, baselineClasses, overflowClasses);
+                                distributionClasses, overflowClasses);
 
     for (var key in classes) {
         let specifiedValue = classes[key];
         element.className = "justifyContent" + key;
         document.body.appendChild(element);
         test(function() {
-            let computedValue = specifiedValue;
-            if (specifiedValue === "baseline")
-                computedValue = "first baseline";
-            checkValues(element, "justifyContent", "justify-content", "", computedValue);
+            checkValues(element, "justifyContent", "justify-content", "", specifiedValue);
         }, "Checking justify-content: " + specifiedValue);
     }
 </script>
index bfffe5d..7432d61 100644 (file)
@@ -11,9 +11,6 @@ PASS Checking justify-content: stretch
 PASS Checking justify-content: space-around 
 PASS Checking justify-content: space-between 
 PASS Checking justify-content: space-evenly 
-FAIL Checking justify-content: baseline assert_equals: justify-content computed style is not what is should. expected "first baseline" but got "baseline"
-FAIL Checking justify-content: first baseline assert_equals: justify-content computed style is not what is should. expected "first baseline" but got "baseline"
-PASS Checking justify-content: last baseline 
 PASS Checking justify-content: safe flex-end 
 PASS Checking justify-content: unsafe end 
 PASS Checking justify-content: safe end 
index 03aa693..0dea6e5 100644 (file)
     document.body.appendChild(element);
 
     let classes = Object.assign({"Normal":"normal", "Left":"left", "Right":"right"}, contentPositionClasses,
-                                distributionClasses, baselineClasses, overflowClasses);
+                                distributionClasses, overflowClasses);
 
     for (var key in classes) {
         let specifiedValue = classes[key];
         test(function() {
+            element.style.justifyContent = "";
             element.style.justifyContent = specifiedValue;
-            let computedValue = specifiedValue;
-            if (specifiedValue === "baseline")
-                computedValue = "first baseline";
-            checkValues(element, "justifyContent", "justify-content",  specifiedValue, computedValue);
+            checkValues(element, "justifyContent", "justify-content",  specifiedValue, specifiedValue);
         }, "Checking justify-content: " + specifiedValue);
     }
 </script>
index 78b369b..e226eb1 100644 (file)
@@ -2,6 +2,9 @@
 PASS Checking invalid combination - justify-content: auto 
 PASS Checking invalid combination - justify-content: legacy 
 PASS Checking invalid combination - justify-content: self-start 
+PASS Checking invalid combination - justify-content: baseline 
+PASS Checking invalid combination - justify-content: first baseline 
+PASS Checking invalid combination - justify-content: last baseline 
 PASS Checking invalid combination - justify-content: auto safe 
 PASS Checking invalid combination - justify-content: auto left 
 PASS Checking invalid combination - justify-content: normal unsafe 
index 6ba6f8b..22e78f8 100644 (file)
@@ -13,7 +13,7 @@
     element = document.createElement("div");
     document.body.appendChild(element);
 
-    let values = ["auto", "legacy", "self-start"].concat(invalidPositionValues, invalidDistributionValues);
+    let values = ["auto", "legacy", "self-start", "baseline", "first baseline", "last baseline"].concat(invalidPositionValues, invalidDistributionValues);
 
     values.forEach(function(value) {
         test(function() {
index 8958979..b1da4ba 100644 (file)
@@ -9,7 +9,4 @@ PASS Checking place-content: stretch
 PASS Checking place-content: space-around 
 PASS Checking place-content: space-between 
 PASS Checking place-content: space-evenly 
-PASS Checking place-content: baseline 
-PASS Checking place-content: first baseline 
-PASS Checking place-content: last baseline 
 
index 6254e08..153f6dd 100644 (file)
@@ -5,10 +5,10 @@
 <meta name="assert" content="Check that setting a single value to place-content expands to such value set in both 'align-content' and 'justify-content'." />
 <script src="/resources/testharness.js"></script>
 <script src="/resources/testharnessreport.js"></script>
-<script src="../resources/alignment-parsing-utils.js"></script>
+<script src="/css/css-align/resources/alignment-parsing-utils.js"></script>
 <div id="log"></div>
 <script>
-    let classes = Object.assign({"Normal":"normal"}, contentPositionClasses, distributionClasses, baselineClasses);
+    let classes = Object.assign({"Normal":"normal"}, contentPositionClasses, distributionClasses);
     for (var key in classes) {
         let value = classes[key];
         test(function() {
index 60b4993..9c3ea17 100644 (file)
@@ -1,7 +1,7 @@
 
+PASS Checking place-content: normal normal 
 PASS Checking place-content: normal left 
 PASS Checking place-content: normal right 
-PASS Checking place-content: normal normal 
 PASS Checking place-content: normal start 
 PASS Checking place-content: normal end 
 PASS Checking place-content: normal center 
@@ -11,12 +11,9 @@ PASS Checking place-content: normal stretch
 PASS Checking place-content: normal space-around 
 PASS Checking place-content: normal space-between 
 PASS Checking place-content: normal space-evenly 
-PASS Checking place-content: normal baseline 
-PASS Checking place-content: normal first baseline 
-PASS Checking place-content: normal last baseline 
+PASS Checking place-content: start normal 
 PASS Checking place-content: start left 
 PASS Checking place-content: start right 
-PASS Checking place-content: start normal 
 PASS Checking place-content: start start 
 PASS Checking place-content: start end 
 PASS Checking place-content: start center 
@@ -26,12 +23,9 @@ PASS Checking place-content: start stretch
 PASS Checking place-content: start space-around 
 PASS Checking place-content: start space-between 
 PASS Checking place-content: start space-evenly 
-PASS Checking place-content: start baseline 
-PASS Checking place-content: start first baseline 
-PASS Checking place-content: start last baseline 
+PASS Checking place-content: end normal 
 PASS Checking place-content: end left 
 PASS Checking place-content: end right 
-PASS Checking place-content: end normal 
 PASS Checking place-content: end start 
 PASS Checking place-content: end end 
 PASS Checking place-content: end center 
@@ -41,12 +35,9 @@ PASS Checking place-content: end stretch
 PASS Checking place-content: end space-around 
 PASS Checking place-content: end space-between 
 PASS Checking place-content: end space-evenly 
-PASS Checking place-content: end baseline 
-PASS Checking place-content: end first baseline 
-PASS Checking place-content: end last baseline 
+PASS Checking place-content: center normal 
 PASS Checking place-content: center left 
 PASS Checking place-content: center right 
-PASS Checking place-content: center normal 
 PASS Checking place-content: center start 
 PASS Checking place-content: center end 
 PASS Checking place-content: center center 
@@ -56,12 +47,9 @@ PASS Checking place-content: center stretch
 PASS Checking place-content: center space-around 
 PASS Checking place-content: center space-between 
 PASS Checking place-content: center space-evenly 
-PASS Checking place-content: center baseline 
-PASS Checking place-content: center first baseline 
-PASS Checking place-content: center last baseline 
+PASS Checking place-content: flex-start normal 
 PASS Checking place-content: flex-start left 
 PASS Checking place-content: flex-start right 
-PASS Checking place-content: flex-start normal 
 PASS Checking place-content: flex-start start 
 PASS Checking place-content: flex-start end 
 PASS Checking place-content: flex-start center 
@@ -71,12 +59,9 @@ PASS Checking place-content: flex-start stretch
 PASS Checking place-content: flex-start space-around 
 PASS Checking place-content: flex-start space-between 
 PASS Checking place-content: flex-start space-evenly 
-PASS Checking place-content: flex-start baseline 
-PASS Checking place-content: flex-start first baseline 
-PASS Checking place-content: flex-start last baseline 
+PASS Checking place-content: flex-end normal 
 PASS Checking place-content: flex-end left 
 PASS Checking place-content: flex-end right 
-PASS Checking place-content: flex-end normal 
 PASS Checking place-content: flex-end start 
 PASS Checking place-content: flex-end end 
 PASS Checking place-content: flex-end center 
@@ -86,12 +71,9 @@ PASS Checking place-content: flex-end stretch
 PASS Checking place-content: flex-end space-around 
 PASS Checking place-content: flex-end space-between 
 PASS Checking place-content: flex-end space-evenly 
-PASS Checking place-content: flex-end baseline 
-PASS Checking place-content: flex-end first baseline 
-PASS Checking place-content: flex-end last baseline 
+PASS Checking place-content: stretch normal 
 PASS Checking place-content: stretch left 
 PASS Checking place-content: stretch right 
-PASS Checking place-content: stretch normal 
 PASS Checking place-content: stretch start 
 PASS Checking place-content: stretch end 
 PASS Checking place-content: stretch center 
@@ -101,12 +83,9 @@ PASS Checking place-content: stretch stretch
 PASS Checking place-content: stretch space-around 
 PASS Checking place-content: stretch space-between 
 PASS Checking place-content: stretch space-evenly 
-PASS Checking place-content: stretch baseline 
-PASS Checking place-content: stretch first baseline 
-PASS Checking place-content: stretch last baseline 
+PASS Checking place-content: space-around normal 
 PASS Checking place-content: space-around left 
 PASS Checking place-content: space-around right 
-PASS Checking place-content: space-around normal 
 PASS Checking place-content: space-around start 
 PASS Checking place-content: space-around end 
 PASS Checking place-content: space-around center 
@@ -116,12 +95,9 @@ PASS Checking place-content: space-around stretch
 PASS Checking place-content: space-around space-around 
 PASS Checking place-content: space-around space-between 
 PASS Checking place-content: space-around space-evenly 
-PASS Checking place-content: space-around baseline 
-PASS Checking place-content: space-around first baseline 
-PASS Checking place-content: space-around last baseline 
+PASS Checking place-content: space-between normal 
 PASS Checking place-content: space-between left 
 PASS Checking place-content: space-between right 
-PASS Checking place-content: space-between normal 
 PASS Checking place-content: space-between start 
 PASS Checking place-content: space-between end 
 PASS Checking place-content: space-between center 
@@ -131,12 +107,9 @@ PASS Checking place-content: space-between stretch
 PASS Checking place-content: space-between space-around 
 PASS Checking place-content: space-between space-between 
 PASS Checking place-content: space-between space-evenly 
-PASS Checking place-content: space-between baseline 
-PASS Checking place-content: space-between first baseline 
-PASS Checking place-content: space-between last baseline 
+PASS Checking place-content: space-evenly normal 
 PASS Checking place-content: space-evenly left 
 PASS Checking place-content: space-evenly right 
-PASS Checking place-content: space-evenly normal 
 PASS Checking place-content: space-evenly start 
 PASS Checking place-content: space-evenly end 
 PASS Checking place-content: space-evenly center 
@@ -146,12 +119,9 @@ PASS Checking place-content: space-evenly stretch
 PASS Checking place-content: space-evenly space-around 
 PASS Checking place-content: space-evenly space-between 
 PASS Checking place-content: space-evenly space-evenly 
-PASS Checking place-content: space-evenly baseline 
-PASS Checking place-content: space-evenly first baseline 
-PASS Checking place-content: space-evenly last baseline 
+PASS Checking place-content: baseline normal 
 PASS Checking place-content: baseline left 
 PASS Checking place-content: baseline right 
-PASS Checking place-content: baseline normal 
 PASS Checking place-content: baseline start 
 PASS Checking place-content: baseline end 
 PASS Checking place-content: baseline center 
@@ -161,12 +131,9 @@ PASS Checking place-content: baseline stretch
 PASS Checking place-content: baseline space-around 
 PASS Checking place-content: baseline space-between 
 PASS Checking place-content: baseline space-evenly 
-PASS Checking place-content: baseline baseline 
-PASS Checking place-content: baseline first baseline 
-PASS Checking place-content: baseline last baseline 
+PASS Checking place-content: first baseline normal 
 PASS Checking place-content: first baseline left 
 PASS Checking place-content: first baseline right 
-PASS Checking place-content: first baseline normal 
 PASS Checking place-content: first baseline start 
 PASS Checking place-content: first baseline end 
 PASS Checking place-content: first baseline center 
@@ -176,12 +143,9 @@ PASS Checking place-content: first baseline stretch
 PASS Checking place-content: first baseline space-around 
 PASS Checking place-content: first baseline space-between 
 PASS Checking place-content: first baseline space-evenly 
-PASS Checking place-content: first baseline baseline 
-PASS Checking place-content: first baseline first baseline 
-PASS Checking place-content: first baseline last baseline 
+PASS Checking place-content: last baseline normal 
 PASS Checking place-content: last baseline left 
 PASS Checking place-content: last baseline right 
-PASS Checking place-content: last baseline normal 
 PASS Checking place-content: last baseline start 
 PASS Checking place-content: last baseline end 
 PASS Checking place-content: last baseline center 
@@ -191,7 +155,4 @@ PASS Checking place-content: last baseline stretch
 PASS Checking place-content: last baseline space-around 
 PASS Checking place-content: last baseline space-between 
 PASS Checking place-content: last baseline space-evenly 
-PASS Checking place-content: last baseline baseline 
-PASS Checking place-content: last baseline first baseline 
-PASS Checking place-content: last baseline last baseline 
 
index 9892870..e8a7b33 100644 (file)
@@ -5,13 +5,13 @@
 <meta name="assert" content="Check that setting two values to place-content sets the first one to 'align-content' and the second one to 'justify-content'." />
 <script src="/resources/testharness.js"></script>
 <script src="/resources/testharnessreport.js"></script>
-<script src="../resources/alignment-parsing-utils.js"></script>
+<script src="/css/css-align/resources/alignment-parsing-utils.js"></script>
 <div id="log"></div>
 <script>
     let classes = Object.assign({"Normal":"normal"}, contentPositionClasses, distributionClasses, baselineClasses);
     for (var key1 in classes) {
         let alignValue = classes[key1];
-        let classes2 = Object.assign({"Left":"left", "Right":"right"}, classes);
+        let classes2 = Object.assign({"Normal":"normal", "Left":"left", "Right":"right"}, contentPositionClasses, distributionClasses);
         for (var key2 in classes2) {
             let justifyValue = classes2[key2];
             test(function() {
index 4abdefd..5075be1 100644 (file)
@@ -2,6 +2,7 @@
 PASS Verify overflow keywords are invalid 
 PASS Verify fallback values are invalid 
 PASS Verify 'left' and 'right' values are invalid for block/cross axis alignment 
+PASS Verify <baseline-position> values are invalid for the justify-content property 
 PASS Verify numeric values are invalid 
 PASS Verify 'auto' values are invalid 
 PASS Verify empty declaration is invalid 
index 8391a95..30f45b6 100644 (file)
@@ -5,7 +5,7 @@
 <meta name="assert" content="Check that place-content's invalid values are properly detected at parsing time." />
 <script src="/resources/testharness.js"></script>
 <script src="/resources/testharnessreport.js"></script>
-<script src="../resources/alignment-parsing-utils.js"></script>
+<script src="/css/css-align/resources/alignment-parsing-utils.js"></script>
 <div id="log"></div>
 <script>
     function checkInvalidValues(value)
     }, "Verify 'left' and 'right' values are invalid for block/cross axis alignment");
 
     test(function() {
+        checkInvalidValues("baseline")
+        checkInvalidValues("first baseline")
+        checkInvalidValues("start baseline")
+        checkInvalidValues("end last baseline")
+    }, "Verify <baseline-position> values are invalid for the justify-content property");
+
+    test(function() {
         checkInvalidValues("10px end")
         checkInvalidValues("start 10%")
     }, "Verify numeric values are invalid");
index 60b4993..9c3ea17 100644 (file)
@@ -1,7 +1,7 @@
 
+PASS Checking place-content: normal normal 
 PASS Checking place-content: normal left 
 PASS Checking place-content: normal right 
-PASS Checking place-content: normal normal 
 PASS Checking place-content: normal start 
 PASS Checking place-content: normal end 
 PASS Checking place-content: normal center 
@@ -11,12 +11,9 @@ PASS Checking place-content: normal stretch
 PASS Checking place-content: normal space-around 
 PASS Checking place-content: normal space-between 
 PASS Checking place-content: normal space-evenly 
-PASS Checking place-content: normal baseline 
-PASS Checking place-content: normal first baseline 
-PASS Checking place-content: normal last baseline 
+PASS Checking place-content: start normal 
 PASS Checking place-content: start left 
 PASS Checking place-content: start right 
-PASS Checking place-content: start normal 
 PASS Checking place-content: start start 
 PASS Checking place-content: start end 
 PASS Checking place-content: start center 
@@ -26,12 +23,9 @@ PASS Checking place-content: start stretch
 PASS Checking place-content: start space-around 
 PASS Checking place-content: start space-between 
 PASS Checking place-content: start space-evenly 
-PASS Checking place-content: start baseline 
-PASS Checking place-content: start first baseline 
-PASS Checking place-content: start last baseline 
+PASS Checking place-content: end normal 
 PASS Checking place-content: end left 
 PASS Checking place-content: end right 
-PASS Checking place-content: end normal 
 PASS Checking place-content: end start 
 PASS Checking place-content: end end 
 PASS Checking place-content: end center 
@@ -41,12 +35,9 @@ PASS Checking place-content: end stretch
 PASS Checking place-content: end space-around 
 PASS Checking place-content: end space-between 
 PASS Checking place-content: end space-evenly 
-PASS Checking place-content: end baseline 
-PASS Checking place-content: end first baseline 
-PASS Checking place-content: end last baseline 
+PASS Checking place-content: center normal 
 PASS Checking place-content: center left 
 PASS Checking place-content: center right 
-PASS Checking place-content: center normal 
 PASS Checking place-content: center start 
 PASS Checking place-content: center end 
 PASS Checking place-content: center center 
@@ -56,12 +47,9 @@ PASS Checking place-content: center stretch
 PASS Checking place-content: center space-around 
 PASS Checking place-content: center space-between 
 PASS Checking place-content: center space-evenly 
-PASS Checking place-content: center baseline 
-PASS Checking place-content: center first baseline 
-PASS Checking place-content: center last baseline 
+PASS Checking place-content: flex-start normal 
 PASS Checking place-content: flex-start left 
 PASS Checking place-content: flex-start right 
-PASS Checking place-content: flex-start normal 
 PASS Checking place-content: flex-start start 
 PASS Checking place-content: flex-start end 
 PASS Checking place-content: flex-start center 
@@ -71,12 +59,9 @@ PASS Checking place-content: flex-start stretch
 PASS Checking place-content: flex-start space-around 
 PASS Checking place-content: flex-start space-between 
 PASS Checking place-content: flex-start space-evenly 
-PASS Checking place-content: flex-start baseline 
-PASS Checking place-content: flex-start first baseline 
-PASS Checking place-content: flex-start last baseline 
+PASS Checking place-content: flex-end normal 
 PASS Checking place-content: flex-end left 
 PASS Checking place-content: flex-end right 
-PASS Checking place-content: flex-end normal 
 PASS Checking place-content: flex-end start 
 PASS Checking place-content: flex-end end 
 PASS Checking place-content: flex-end center 
@@ -86,12 +71,9 @@ PASS Checking place-content: flex-end stretch
 PASS Checking place-content: flex-end space-around 
 PASS Checking place-content: flex-end space-between 
 PASS Checking place-content: flex-end space-evenly 
-PASS Checking place-content: flex-end baseline 
-PASS Checking place-content: flex-end first baseline 
-PASS Checking place-content: flex-end last baseline 
+PASS Checking place-content: stretch normal 
 PASS Checking place-content: stretch left 
 PASS Checking place-content: stretch right 
-PASS Checking place-content: stretch normal 
 PASS Checking place-content: stretch start 
 PASS Checking place-content: stretch end 
 PASS Checking place-content: stretch center 
@@ -101,12 +83,9 @@ PASS Checking place-content: stretch stretch
 PASS Checking place-content: stretch space-around 
 PASS Checking place-content: stretch space-between 
 PASS Checking place-content: stretch space-evenly 
-PASS Checking place-content: stretch baseline 
-PASS Checking place-content: stretch first baseline 
-PASS Checking place-content: stretch last baseline 
+PASS Checking place-content: space-around normal 
 PASS Checking place-content: space-around left 
 PASS Checking place-content: space-around right 
-PASS Checking place-content: space-around normal 
 PASS Checking place-content: space-around start 
 PASS Checking place-content: space-around end 
 PASS Checking place-content: space-around center 
@@ -116,12 +95,9 @@ PASS Checking place-content: space-around stretch
 PASS Checking place-content: space-around space-around 
 PASS Checking place-content: space-around space-between 
 PASS Checking place-content: space-around space-evenly 
-PASS Checking place-content: space-around baseline 
-PASS Checking place-content: space-around first baseline 
-PASS Checking place-content: space-around last baseline 
+PASS Checking place-content: space-between normal 
 PASS Checking place-content: space-between left 
 PASS Checking place-content: space-between right 
-PASS Checking place-content: space-between normal 
 PASS Checking place-content: space-between start 
 PASS Checking place-content: space-between end 
 PASS Checking place-content: space-between center 
@@ -131,12 +107,9 @@ PASS Checking place-content: space-between stretch
 PASS Checking place-content: space-between space-around 
 PASS Checking place-content: space-between space-between 
 PASS Checking place-content: space-between space-evenly 
-PASS Checking place-content: space-between baseline 
-PASS Checking place-content: space-between first baseline 
-PASS Checking place-content: space-between last baseline 
+PASS Checking place-content: space-evenly normal 
 PASS Checking place-content: space-evenly left 
 PASS Checking place-content: space-evenly right 
-PASS Checking place-content: space-evenly normal 
 PASS Checking place-content: space-evenly start 
 PASS Checking place-content: space-evenly end 
 PASS Checking place-content: space-evenly center 
@@ -146,12 +119,9 @@ PASS Checking place-content: space-evenly stretch
 PASS Checking place-content: space-evenly space-around 
 PASS Checking place-content: space-evenly space-between 
 PASS Checking place-content: space-evenly space-evenly 
-PASS Checking place-content: space-evenly baseline 
-PASS Checking place-content: space-evenly first baseline 
-PASS Checking place-content: space-evenly last baseline 
+PASS Checking place-content: baseline normal 
 PASS Checking place-content: baseline left 
 PASS Checking place-content: baseline right 
-PASS Checking place-content: baseline normal 
 PASS Checking place-content: baseline start 
 PASS Checking place-content: baseline end 
 PASS Checking place-content: baseline center 
@@ -161,12 +131,9 @@ PASS Checking place-content: baseline stretch
 PASS Checking place-content: baseline space-around 
 PASS Checking place-content: baseline space-between 
 PASS Checking place-content: baseline space-evenly 
-PASS Checking place-content: baseline baseline 
-PASS Checking place-content: baseline first baseline 
-PASS Checking place-content: baseline last baseline 
+PASS Checking place-content: first baseline normal 
 PASS Checking place-content: first baseline left 
 PASS Checking place-content: first baseline right 
-PASS Checking place-content: first baseline normal 
 PASS Checking place-content: first baseline start 
 PASS Checking place-content: first baseline end 
 PASS Checking place-content: first baseline center 
@@ -176,12 +143,9 @@ PASS Checking place-content: first baseline stretch
 PASS Checking place-content: first baseline space-around 
 PASS Checking place-content: first baseline space-between 
 PASS Checking place-content: first baseline space-evenly 
-PASS Checking place-content: first baseline baseline 
-PASS Checking place-content: first baseline first baseline 
-PASS Checking place-content: first baseline last baseline 
+PASS Checking place-content: last baseline normal 
 PASS Checking place-content: last baseline left 
 PASS Checking place-content: last baseline right 
-PASS Checking place-content: last baseline normal 
 PASS Checking place-content: last baseline start 
 PASS Checking place-content: last baseline end 
 PASS Checking place-content: last baseline center 
@@ -191,7 +155,4 @@ PASS Checking place-content: last baseline stretch
 PASS Checking place-content: last baseline space-around 
 PASS Checking place-content: last baseline space-between 
 PASS Checking place-content: last baseline space-evenly 
-PASS Checking place-content: last baseline baseline 
-PASS Checking place-content: last baseline first baseline 
-PASS Checking place-content: last baseline last baseline 
 
index f9aa17c..2a5056d 100644 (file)
@@ -5,19 +5,19 @@
 <meta name="assert" content="Check the place-content's 'specified' and 'resolved' values serialization." />
 <script src="/resources/testharness.js"></script>
 <script src="/resources/testharnessreport.js"></script>
-<script src="../resources/alignment-parsing-utils.js"></script>
+<script src="/css/css-align/resources/alignment-parsing-utils.js"></script>
 <div id="log"></div>
 <div id="test"></div>
 <script>
     let classes = Object.assign({"Normal":"normal"}, contentPositionClasses, distributionClasses, baselineClasses);
     for (var key1 in classes) {
         let alignValue = classes[key1];
-        let classes2 = Object.assign({"Left":"left", "Right":"right"}, classes);
+        let classes2 = Object.assign({"Normal":"normal", "Left":"left", "Right":"right"}, contentPositionClasses, distributionClasses);
         for (var key2 in classes2) {
             let justifyValue = classes2[key2];
             var value = (alignValue + " " + justifyValue).trim();
             test(function() {
-                checkPlaceShorhand("place-content", alignValue, justifyValue)
+                checkPlaceShorhand("place-content", value, alignValue, justifyValue)
             }, "Checking place-content: " + value);
         }
     }
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/content-distribution/place-content-shorthand-007-expected.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-align/content-distribution/place-content-shorthand-007-expected.html
new file mode 100644 (file)
index 0000000..67727f4
--- /dev/null
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Test Reference</title>
+<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
+<style>
+div {
+  width: 400px;
+  height: 400px;
+  background: blue;
+  position: relative;
+}
+span {
+  background: green;
+  width: 200px;
+  height: 200px;
+  position: absolute;
+  bottom: 0;
+  left: 100px;
+}
+</style>
+Should see a green square centered and at the bottom of the blue square.
+<div><span></span></div>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/content-distribution/place-content-shorthand-007.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-align/content-distribution/place-content-shorthand-007.html
new file mode 100644 (file)
index 0000000..be954c9
--- /dev/null
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Box Alignment: place-content shorthand with fallback</title>
+<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
+<link rel="help" href="https://drafts.csswg.org/css-align/#propdef-place-content">
+<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1430622">
+<link rel="match" href="place-content-shorthand-007-ref.html">
+<style>
+div {
+  display: grid;
+  grid: 200px / 200px;
+  width: 400px;
+  height: 400px;
+  background: blue;
+  place-content: end space-evenly;
+}
+span {
+  background: green;
+}
+</style>
+Should see a green square centered and at the bottom of the blue square.
+<div><span></span></div>
index 711e44f..6853ca7 100644 (file)
@@ -30,3 +30,5 @@ List of files:
 /LayoutTests/imported/w3c/web-platform-tests/css/css-align/content-distribution/place-content-shorthand-004.html
 /LayoutTests/imported/w3c/web-platform-tests/css/css-align/content-distribution/place-content-shorthand-005.html
 /LayoutTests/imported/w3c/web-platform-tests/css/css-align/content-distribution/place-content-shorthand-006.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-align/content-distribution/place-content-shorthand-007-expected.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-align/content-distribution/place-content-shorthand-007.html
index 55bd140..aa5be57 100644 (file)
@@ -1,19 +1,19 @@
 
 PASS Checking align-items: normal 
-FAIL Checking align-items: stretch assert_equals: align-items computed style is not what is should. expected "stretch" but got "normal"
-FAIL Checking align-items: start assert_equals: align-items computed style is not what is should. expected "start" but got "normal"
-FAIL Checking align-items: end assert_equals: align-items computed style is not what is should. expected "end" but got "normal"
-FAIL Checking align-items: self-start assert_equals: align-items computed style is not what is should. expected "self-start" but got "normal"
-FAIL Checking align-items: self-end assert_equals: align-items computed style is not what is should. expected "self-end" but got "normal"
-FAIL Checking align-items: center assert_equals: align-items computed style is not what is should. expected "center" but got "normal"
-FAIL Checking align-items: flex-start assert_equals: align-items computed style is not what is should. expected "flex-start" but got "normal"
-FAIL Checking align-items: flex-end assert_equals: align-items computed style is not what is should. expected "flex-end" but got "normal"
-FAIL Checking align-items: baseline assert_equals: align-items computed style is not what is should. expected "first baseline" but got "normal"
-FAIL Checking align-items: first baseline assert_equals: align-items computed style is not what is should. expected "first baseline" but got "normal"
-FAIL Checking align-items: last baseline assert_equals: align-items computed style is not what is should. expected "last baseline" but got "normal"
-FAIL Checking align-items: safe flex-end assert_equals: align-items computed style is not what is should. expected "safe flex-end" but got "normal"
-FAIL Checking align-items: unsafe end assert_equals: align-items computed style is not what is should. expected "unsafe end" but got "normal"
-FAIL Checking align-items: safe end assert_equals: align-items computed style is not what is should. expected "safe end" but got "normal"
-FAIL Checking align-items: unsafe flex-start assert_equals: align-items computed style is not what is should. expected "unsafe flex-start" but got "normal"
-FAIL Checking align-items: safe center assert_equals: align-items computed style is not what is should. expected "safe center" but got "normal"
+PASS Checking align-items: stretch 
+PASS Checking align-items: start 
+PASS Checking align-items: end 
+PASS Checking align-items: self-start 
+PASS Checking align-items: self-end 
+PASS Checking align-items: center 
+PASS Checking align-items: flex-start 
+PASS Checking align-items: flex-end 
+PASS Checking align-items: baseline 
+PASS Checking align-items: first baseline 
+PASS Checking align-items: last baseline 
+PASS Checking align-items: safe flex-end 
+PASS Checking align-items: unsafe end 
+PASS Checking align-items: safe end 
+PASS Checking align-items: unsafe flex-start 
+PASS Checking align-items: safe center 
 
index 7905501..4a7d1b8 100644 (file)
         element.className = "alignItems" + key;
         document.body.appendChild(element);
         test(function() {
-            let computedValue = specifiedValue;
-            if (specifiedValue === "baseline")
-                computedValue = "first baseline";
-            checkValues(element, "alignItems", "align-items", "", computedValue);
+            if (specifiedValue === "first baseline")
+                checkValues(element, "alignItems", "align-items", "", "baseline");
+            else
+                checkValues(element, "alignItems", "align-items", "", specifiedValue);
         }, "Checking align-items: " + specifiedValue);
     }
 </script>
index e1b0491..aa5be57 100644 (file)
@@ -8,8 +8,8 @@ PASS Checking align-items: self-end
 PASS Checking align-items: center 
 PASS Checking align-items: flex-start 
 PASS Checking align-items: flex-end 
-FAIL Checking align-items: baseline assert_equals: align-items computed style is not what is should. expected "first baseline" but got "baseline"
-FAIL Checking align-items: first baseline assert_equals: align-items computed style is not what is should. expected "first baseline" but got "baseline"
+PASS Checking align-items: baseline 
+PASS Checking align-items: first baseline 
 PASS Checking align-items: last baseline 
 PASS Checking align-items: safe flex-end 
 PASS Checking align-items: unsafe end 
index 03c4951..aa6b295 100644 (file)
     for (var key in classes) {
         let specifiedValue = classes[key];
         test(function() {
+            element.style.alignItems = "";
             element.style.alignItems = specifiedValue;
-            let computedValue = specifiedValue;
-            if (specifiedValue === "baseline")
-                computedValue = "first baseline";
-            checkValues(element, "alignItems", "align-items",  specifiedValue, computedValue);
+            if (specifiedValue === "first baseline")
+                checkValues(element, "alignItems", "align-items", "baseline", "baseline");
+            else
+                checkValues(element, "alignItems", "align-items",  specifiedValue, specifiedValue);
         }, "Checking align-items: " + specifiedValue);
     }
 </script>
index f476066..dc783a5 100644 (file)
@@ -1,21 +1,21 @@
 
 PASS Checking justify-items: normal 
-FAIL Checking justify-items: stretch assert_equals: justify-items computed style is not what is should. expected "stretch" but got "normal"
-FAIL Checking justify-items: left assert_equals: justify-items computed style is not what is should. expected "left" but got "normal"
-FAIL Checking justify-items: right assert_equals: justify-items computed style is not what is should. expected "right" but got "normal"
-FAIL Checking justify-items: start assert_equals: justify-items computed style is not what is should. expected "start" but got "normal"
-FAIL Checking justify-items: end assert_equals: justify-items computed style is not what is should. expected "end" but got "normal"
-FAIL Checking justify-items: self-start assert_equals: justify-items computed style is not what is should. expected "self-start" but got "normal"
-FAIL Checking justify-items: self-end assert_equals: justify-items computed style is not what is should. expected "self-end" but got "normal"
-FAIL Checking justify-items: center assert_equals: justify-items computed style is not what is should. expected "center" but got "normal"
-FAIL Checking justify-items: flex-start assert_equals: justify-items computed style is not what is should. expected "flex-start" but got "normal"
-FAIL Checking justify-items: flex-end assert_equals: justify-items computed style is not what is should. expected "flex-end" but got "normal"
-FAIL Checking justify-items: baseline assert_equals: justify-items computed style is not what is should. expected "first baseline" but got "normal"
-FAIL Checking justify-items: first baseline assert_equals: justify-items computed style is not what is should. expected "first baseline" but got "normal"
-FAIL Checking justify-items: last baseline assert_equals: justify-items computed style is not what is should. expected "last baseline" but got "normal"
-FAIL Checking justify-items: safe flex-end assert_equals: justify-items computed style is not what is should. expected "safe flex-end" but got "normal"
-FAIL Checking justify-items: unsafe end assert_equals: justify-items computed style is not what is should. expected "unsafe end" but got "normal"
-FAIL Checking justify-items: safe end assert_equals: justify-items computed style is not what is should. expected "safe end" but got "normal"
-FAIL Checking justify-items: unsafe flex-start assert_equals: justify-items computed style is not what is should. expected "unsafe flex-start" but got "normal"
-FAIL Checking justify-items: safe center assert_equals: justify-items computed style is not what is should. expected "safe center" but got "normal"
+PASS Checking justify-items: stretch 
+PASS Checking justify-items: left 
+PASS Checking justify-items: right 
+PASS Checking justify-items: start 
+PASS Checking justify-items: end 
+PASS Checking justify-items: self-start 
+PASS Checking justify-items: self-end 
+PASS Checking justify-items: center 
+PASS Checking justify-items: flex-start 
+PASS Checking justify-items: flex-end 
+PASS Checking justify-items: baseline 
+PASS Checking justify-items: first baseline 
+PASS Checking justify-items: last baseline 
+PASS Checking justify-items: safe flex-end 
+PASS Checking justify-items: unsafe end 
+PASS Checking justify-items: safe end 
+PASS Checking justify-items: unsafe flex-start 
+PASS Checking justify-items: safe center 
 
index e2ad078..aa4b147 100644 (file)
         element.className = "justifyItems" + key;
         document.body.appendChild(element);
         test(function() {
-            let computedValue = specifiedValue;
-            if (specifiedValue === "baseline")
-                computedValue = "first baseline";
-            checkValues(element, "justifyItems", "justify-items", "", computedValue);
+            if (specifiedValue === "first baseline")
+                checkValues(element, "justifyItems", "justify-items", "", "baseline");
+            else
+                checkValues(element, "justifyItems", "justify-items", "", specifiedValue);
         }, "Checking justify-items: " + specifiedValue);
     }
 </script>
index edeaa5e..dc783a5 100644 (file)
@@ -10,8 +10,8 @@ PASS Checking justify-items: self-end
 PASS Checking justify-items: center 
 PASS Checking justify-items: flex-start 
 PASS Checking justify-items: flex-end 
-FAIL Checking justify-items: baseline assert_equals: justify-items computed style is not what is should. expected "first baseline" but got "baseline"
-FAIL Checking justify-items: first baseline assert_equals: justify-items computed style is not what is should. expected "first baseline" but got "baseline"
+PASS Checking justify-items: baseline 
+PASS Checking justify-items: first baseline 
 PASS Checking justify-items: last baseline 
 PASS Checking justify-items: safe flex-end 
 PASS Checking justify-items: unsafe end 
index fb8a067..9ab5ee3 100644 (file)
     for (var key in classes) {
         let specifiedValue = classes[key];
         test(function() {
+            element.style.justifyItems = "";
             element.style.justifyItems = specifiedValue;
-            let computedValue = specifiedValue;
-            if (specifiedValue === "baseline")
-                computedValue = "first baseline";
-            checkValues(element, "justifyItems", "justify-items",  specifiedValue, computedValue);
+            if (specifiedValue === "first baseline")
+                checkValues(element, "justifyItems", "justify-items", "baseline", "baseline");
+            else
+                checkValues(element, "justifyItems", "justify-items",  specifiedValue, specifiedValue);
         }, "Checking justify-items: " + specifiedValue);
     }
 </script>
index 928149a..c67ca9c 100644 (file)
@@ -5,7 +5,7 @@
 <meta name="assert" content="Check that setting a single value to place-items expands to such value set in both 'align-items' and 'justify-items'." />
 <script src="/resources/testharness.js"></script>
 <script src="/resources/testharnessreport.js"></script>
-<script src="../resources/alignment-parsing-utils.js"></script>
+<script src="/css/css-align/resources/alignment-parsing-utils.js"></script>
 <div id="log"></div>
 <script>
     let classes = Object.assign({"Normal":"normal", "Stretch":"stretch"}, selfPositionClasses, baselineClasses);
index 822c8cf..61dab31 100644 (file)
@@ -5,7 +5,7 @@
 <meta name="assert" content="Check that setting two values to place-items sets the first one to 'align-items' and the second one to 'justify-items'." />
 <script src="/resources/testharness.js"></script>
 <script src="/resources/testharnessreport.js"></script>
-<script src="../resources/alignment-parsing-utils.js"></script>
+<script src="/css/css-align/resources/alignment-parsing-utils.js"></script>
 <div id="log"></div>
 <script>
     let classes = Object.assign({"Normal":"normal", "Stretch":"stretch"}, selfPositionClasses, baselineClasses);
index 57b6ac5..c5d9472 100644 (file)
@@ -5,7 +5,7 @@
 <meta name="assert" content="Check that place-items's invalid values are properly detected at parsing time." />
 <script src="/resources/testharness.js"></script>
 <script src="/resources/testharnessreport.js"></script>
-<script src="../resources/alignment-parsing-utils.js"></script>
+<script src="/css/css-align/resources/alignment-parsing-utils.js"></script>
 <div id="log"></div>
 <script>
     function checkInvalidValues(value)
index fcaa89f..4c55b10 100644 (file)
@@ -5,7 +5,7 @@
 <meta name="assert" content="Check the place-items's 'specified' and 'resolved' values serialization." />
 <script src="/resources/testharness.js"></script>
 <script src="/resources/testharnessreport.js"></script>
-<script src="../resources/alignment-parsing-utils.js"></script>
+<script src="/css/css-align/resources/alignment-parsing-utils.js"></script>
 <div id="log"></div>
 <script>
     let classes = Object.assign({"Normal":"normal", "Stretch":"stretch"}, selfPositionClasses, baselineClasses);
@@ -16,7 +16,7 @@
             let justifyValue = classes2[key2];
             var value = (alignValue + " " + justifyValue).trim();
             test(function() {
-                checkPlaceShorhand("place-items", alignValue, justifyValue)
+                checkPlaceShorhand("place-items", value, alignValue, justifyValue)
             }, "Checking place-items: " + value);
         }
     }
index 7effae9..0cbb820 100644 (file)
@@ -17,26 +17,27 @@ var invalidDistributionValues = ["space-between left", "space-around center", "s
                                  "space-between safe", "space-between stretch", "stretch start",
                                  "stretch baseline", "first baseline space-around"];
 
-function checkPlaceShorhand(shorthand, alignValue, justifyValue)
+function checkPlaceShorhand(shorthand, shorthandValue, alignValue, justifyValue)
 {
     var div = document.createElement("div");
-    var specifiedValue = (alignValue + " " + justifyValue).trim();
-    div.style[shorthand] = specifiedValue;
+    div.style[shorthand] = shorthandValue;
     document.body.appendChild(div);
 
-    if (alignValue === justifyValue)
-        specifiedValue = alignValue;
-
-    var resolvedValue = getComputedStyle(div).getPropertyValue(shorthand);
     if (alignValue === "first baseline")
         alignValue = "baseline";
     if (justifyValue === "first baseline")
         justifyValue = "baseline";
     if (justifyValue === "")
         justifyValue = alignValue;
-    var expectedResolvedValue = (alignValue + " " + justifyValue).trim()
 
-    assert_equals(div.style[shorthand], specifiedValue, shorthand + " specified value");
+    let specifiedValue = (alignValue + " " + justifyValue).trim();
+    if (alignValue === justifyValue)
+        specifiedValue = alignValue;
+
+    var resolvedValue = getComputedStyle(div).getPropertyValue(shorthand);
+    var expectedResolvedValue = (alignValue + " " + justifyValue).trim();
+
+    assert_equals(div.style[shorthand], specifiedValue, shorthandValue + " specified value");
     // FIXME: We need https://github.com/w3c/csswg-drafts/issues/1041 to clarify which
     // value is expected for the shorthand's 'resolved value".
     assert_in_array(resolvedValue, ["", expectedResolvedValue], shorthand + " resolved value");
@@ -47,6 +48,10 @@ function checkPlaceShorhandLonghands(shorthand, alignLonghand, justifyLonghand,
     var div = document.createElement("div");
     div.setAttribute("style", shorthand + ": " + alignValue + " " + justifyValue);
     document.body.appendChild(div);
+    if (alignValue === "first baseline")
+        alignValue = "baseline";
+    if (justifyValue === "first baseline")
+        justifyValue = "baseline";
     if (justifyValue === "")
         justifyValue = alignValue;
     assert_equals(div.style[alignLonghand],
index 18c4190..d407ddd 100644 (file)
@@ -1,20 +1,20 @@
 
 PASS Checking align-self: auto 
-FAIL Checking align-self: normal assert_equals: align-self computed style is not what is should. expected "normal" but got "auto"
-FAIL Checking align-self: stretch assert_equals: align-self computed style is not what is should. expected "stretch" but got "auto"
-FAIL Checking align-self: start assert_equals: align-self computed style is not what is should. expected "start" but got "auto"
-FAIL Checking align-self: end assert_equals: align-self computed style is not what is should. expected "end" but got "auto"
-FAIL Checking align-self: self-start assert_equals: align-self computed style is not what is should. expected "self-start" but got "auto"
-FAIL Checking align-self: self-end assert_equals: align-self computed style is not what is should. expected "self-end" but got "auto"
-FAIL Checking align-self: center assert_equals: align-self computed style is not what is should. expected "center" but got "auto"
-FAIL Checking align-self: flex-start assert_equals: align-self computed style is not what is should. expected "flex-start" but got "auto"
-FAIL Checking align-self: flex-end assert_equals: align-self computed style is not what is should. expected "flex-end" but got "auto"
-FAIL Checking align-self: baseline assert_equals: align-self computed style is not what is should. expected "first baseline" but got "auto"
-FAIL Checking align-self: first baseline assert_equals: align-self computed style is not what is should. expected "first baseline" but got "auto"
-FAIL Checking align-self: last baseline assert_equals: align-self computed style is not what is should. expected "last baseline" but got "auto"
-FAIL Checking align-self: safe flex-end assert_equals: align-self computed style is not what is should. expected "safe flex-end" but got "auto"
-FAIL Checking align-self: unsafe end assert_equals: align-self computed style is not what is should. expected "unsafe end" but got "auto"
-FAIL Checking align-self: safe end assert_equals: align-self computed style is not what is should. expected "safe end" but got "auto"
-FAIL Checking align-self: unsafe flex-start assert_equals: align-self computed style is not what is should. expected "unsafe flex-start" but got "auto"
-FAIL Checking align-self: safe center assert_equals: align-self computed style is not what is should. expected "safe center" but got "auto"
+PASS Checking align-self: normal 
+PASS Checking align-self: stretch 
+PASS Checking align-self: start 
+PASS Checking align-self: end 
+PASS Checking align-self: self-start 
+PASS Checking align-self: self-end 
+PASS Checking align-self: center 
+PASS Checking align-self: flex-start 
+PASS Checking align-self: flex-end 
+PASS Checking align-self: baseline 
+PASS Checking align-self: first baseline 
+PASS Checking align-self: last baseline 
+PASS Checking align-self: safe flex-end 
+PASS Checking align-self: unsafe end 
+PASS Checking align-self: safe end 
+PASS Checking align-self: unsafe flex-start 
+PASS Checking align-self: safe center 
 
index e951124..b19372d 100644 (file)
         element.className = "alignSelf" + key;
         document.body.appendChild(element);
         test(function() {
-            let computedValue = specifiedValue;
-            if (specifiedValue === "baseline")
-                computedValue = "first baseline";
-            checkValues(element, "alignSelf", "align-self", "", computedValue);
+            if (specifiedValue === "first baseline")
+                checkValues(element, "alignSelf", "align-self", "", "baseline");
+            else
+                checkValues(element, "alignSelf", "align-self", "", specifiedValue);
         }, "Checking align-self: " + specifiedValue);
     }
 </script>
index c65c516..d407ddd 100644 (file)
@@ -9,8 +9,8 @@ PASS Checking align-self: self-end
 PASS Checking align-self: center 
 PASS Checking align-self: flex-start 
 PASS Checking align-self: flex-end 
-FAIL Checking align-self: baseline assert_equals: align-self computed style is not what is should. expected "first baseline" but got "baseline"
-FAIL Checking align-self: first baseline assert_equals: align-self computed style is not what is should. expected "first baseline" but got "baseline"
+PASS Checking align-self: baseline 
+PASS Checking align-self: first baseline 
 PASS Checking align-self: last baseline 
 PASS Checking align-self: safe flex-end 
 PASS Checking align-self: unsafe end 
index 19c8926..a2f3351 100644 (file)
     for (var key in classes) {
         let specifiedValue = classes[key];
         test(function() {
+            element.style.alignSelf = "";
             element.style.alignSelf = specifiedValue;
-            let computedValue = specifiedValue;
-            if (specifiedValue === "baseline")
-                computedValue = "first baseline";
-            checkValues(element, "alignSelf", "align-self",  specifiedValue, computedValue);
+            if (specifiedValue === "first baseline")
+                checkValues(element, "alignSelf", "align-self", "baseline", "baseline");
+            else
+                checkValues(element, "alignSelf", "align-self",  specifiedValue, specifiedValue);
         }, "Checking align-self: " + specifiedValue);
     }
 </script>
index b1608ad..fb21689 100644 (file)
@@ -1,22 +1,22 @@
 
 PASS Checking justify-self: auto 
-FAIL Checking justify-self: normal assert_equals: justify-self computed style is not what is should. expected "normal" but got "auto"
-FAIL Checking justify-self: stretch assert_equals: justify-self computed style is not what is should. expected "stretch" but got "auto"
-FAIL Checking justify-self: left assert_equals: justify-self computed style is not what is should. expected "left" but got "auto"
-FAIL Checking justify-self: right assert_equals: justify-self computed style is not what is should. expected "right" but got "auto"
-FAIL Checking justify-self: start assert_equals: justify-self computed style is not what is should. expected "start" but got "auto"
-FAIL Checking justify-self: end assert_equals: justify-self computed style is not what is should. expected "end" but got "auto"
-FAIL Checking justify-self: self-start assert_equals: justify-self computed style is not what is should. expected "self-start" but got "auto"
-FAIL Checking justify-self: self-end assert_equals: justify-self computed style is not what is should. expected "self-end" but got "auto"
-FAIL Checking justify-self: center assert_equals: justify-self computed style is not what is should. expected "center" but got "auto"
-FAIL Checking justify-self: flex-start assert_equals: justify-self computed style is not what is should. expected "flex-start" but got "auto"
-FAIL Checking justify-self: flex-end assert_equals: justify-self computed style is not what is should. expected "flex-end" but got "auto"
-FAIL Checking justify-self: baseline assert_equals: justify-self computed style is not what is should. expected "first baseline" but got "auto"
-FAIL Checking justify-self: first baseline assert_equals: justify-self computed style is not what is should. expected "first baseline" but got "auto"
-FAIL Checking justify-self: last baseline assert_equals: justify-self computed style is not what is should. expected "last baseline" but got "auto"
-FAIL Checking justify-self: safe flex-end assert_equals: justify-self computed style is not what is should. expected "safe flex-end" but got "auto"
-FAIL Checking justify-self: unsafe end assert_equals: justify-self computed style is not what is should. expected "unsafe end" but got "auto"
-FAIL Checking justify-self: safe end assert_equals: justify-self computed style is not what is should. expected "safe end" but got "auto"
-FAIL Checking justify-self: unsafe flex-start assert_equals: justify-self computed style is not what is should. expected "unsafe flex-start" but got "auto"
-FAIL Checking justify-self: safe center assert_equals: justify-self computed style is not what is should. expected "safe center" but got "auto"
+PASS Checking justify-self: normal 
+PASS Checking justify-self: stretch 
+PASS Checking justify-self: left 
+PASS Checking justify-self: right 
+PASS Checking justify-self: start 
+PASS Checking justify-self: end 
+PASS Checking justify-self: self-start 
+PASS Checking justify-self: self-end 
+PASS Checking justify-self: center 
+PASS Checking justify-self: flex-start 
+PASS Checking justify-self: flex-end 
+PASS Checking justify-self: baseline 
+PASS Checking justify-self: first baseline 
+PASS Checking justify-self: last baseline 
+PASS Checking justify-self: safe flex-end 
+PASS Checking justify-self: unsafe end 
+PASS Checking justify-self: safe end 
+PASS Checking justify-self: unsafe flex-start 
+PASS Checking justify-self: safe center 
 
index da5f28f..4b321d5 100644 (file)
         element.className = "justifySelf" + key;
         document.body.appendChild(element);
         test(function() {
-            let computedValue = specifiedValue;
-            if (specifiedValue === "baseline")
-                computedValue = "first baseline";
-            checkValues(element, "justifySelf", "justify-self", "", computedValue);
+            let value = specifiedValue;
+            if (specifiedValue === "first baseline")
+                checkValues(element, "justifySelf", "justify-self", "", "baseline");
+            else
+                checkValues(element, "justifySelf", "justify-self", "", value);
         }, "Checking justify-self: " + specifiedValue);
     }
 </script>
index c3e4e44..fb21689 100644 (file)
@@ -11,8 +11,8 @@ PASS Checking justify-self: self-end
 PASS Checking justify-self: center 
 PASS Checking justify-self: flex-start 
 PASS Checking justify-self: flex-end 
-FAIL Checking justify-self: baseline assert_equals: justify-self computed style is not what is should. expected "first baseline" but got "baseline"
-FAIL Checking justify-self: first baseline assert_equals: justify-self computed style is not what is should. expected "first baseline" but got "baseline"
+PASS Checking justify-self: baseline 
+PASS Checking justify-self: first baseline 
 PASS Checking justify-self: last baseline 
 PASS Checking justify-self: safe flex-end 
 PASS Checking justify-self: unsafe end 
index a7131ef..9672916 100644 (file)
     for (var key in classes) {
         let specifiedValue = classes[key];
         test(function() {
+            element.style.justifySelf = "";
             element.style.justifySelf = specifiedValue;
-            let computedValue = specifiedValue;
-            if (specifiedValue === "baseline")
-                computedValue = "first baseline";
-            checkValues(element, "justifySelf", "justify-self",  specifiedValue, computedValue);
+            if (specifiedValue === "first baseline")
+                checkValues(element, "justifySelf", "justify-self", "baseline", "baseline");
+            else
+                checkValues(element, "justifySelf", "justify-self",  specifiedValue, specifiedValue);
         }, "Checking justify-self: " + specifiedValue);
     }
 </script>
index 8cc3a33..d26df05 100644 (file)
@@ -5,7 +5,7 @@
 <meta name="assert" content="Check that setting a single value to place-self expands to such value set in both 'align-self' and 'justify-self'." />
 <script src="/resources/testharness.js"></script>
 <script src="/resources/testharnessreport.js"></script>
-<script src="../resources/alignment-parsing-utils.js"></script>
+<script src="/css/css-align/resources/alignment-parsing-utils.js"></script>
 <div id="log"></div>
 <script>
     let classes = Object.assign({"Auto":"auto", "Normal":"normal", "Stretch":"stretch"}, selfPositionClasses,
index 8725457..3ba6c55 100644 (file)
@@ -5,7 +5,7 @@
 <meta name="assert" content="Check that setting two values to place-self sets the first one to 'align-self' and the second one to 'justify-self'." />
 <script src="/resources/testharness.js"></script>
 <script src="/resources/testharnessreport.js"></script>
-<script src="../resources/alignment-parsing-utils.js"></script>
+<script src="/css/css-align/resources/alignment-parsing-utils.js"></script>
 <div id="log"></div>
 <script>
     let classes = Object.assign({"Auto":"auto", "Normal":"normal", "Stretch":"stretch"}, selfPositionClasses,
index 9fc8315..8434d77 100644 (file)
@@ -5,7 +5,7 @@
 <meta name="assert" content="Check that place-self's invalid values are properly detected at parsing time." />
 <script src="/resources/testharness.js"></script>
 <script src="/resources/testharnessreport.js"></script>
-<script src="../resources/alignment-parsing-utils.js"></script>
+<script src="/css/css-align/resources/alignment-parsing-utils.js"></script>
 <div id="log"></div>
 <script>
     function checkInvalidValues(value)
index c0139c1..fb5dce1 100644 (file)
@@ -5,7 +5,7 @@
 <meta name="assert" content="Check the place-self's 'specified' and 'resolved' values serialization." />
 <script src="/resources/testharness.js"></script>
 <script src="/resources/testharnessreport.js"></script>
-<script src="../resources/alignment-parsing-utils.js"></script>
+<script src="/css/css-align/resources/alignment-parsing-utils.js"></script>
 <div id="log"></div>
 <script>
     let classes = Object.assign({"Auto":"auto", "Normal":"normal", "Stretch":"stretch"}, selfPositionClasses,
@@ -17,7 +17,7 @@
             let justifyValue = classes2[key2];
             var value = (alignValue + " " + justifyValue).trim();
             test(function() {
-                checkPlaceShorhand("place-self", alignValue, justifyValue)
+                checkPlaceShorhand("place-self", value, alignValue, justifyValue)
             }, "Checking place-self: " + value);
         }
     }
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/support/1x1-green.png b/LayoutTests/imported/w3c/web-platform-tests/css/support/1x1-green.png
new file mode 100644 (file)
index 0000000..b98ca0b
Binary files /dev/null and b/LayoutTests/imported/w3c/web-platform-tests/css/support/1x1-green.png differ
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/support/1x1-lime.png b/LayoutTests/imported/w3c/web-platform-tests/css/support/1x1-lime.png
new file mode 100644 (file)
index 0000000..cb397fb
Binary files /dev/null and b/LayoutTests/imported/w3c/web-platform-tests/css/support/1x1-lime.png differ
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/support/1x1-maroon.png b/LayoutTests/imported/w3c/web-platform-tests/css/support/1x1-maroon.png
new file mode 100644 (file)
index 0000000..3f86b07
Binary files /dev/null and b/LayoutTests/imported/w3c/web-platform-tests/css/support/1x1-maroon.png differ
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/support/1x1-navy.png b/LayoutTests/imported/w3c/web-platform-tests/css/support/1x1-navy.png
new file mode 100644 (file)
index 0000000..9b9a039
Binary files /dev/null and b/LayoutTests/imported/w3c/web-platform-tests/css/support/1x1-navy.png differ
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/support/1x1-red.png b/LayoutTests/imported/w3c/web-platform-tests/css/support/1x1-red.png
new file mode 100644 (file)
index 0000000..6bd73ac
Binary files /dev/null and b/LayoutTests/imported/w3c/web-platform-tests/css/support/1x1-red.png differ
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/support/1x1-white.png b/LayoutTests/imported/w3c/web-platform-tests/css/support/1x1-white.png
new file mode 100644 (file)
index 0000000..dd43fae
Binary files /dev/null and b/LayoutTests/imported/w3c/web-platform-tests/css/support/1x1-white.png differ
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/support/60x60-gg-rr.png b/LayoutTests/imported/w3c/web-platform-tests/css/support/60x60-gg-rr.png
new file mode 100644 (file)
index 0000000..84f5b2a
Binary files /dev/null and b/LayoutTests/imported/w3c/web-platform-tests/css/support/60x60-gg-rr.png differ
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/support/60x60-green.png b/LayoutTests/imported/w3c/web-platform-tests/css/support/60x60-green.png
new file mode 100644 (file)
index 0000000..b3c8cf3
Binary files /dev/null and b/LayoutTests/imported/w3c/web-platform-tests/css/support/60x60-green.png differ
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/support/60x60-red.png b/LayoutTests/imported/w3c/web-platform-tests/css/support/60x60-red.png
new file mode 100644 (file)
index 0000000..823f125
Binary files /dev/null and b/LayoutTests/imported/w3c/web-platform-tests/css/support/60x60-red.png differ
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/support/OWNERS b/LayoutTests/imported/w3c/web-platform-tests/css/support/OWNERS
new file mode 100644 (file)
index 0000000..729a248
--- /dev/null
@@ -0,0 +1,2 @@
+@frivoal
+@gsnedders
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/support/README b/LayoutTests/imported/w3c/web-platform-tests/css/support/README
new file mode 100644 (file)
index 0000000..2e5f2ad
--- /dev/null
@@ -0,0 +1,28 @@
+CSS Global Support Directory
+============================
+
+This directory contains common support files (such as images and external
+style sheets). These are sync'ed into the support directories of all our
+test suites. If you have test-suite-specific support files, please add
+them to the appropriate test-suite-specific support/ directory.
+
+If you add to a support/ directory, please run the tools/supportprop.py
+script from the top of the repository to cascade support files into the
+lower-level support directories.
+
+Description of the Common Support File Collection
+-------------------------------------------------
+
+The 1x1-* images are all exactly one pixel.
+
+The swatch-* images all use 15x15 cells.
+
+The square-* images all use 15x15 cells with one pixel borders.
+
+The pattern-* images use cells of various sizes:
+
+   pattern-grg-rgr-grg.png   20x20
+   pattern-rgr-grg-rgr.png   20x20
+   pattern-tr.png            15x15
+   pattern-grg-rrg-rgg.png   15x15
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/support/a-green.css b/LayoutTests/imported/w3c/web-platform-tests/css/support/a-green.css
new file mode 100644 (file)
index 0000000..b0dbb07
--- /dev/null
@@ -0,0 +1 @@
+.a { color: green; }
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/support/alignment.css b/LayoutTests/imported/w3c/web-platform-tests/css/support/alignment.css
new file mode 100644 (file)
index 0000000..d4c970c
--- /dev/null
@@ -0,0 +1,367 @@
+/* align-self */
+.alignSelfAuto { align-self: auto; }
+.alignSelfNormal { align-self: normal; }
+.alignSelfStretch { align-self: stretch; }
+.alignSelfStart { align-self: start; }
+.alignSelfEnd { align-self: end; }
+.alignSelfCenter { align-self: center; }
+.alignSelfRight { align-self: right; }
+.alignSelfLeft { align-self: left; }
+
+.alignSelfFlexStart { align-self: flex-start; }
+.alignSelfFlexEnd { align-self: flex-end; }
+
+.alignSelfSelfStart { align-self: self-start; }
+.alignSelfSelfEnd { align-self: self-end; }
+
+.alignSelfSafeCenter { align-self: safe center; }
+.alignSelfUnsafeCenter { align-self: unsafe center; }
+.alignSelfSafeEnd { align-self: safe end; }
+.alignSelfUnsafeEnd { align-self: unsafe end; }
+.alignSelfSafeSelfEnd { align-self: safe self-end; }
+.alignSelfUnsafeSelfEnd { align-self: unsafe self-end; }
+.alignSelfSafeSelfStart { align-self: safe self-start; }
+.alignSelfUnsafeSelfStart { align-self: unsafe self-start; }
+.alignSelfSafeRight { align-self: safe right; }
+.alignSelfUnsafeRight { align-self: unsafe right; }
+.alignSelfSafeLeft { align-self: safe left; }
+.alignSelfUnsafeLeft { align-self: unsafe left; }
+.alignSelfSafeFlexEnd { align-self: safe flex-end; }
+.alignSelfUnsafeFlexEnd { align-self: unsafe flex-end; }
+.alignSelfSafeFlexStart { align-self: safe flex-start; }
+.alignSelfUnsafeFlexStart { align-self: unsafe flex-start; }
+
+.alignSelfBaseline { align-self: baseline; }
+.alignSelfFirstBaseline { align-self: first baseline; }
+.alignSelfLastBaseline { align-self: last baseline; }
+
+/* align-items */
+.alignItemsAuto { align-items: auto; }
+.alignItemsNormal { align-items: normal; }
+.alignItemsStretch { align-items: stretch; }
+.alignItemsStart { align-items: start; }
+.alignItemsCenter { align-items: center; }
+.alignItemsEnd { align-items: end; }
+.alignItemsLeft { align-items: left; }
+.alignItemsRight { align-items: right; }
+
+.alignItemsFlexStart { align-items: flex-start; }
+.alignItemsFlexEnd { align-items: flex-end; }
+
+.alignItemsSelfStart { align-items: self-start; }
+.alignItemsSelfEnd { align-items: self-end; }
+
+.alignItemsSafeCenter { align-items: safe center; }
+.alignItemsUnsafeCenter { align-items: unsafe center; }
+.alignItemsSafeEnd { align-items: safe end; }
+.alignItemsUnsafeEnd { align-items: unsafe end; }
+.alignItemsSafeSelfEnd { align-items: safe self-end; }
+.alignItemsUnsafeSelfEnd { align-items: unsafe self-end; }
+.alignItemsSafeSelfStart { align-items: safe self-start; }
+.alignItemsUnsafeSelfStart { align-items: unsafe self-start; }
+.alignItemsSafeRight { align-items: safe right; }
+.alignItemsUnsafeRight { align-items: unsafe right; }
+.alignItemsSafeLeft { align-items: safe left; }
+.alignItemsUnsafeLeft { align-items: unsafe left; }
+.alignItemsSafeFlexEnd { align-items: safe flex-end; }
+.alignItemsUnsafeFlexEnd { align-items: unsafe flex-end; }
+.alignItemsSafeFlexStart { align-items: safe flex-start; }
+.alignItemsUnsafeFlexStart { align-items: unsafe flex-start; }
+
+.alignItemsBaseline { align-items: baseline; }
+.alignItemsFirstBaseline { align-items: first baseline; }
+.alignItemsLastBaseline { align-items: last baseline; }
+
+/* align-content */
+.alignContentBaseline { align-content: baseline; }
+.alignContentLastBaseline { align-content: last-baseline; }
+.alignContentStart { align-content: start; }
+.alignContentEnd { align-content: end; }
+.alignContentCenter { align-content: center; }
+.alignContentLeft { align-content: left; }
+.alignContentRight { align-content: right; }
+
+.alignContentFlexStart { align-content: flex-start; }
+.alignContentFlexEnd { align-content: flex-end; }
+
+.alignContentSpaceBetween { align-content: space-between; }
+.alignContentSpaceAround { align-content: space-around; }
+.alignContentSpaceEvenly { align-content: space-evenly; }
+.alignContentStretch { align-content: stretch; }
+
+.alignContentSafeCenter { align-content: safe center; }
+.alignContentUnsafeCenter { align-content: unsafe center; }
+.alignContentSafeEnd { align-content: safe end; }
+.alignContentUnsafeEnd { align-content: unsafe end; }
+.alignContentSafeRight { align-content: safe right; }
+.alignContentUnsafeRight { align-content: unsafe right; }
+.alignContentSafeLeft { align-content: safe left; }
+.alignContentUnsafeLeft { align-content: unsafe left; }
+.alignContentSafeFlexEnd { align-content: safe flex-end; }
+.alignContentUnsafeFlexEnd { align-content: unsafe flex-end; }
+.alignContentSafeFlexStart { align-content: safe flex-start; }
+.alignContentUnsafeFlexStart { align-content: unsafe flex-start; }
+
+.alignContentBaseline { align-content: baseline; }
+.alignContentFirstBaseline { align-content: first baseline; }
+.alignContentLastBaseline { align-content: last baseline; }
+
+/* justify-self */
+.justifySelfAuto { justify-self: auto; }
+.justifySelfNormal { justify-self: normal; }
+.justifySelfStretch { justify-self: stretch; }
+.justifySelfStart { justify-self: start; }
+.justifySelfCenter { justify-self: center; }
+.justifySelfEnd { justify-self: end; }
+.justifySelfRight { justify-self: right; }
+.justifySelfLeft { justify-self: left; }
+
+.justifySelfFlexStart { justify-self: flex-start; }
+.justifySelfFlexEnd { justify-self: flex-end; }
+
+.justifySelfSelfStart { justify-self: self-start; }
+.justifySelfSelfEnd { justify-self: self-end; }
+
+.justifySelfSafeCenter { justify-self: safe center; }
+.justifySelfUnsafeCenter { justify-self: unsafe center; }
+.justifySelfSafeEnd { justify-self: safe end; }
+.justifySelfUnsafeEnd { justify-self: unsafe end; }
+.justifySelfSafeSelfEnd { justify-self: safe self-end; }
+.justifySelfUnsafeSelfEnd { justify-self: unsafe self-end; }
+.justifySelfSafeSelfStart { justify-self: safe self-start; }
+.justifySelfUnsafeSelfStart { justify-self: unsafe self-start; }
+.justifySelfSafeRight { justify-self: safe right; }
+.justifySelfUnsafeRight { justify-self: unsafe right; }
+.justifySelfSafeLeft { justify-self: safe left; }
+.justifySelfUnsafeLeft { justify-self: unsafe left; }
+.justifySelfSafeFlexEnd { justify-self: safe flex-end; }
+.justifySelfUnsafeFlexEnd { justify-self: unsafe flex-end; }
+.justifySelfSafeFlexStart { justify-self: safe flex-start; }
+.justifySelfUnsafeFlexStart { justify-self: unsafe flex-start; }
+
+.justifySelfBaseline { justify-self: baseline; }
+.justifySelfFirstBaseline { justify-self: first baseline; }
+.justifySelfLastBaseline { justify-self: last baseline; }
+
+/* justify-items */
+.justifyItemsAuto { justify-items: auto; }
+.justifyItemsNormal { justify-items: normal; }
+.justifyItemsStretch { justify-items: stretch; }
+.justifyItemsStart { justify-items: start; }
+.justifyItemsCenter { justify-items: center; }
+.justifyItemsEnd { justify-items: end; }
+.justifyItemsLeft { justify-items: left; }
+.justifyItemsRight { justify-items: right; }
+
+.justifyItemsFlexStart { justify-items: flex-start; }
+.justifyItemsFlexEnd { justify-items: flex-end; }
+
+.justifyItemsSelfStart { justify-items: self-start; }
+.justifyItemsSelfEnd { justify-items: self-end; }
+
+.justifyItemsLegacy { justify-items: legacy; }
+.justifyItemsLegacyLeft { justify-items: legacy left; }
+.justifyItemsLegacyCenter { justify-items: legacy center; }
+.justifyItemsLegacyRight { justify-items: legacy right; }
+.justifyItemsLeftLegacy { justify-items: left legacy; }
+.justifyItemsCenterLegacy { justify-items: center legacy; }
+.justifyItemsRightLegacy { justify-items: right legacy; }
+
+.justifyItemsSafeCenter { justify-items: safe center; }
+.justifyItemsUnsafeCenter { justify-items: unsafe center; }
+.justifyItemsSafeEnd { justify-items: safe end; }
+.justifyItemsUnsafeEnd { justify-items: unsafe end; }
+.justifyItemsSafeSelfEnd { justify-items: safe self-end; }
+.justifyItemsUnsafeSelfEnd { justify-items: unsafe self-end; }
+.justifyItemsSafeSelfStart { justify-items: safe self-start; }
+.justifyItemsUnsafeSelfStart { justify-items: unsafe self-start; }
+.justifyItemsSafeRight { justify-items: safe right; }
+.justifyItemsUnsafeRight { justify-items: unsafe right; }
+.justifyItemsSafeLeft { justify-items: safe left; }
+.justifyItemsUnsafeLeft { justify-items: unsafe left; }
+.justifyItemsSafeFlexEnd { justify-items: safe flex-end; }
+.justifyItemsUnsafeFlexEnd { justify-items: unsafe flex-end; }
+.justifyItemsSafeFlexStart { justify-items: safe flex-start; }
+.justifyItemsUnsafeFlexStart { justify-items: unsafe flex-start; }
+
+.justifyItemsTest { justify-items: safe end; }
+
+.justifyItemsBaseline { justify-items: baseline; }
+.justifyItemsFirstBaseline { justify-items: first baseline; }
+.justifyItemsLastBaseline { justify-items: last baseline; }
+
+/* justify-content */
+.justifyContentBaseline { justify-content: baseline; }
+.justifyContentLastBaseline { justify-content: last-baseline; }
+.justifyContentStart { justify-content: start; }
+.justifyContentEnd { justify-content: end; }
+.justifyContentCenter { justify-content: center; }
+.justifyContentLeft { justify-content: left; }
+.justifyContentRight { justify-content: right; }
+
+.justifyContentFlexStart { justify-content: flex-start; }
+.justifyContentFlexEnd { justify-content: flex-end; }
+
+.justifyContentSpaceBetween { justify-content: space-between; }
+.justifyContentSpaceAround { justify-content: space-around; }
+.justifyContentSpaceEvenly { justify-content: space-evenly; }
+.justifyContentStretch { justify-content: stretch; }
+
+.justifyContentSafeCenter { justify-content: safe center; }
+.justifyContentUnsafeCenter { justify-content: unsafe center; }
+.justifyContentSafeEnd { justify-content: safe end; }
+.justifyContentUnsafeEnd { justify-content: unsafe end; }
+.justifyContentSafeRight { justify-content: safe right; }
+.justifyContentUnsafeRight { justify-content: unsafe right; }
+.justifyContentSafeLeft { justify-content: safe left; }
+.justifyContentUnsafeLeft { justify-content: unsafe left; }
+.justifyContentSafeFlexEnd { justify-content: safe flex-end; }
+.justifyContentUnsafeFlexEnd { justify-content: unsafe flex-end; }
+.justifyContentSafeFlexStart { justify-content: safe flex-start; }
+.justifyContentUnsafeFlexStart { justify-content: unsafe flex-start; }
+
+.justifyContentBaseline { justify-content: baseline; }
+.justifyContentFirstBaseline { justify-content: first baseline; }
+.justifyContentLastBaseline { justify-content: last baseline; }
+
+/* Both align-items and justify-items */
+.itemsNormal {
+    align-items: normal;
+    justify-items: normal;
+}
+
+.itemsStretch {
+    align-items: stretch;
+    justify-items: stretch;
+}
+
+.itemsStart {
+    align-items: start;
+    justify-items: start;
+}
+
+.itemsCenter {
+    align-items: center;
+    justify-items: center;
+}
+
+.itemsEnd {
+    align-items: end;
+    justify-items: end;
+}
+
+.itemsLeft {
+    align-items: left;
+    justify-items: left;
+}
+
+.itemsRight {
+    align-items: right;
+    justify-items: right;
+}
+
+.itemsSelfStart {
+    align-items: self-start;
+    justify-items: self-start;
+}
+
+.itemsSelfEnd {
+    align-items: self-end;
+    justify-items: self-end;
+}
+.itemsBaseline {
+    align-items: baseline;
+    justify-items: baseline;
+}
+
+/* Both align-self and justify-self */
+.selfStretch {
+    align-self: stretch;
+    justify-self: stretch;
+}
+.selfStart {
+    align-self: start;
+    justify-self: start;
+}
+.selfEnd {
+    align-self: end;
+    justify-self: end;
+}
+.selfCenter {
+    align-self: center;
+    justify-self: center;
+}
+.selfRight {
+    align-self: right;
+    justify-self: right;
+}
+.selfLeft {
+    align-self: left;
+    justify-self: left;
+}
+.selfSelfStart {
+    align-self: self-start;
+    justify-self: self-start;
+}
+.selfSelfEnd {
+    align-self: self-end;
+    justify-self: self-end;
+}
+.selfBaseline {
+    align-self: baseline;
+    justify-self: baseline;
+}
+
+/* Both align-content and justify-content */
+.contentStart {
+    align-content: start;
+    justify-content: start;
+}
+.contentCenter {
+    align-content: center;
+    justify-content: center;
+}
+.contentEnd {
+    align-content: end;
+    justify-content: end;
+}
+
+.contentCenterSafe {
+    align-content: safe center;
+    justify-content: safe center;
+}
+
+.contentCenterUnsafe {
+    align-content: unsafe center;
+    justify-content: unsafe center;
+}
+
+.contentEndSafe {
+    align-content: safe end;
+    justify-content: safe end;
+}
+
+.contentEndUnsafe {
+    align-content: unsafe end;
+    justify-content: unsafe end;
+}
+
+.contentSpaceBetween {
+    justify-content: space-between;
+    align-content: space-between;
+}
+
+.contentSpaceAround {
+    justify-content: space-around;
+    align-content: space-around;
+}
+
+.contentSpaceEvenly {
+    justify-content: space-evenly;
+    align-content: space-evenly;
+}
+
+.contentStretch {
+    justify-content: stretch;
+    align-content: stretch;
+}
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/support/b-green.css b/LayoutTests/imported/w3c/web-platform-tests/css/support/b-green.css
new file mode 100644 (file)
index 0000000..a0473f5
--- /dev/null
@@ -0,0 +1 @@
+.b { color: green; }
\ No newline at end of file
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/support/c-red.css b/LayoutTests/imported/w3c/web-platform-tests/css/support/c-red.css
new file mode 100644 (file)
index 0000000..d4ba5c6
--- /dev/null
@@ -0,0 +1 @@
+.c { color: red; }
\ No newline at end of file
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/support/cat.png b/LayoutTests/imported/w3c/web-platform-tests/css/support/cat.png
new file mode 100644 (file)
index 0000000..85dd732
Binary files /dev/null and b/LayoutTests/imported/w3c/web-platform-tests/css/support/cat.png differ
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/support/green.ico b/LayoutTests/imported/w3c/web-platform-tests/css/support/green.ico
new file mode 100644 (file)
index 0000000..691f611
Binary files /dev/null and b/LayoutTests/imported/w3c/web-platform-tests/css/support/green.ico differ
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/support/import-green.css b/LayoutTests/imported/w3c/web-platform-tests/css/support/import-green.css
new file mode 100644 (file)
index 0000000..537104e
--- /dev/null
@@ -0,0 +1 @@
+.import { color: green; }
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/support/import-red.css b/LayoutTests/imported/w3c/web-platform-tests/css/support/import-red.css
new file mode 100644 (file)
index 0000000..9945ef4
--- /dev/null
@@ -0,0 +1 @@
+.import { color: red; }
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/support/pattern-grg-rgr-grg.png b/LayoutTests/imported/w3c/web-platform-tests/css/support/pattern-grg-rgr-grg.png
new file mode 100644 (file)
index 0000000..9b88fbd
Binary files /dev/null and b/LayoutTests/imported/w3c/web-platform-tests/css/support/pattern-grg-rgr-grg.png differ
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/support/pattern-grg-rrg-rgg.png b/LayoutTests/imported/w3c/web-platform-tests/css/support/pattern-grg-rrg-rgg.png
new file mode 100644 (file)
index 0000000..fcf4f3f
Binary files /dev/null and b/LayoutTests/imported/w3c/web-platform-tests/css/support/pattern-grg-rrg-rgg.png differ
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/support/pattern-rgr-grg-rgr.png b/LayoutTests/imported/w3c/web-platform-tests/css/support/pattern-rgr-grg-rgr.png
new file mode 100644 (file)
index 0000000..d454e3a
Binary files /dev/null and b/LayoutTests/imported/w3c/web-platform-tests/css/support/pattern-rgr-grg-rgr.png differ
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/support/pattern-tr.png b/LayoutTests/imported/w3c/web-platform-tests/css/support/pattern-tr.png
new file mode 100644 (file)
index 0000000..8b4b253
Binary files /dev/null and b/LayoutTests/imported/w3c/web-platform-tests/css/support/pattern-tr.png differ
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/support/red.ico b/LayoutTests/imported/w3c/web-platform-tests/css/support/red.ico
new file mode 100644 (file)
index 0000000..22a7b36
Binary files /dev/null and b/LayoutTests/imported/w3c/web-platform-tests/css/support/red.ico differ
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/support/ruler-h-50%.png b/LayoutTests/imported/w3c/web-platform-tests/css/support/ruler-h-50%.png
new file mode 100644 (file)
index 0000000..cf2eea6
Binary files /dev/null and b/LayoutTests/imported/w3c/web-platform-tests/css/support/ruler-h-50%.png differ
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/support/ruler-h-50px.png b/LayoutTests/imported/w3c/web-platform-tests/css/support/ruler-h-50px.png
new file mode 100644 (file)
index 0000000..9f46583
Binary files /dev/null and b/LayoutTests/imported/w3c/web-platform-tests/css/support/ruler-h-50px.png differ
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/support/ruler-v-100px.png b/LayoutTests/imported/w3c/web-platform-tests/css/support/ruler-v-100px.png
new file mode 100644 (file)
index 0000000..a837eca
Binary files /dev/null and b/LayoutTests/imported/w3c/web-platform-tests/css/support/ruler-v-100px.png differ
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/support/ruler-v-50px.png b/LayoutTests/imported/w3c/web-platform-tests/css/support/ruler-v-50px.png
new file mode 100644 (file)
index 0000000..8414102
Binary files /dev/null and b/LayoutTests/imported/w3c/web-platform-tests/css/support/ruler-v-50px.png differ
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/support/square-purple.png b/LayoutTests/imported/w3c/web-platform-tests/css/support/square-purple.png
new file mode 100644 (file)
index 0000000..0f522d7
Binary files /dev/null and b/LayoutTests/imported/w3c/web-platform-tests/css/support/square-purple.png differ
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/support/square-teal.png b/LayoutTests/imported/w3c/web-platform-tests/css/support/square-teal.png
new file mode 100644 (file)
index 0000000..e567f51
Binary files /dev/null and b/LayoutTests/imported/w3c/web-platform-tests/css/support/square-teal.png differ
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/support/square-white.png b/LayoutTests/imported/w3c/web-platform-tests/css/support/square-white.png
new file mode 100644 (file)
index 0000000..5853cbb
Binary files /dev/null and b/LayoutTests/imported/w3c/web-platform-tests/css/support/square-white.png differ
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/support/support/README b/LayoutTests/imported/w3c/web-platform-tests/css/support/support/README
new file mode 100644 (file)
index 0000000..ea8cb9e
--- /dev/null
@@ -0,0 +1,4 @@
+The swatch-green.png file in this directory is really a RED swatch,
+and the swatch-red.png file is really a green swatch.
+
+This directory is used to test relative URIs.
\ No newline at end of file
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/support/support/swatch-green.png b/LayoutTests/imported/w3c/web-platform-tests/css/support/support/swatch-green.png
new file mode 100644 (file)
index 0000000..1caf25c
Binary files /dev/null and b/LayoutTests/imported/w3c/web-platform-tests/css/support/support/swatch-green.png differ
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/support/support/swatch-red.png b/LayoutTests/imported/w3c/web-platform-tests/css/support/support/swatch-red.png
new file mode 100644 (file)
index 0000000..0aa79b0
Binary files /dev/null and b/LayoutTests/imported/w3c/web-platform-tests/css/support/support/swatch-red.png differ
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/support/support/w3c-import.log b/LayoutTests/imported/w3c/web-platform-tests/css/support/support/w3c-import.log
new file mode 100644 (file)
index 0000000..0ae6cbd
--- /dev/null
@@ -0,0 +1,19 @@
+The tests in this directory were imported from the W3C repository.
+Do NOT modify these tests directly in WebKit.
+Instead, create a pull request on the WPT github:
+       https://github.com/w3c/web-platform-tests
+
+Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
+
+Do NOT modify or remove this file.
+
+------------------------------------------------------------------------
+Properties requiring vendor prefixes:
+None
+Property values requiring vendor prefixes:
+None
+------------------------------------------------------------------------
+List of files:
+/LayoutTests/imported/w3c/web-platform-tests/css/support/support/README
+/LayoutTests/imported/w3c/web-platform-tests/css/support/support/swatch-green.png
+/LayoutTests/imported/w3c/web-platform-tests/css/support/support/swatch-red.png
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/support/swatch-blue.png b/LayoutTests/imported/w3c/web-platform-tests/css/support/swatch-blue.png
new file mode 100644 (file)
index 0000000..bf27596
Binary files /dev/null and b/LayoutTests/imported/w3c/web-platform-tests/css/support/swatch-blue.png differ
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/support/swatch-green.png b/LayoutTests/imported/w3c/web-platform-tests/css/support/swatch-green.png
new file mode 100644 (file)
index 0000000..0aa79b0
Binary files /dev/null and b/LayoutTests/imported/w3c/web-platform-tests/css/support/swatch-green.png differ
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/support/swatch-lime.png b/LayoutTests/imported/w3c/web-platform-tests/css/support/swatch-lime.png
new file mode 100644 (file)
index 0000000..55fd7fd
Binary files /dev/null and b/LayoutTests/imported/w3c/web-platform-tests/css/support/swatch-lime.png differ
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/support/swatch-orange.png b/LayoutTests/imported/w3c/web-platform-tests/css/support/swatch-orange.png
new file mode 100644 (file)
index 0000000..d3cd498
Binary files /dev/null and b/LayoutTests/imported/w3c/web-platform-tests/css/support/swatch-orange.png differ
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/support/swatch-red.png b/LayoutTests/imported/w3c/web-platform-tests/css/support/swatch-red.png
new file mode 100644 (file)
index 0000000..1caf25c
Binary files /dev/null and b/LayoutTests/imported/w3c/web-platform-tests/css/support/swatch-red.png differ
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/support/swatch-teal.png b/LayoutTests/imported/w3c/web-platform-tests/css/support/swatch-teal.png
new file mode 100644 (file)
index 0000000..0293ce8
Binary files /dev/null and b/LayoutTests/imported/w3c/web-platform-tests/css/support/swatch-teal.png differ
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/support/swatch-white.png b/LayoutTests/imported/w3c/web-platform-tests/css/support/swatch-white.png
new file mode 100644 (file)
index 0000000..1a7d432
Binary files /dev/null and b/LayoutTests/imported/w3c/web-platform-tests/css/support/swatch-white.png differ
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/support/swatch-yellow.png b/LayoutTests/imported/w3c/web-platform-tests/css/support/swatch-yellow.png
new file mode 100644 (file)
index 0000000..1591aa0
Binary files /dev/null and b/LayoutTests/imported/w3c/web-platform-tests/css/support/swatch-yellow.png differ
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/support/test-bl.png b/LayoutTests/imported/w3c/web-platform-tests/css/support/test-bl.png
new file mode 100644 (file)
index 0000000..904e24e
Binary files /dev/null and b/LayoutTests/imported/w3c/web-platform-tests/css/support/test-bl.png differ
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/support/test-br.png b/LayoutTests/imported/w3c/web-platform-tests/css/support/test-br.png
new file mode 100644 (file)
index 0000000..f413ff5
Binary files /dev/null and b/LayoutTests/imported/w3c/web-platform-tests/css/support/test-br.png differ
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/support/test-inner-half-size.png b/LayoutTests/imported/w3c/web-platform-tests/css/support/test-inner-half-size.png
new file mode 100644 (file)
index 0000000..e473bf8
Binary files /dev/null and b/LayoutTests/imported/w3c/web-platform-tests/css/support/test-inner-half-size.png differ
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/support/test-outer.png b/LayoutTests/imported/w3c/web-platform-tests/css/support/test-outer.png
new file mode 100644 (file)
index 0000000..82eeace
Binary files /dev/null and b/LayoutTests/imported/w3c/web-platform-tests/css/support/test-outer.png differ
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/support/test-tl.png b/LayoutTests/imported/w3c/web-platform-tests/css/support/test-tl.png
new file mode 100644 (file)
index 0000000..f6ac0ef
Binary files /dev/null and b/LayoutTests/imported/w3c/web-platform-tests/css/support/test-tl.png differ
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/support/test-tr.png b/LayoutTests/imported/w3c/web-platform-tests/css/support/test-tr.png
new file mode 100644 (file)
index 0000000..59843ae
Binary files /dev/null and b/LayoutTests/imported/w3c/web-platform-tests/css/support/test-tr.png differ
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/support/w3c-import.log b/LayoutTests/imported/w3c/web-platform-tests/css/support/w3c-import.log
new file mode 100644 (file)
index 0000000..c2892e8
--- /dev/null
@@ -0,0 +1,61 @@
+The tests in this directory were imported from the W3C repository.
+Do NOT modify these tests directly in WebKit.
+Instead, create a pull request on the WPT github:
+       https://github.com/w3c/web-platform-tests
+
+Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
+
+Do NOT modify or remove this file.
+
+------------------------------------------------------------------------
+Properties requiring vendor prefixes:
+None
+Property values requiring vendor prefixes:
+None
+------------------------------------------------------------------------
+List of files:
+/LayoutTests/imported/w3c/web-platform-tests/css/support/1x1-green.png
+/LayoutTests/imported/w3c/web-platform-tests/css/support/1x1-lime.png
+/LayoutTests/imported/w3c/web-platform-tests/css/support/1x1-maroon.png
+/LayoutTests/imported/w3c/web-platform-tests/css/support/1x1-navy.png
+/LayoutTests/imported/w3c/web-platform-tests/css/support/1x1-red.png
+/LayoutTests/imported/w3c/web-platform-tests/css/support/1x1-white.png
+/LayoutTests/imported/w3c/web-platform-tests/css/support/60x60-gg-rr.png
+/LayoutTests/imported/w3c/web-platform-tests/css/support/60x60-green.png
+/LayoutTests/imported/w3c/web-platform-tests/css/support/60x60-red.png
+/LayoutTests/imported/w3c/web-platform-tests/css/support/OWNERS
+/LayoutTests/imported/w3c/web-platform-tests/css/support/README
+/LayoutTests/imported/w3c/web-platform-tests/css/support/a-green.css
+/LayoutTests/imported/w3c/web-platform-tests/css/support/alignment.css
+/LayoutTests/imported/w3c/web-platform-tests/css/support/b-green.css
+/LayoutTests/imported/w3c/web-platform-tests/css/support/c-red.css
+/LayoutTests/imported/w3c/web-platform-tests/css/support/cat.png
+/LayoutTests/imported/w3c/web-platform-tests/css/support/green.ico
+/LayoutTests/imported/w3c/web-platform-tests/css/support/import-green.css
+/LayoutTests/imported/w3c/web-platform-tests/css/support/import-red.css
+/LayoutTests/imported/w3c/web-platform-tests/css/support/pattern-grg-rgr-grg.png
+/LayoutTests/imported/w3c/web-platform-tests/css/support/pattern-grg-rrg-rgg.png
+/LayoutTests/imported/w3c/web-platform-tests/css/support/pattern-rgr-grg-rgr.png
+/LayoutTests/imported/w3c/web-platform-tests/css/support/pattern-tr.png
+/LayoutTests/imported/w3c/web-platform-tests/css/support/red.ico
+/LayoutTests/imported/w3c/web-platform-tests/css/support/ruler-h-50%.png
+/LayoutTests/imported/w3c/web-platform-tests/css/support/ruler-h-50px.png
+/LayoutTests/imported/w3c/web-platform-tests/css/support/ruler-v-100px.png
+/LayoutTests/imported/w3c/web-platform-tests/css/support/ruler-v-50px.png
+/LayoutTests/imported/w3c/web-platform-tests/css/support/square-purple.png
+/LayoutTests/imported/w3c/web-platform-tests/css/support/square-teal.png
+/LayoutTests/imported/w3c/web-platform-tests/css/support/square-white.png
+/LayoutTests/imported/w3c/web-platform-tests/css/support/swatch-blue.png
+/LayoutTests/imported/w3c/web-platform-tests/css/support/swatch-green.png
+/LayoutTests/imported/w3c/web-platform-tests/css/support/swatch-lime.png
+/LayoutTests/imported/w3c/web-platform-tests/css/support/swatch-orange.png
+/LayoutTests/imported/w3c/web-platform-tests/css/support/swatch-red.png
+/LayoutTests/imported/w3c/web-platform-tests/css/support/swatch-teal.png
+/LayoutTests/imported/w3c/web-platform-tests/css/support/swatch-white.png
+/LayoutTests/imported/w3c/web-platform-tests/css/support/swatch-yellow.png
+/LayoutTests/imported/w3c/web-platform-tests/css/support/test-bl.png
+/LayoutTests/imported/w3c/web-platform-tests/css/support/test-br.png
+/LayoutTests/imported/w3c/web-platform-tests/css/support/test-inner-half-size.png
+/LayoutTests/imported/w3c/web-platform-tests/css/support/test-outer.png
+/LayoutTests/imported/w3c/web-platform-tests/css/support/test-tl.png
+/LayoutTests/imported/w3c/web-platform-tests/css/support/test-tr.png
index b978913..ceeabda 100644 (file)
@@ -1,3 +1,40 @@
+2018-01-30  Javier Fernandez  <jfernandez@igalia.com>
+
+        [css-align] The 'baseline' value must be invalid for the 'justify-content' property
+        https://bugs.webkit.org/show_bug.cgi?id=181794
+
+        Reviewed by Antti Koivisto.
+
+        The CSS WG has resolved that it doesn't make sense to define Baseline
+        Content-Alignment in the inline/main axis.
+
+        https://github.com/w3c/csswg-drafts/issues/1184
+
+        The spec has been updated so that <baseline-postion> is not valid for
+        the 'justify-content' property's syntax. This CL updates our parsing
+        logic to match the new spec, including the parsing logic of the
+        place-content shorthand.
+
+        Additionally, this CL updates the computed value of the
+        <baseline-position> values to match other browsers.
+
+        We don't implement support for <baseline-position> values in the
+        Content Distribution properties (align-content and justify-content),
+        so I don't expect this change to break content of sites using the CSS
+        Box Alignment feature.
+
+        No new tests, just adapt the Web Platform Tests we already have to the new CSS syntax.
+
+        * css/parser/CSSPropertyParser.cpp:
+        (WebCore::getBaselineKeyword):
+        (WebCore::consumeBaselineKeyword):
+        (WebCore::consumeContentDistributionOverflowPosition):
+        (WebCore::consumeSelfPositionOverflowPosition):
+        (WebCore::CSSPropertyParser::parseSingleValue):
+        (WebCore::consumeSimplifiedContentPosition):
+        (WebCore::CSSPropertyParser::consumePlaceContentShorthand):
+        (WebCore::consumeSimplifiedItemPosition):
+
 2018-01-30  Basuke Suzuki  <Basuke.Suzuki@sony.com>
 
         [WinCairo] Fix forwarding header conflict of WebKit on WinCairo
index 1892356..e22937d 100644 (file)
@@ -2704,11 +2704,10 @@ static RefPtr<CSSPrimitiveValue> consumeOverflowPositionKeyword(CSSParserTokenRa
 static CSSValueID getBaselineKeyword(RefPtr<CSSValue> value)
 {
     auto& primitiveValue = downcast<CSSPrimitiveValue>(*value);
-    if (auto* pairValue = primitiveValue.pairValue()) {
-        ASSERT(pairValue->second()->valueID() == CSSValueBaseline);
-        if (pairValue->first()->valueID() == CSSValueLast)
-            return CSSValueLastBaseline;
-        return CSSValueFirstBaseline;
+    if (primitiveValue.pairValue()) {
+        ASSERT(primitiveValue.pairValue()->first()->valueID() == CSSValueLast);
+        ASSERT(primitiveValue.pairValue()->second()->valueID() == CSSValueBaseline);
+        return CSSValueLastBaseline;
     }
     ASSERT(primitiveValue.valueID() == CSSValueBaseline);
     return CSSValueBaseline;
@@ -2716,21 +2715,20 @@ static CSSValueID getBaselineKeyword(RefPtr<CSSValue> value)
 
 static RefPtr<CSSValue> consumeBaselineKeyword(CSSParserTokenRange& range)
 {
-    CSSValueID id = range.peek().id();
-    if (identMatches<CSSValueBaseline>(id))
-        return consumeIdent(range);
-
-    if (RefPtr<CSSPrimitiveValue> preference = consumeIdent<CSSValueFirst, CSSValueLast>(range)) {
-        if (range.peek().id() == CSSValueBaseline)
-            return createPrimitiveValuePair(preference.releaseNonNull(), consumeIdent(range), Pair::IdenticalValueEncoding::Coalesce);
-    }
-    return nullptr;
+    RefPtr<CSSPrimitiveValue> preference = consumeIdent<CSSValueFirst, CSSValueLast>(range);
+    RefPtr<CSSPrimitiveValue> baseline = consumeIdent<CSSValueBaseline>(range);
+    if (!baseline)
+        return nullptr;
+    if (preference && preference->valueID() == CSSValueLast)
+        return createPrimitiveValuePair(preference.releaseNonNull(), baseline.releaseNonNull(), Pair::IdenticalValueEncoding::Coalesce);
+    return baseline;
 }
 
 using IsPositionKeyword = bool (*)(CSSValueID);
 
 static RefPtr<CSSValue> consumeContentDistributionOverflowPosition(CSSParserTokenRange& range, IsPositionKeyword isPositionKeyword)
 {
+    ASSERT(isPositionKeyword);
     CSSValueID id = range.peek().id();
     if (identMatches<CSSValueNormal>(id))
         return CSSContentDistributionValue::create(CSSValueInvalid, range.consumeIncludingWhitespace().id(), CSSValueInvalid);
@@ -3113,6 +3111,7 @@ static bool isSelfPositionOrLeftOrRightKeyword(CSSValueID id)
 
 static RefPtr<CSSValue> consumeSelfPositionOverflowPosition(CSSParserTokenRange& range, IsPositionKeyword isPositionKeyword)
 {
+    ASSERT(isPositionKeyword);
     CSSValueID id = range.peek().id();
     if (isAutoOrNormalOrStretch(id))
         return consumeIdent(range);
@@ -4228,6 +4227,9 @@ RefPtr<CSSValue> CSSPropertyParser::parseSingleValue(CSSPropertyID property, CSS
     case CSSPropertyWebkitClipPath:
         return consumeWebkitClipPath(m_range, m_context);
     case CSSPropertyJustifyContent:
+        // justify-content property does not allow the <baseline-position> values.
+        if (isBaselineKeyword(m_range.peek().id()))
+            return nullptr;
         return consumeContentDistributionOverflowPosition(m_range, isContentPositionOrLeftOrRightKeyword);
     case CSSPropertyAlignContent:
         return consumeContentDistributionOverflowPosition(m_range, isContentPositionKeyword);
@@ -5523,6 +5525,7 @@ bool CSSPropertyParser::consumeGridShorthand(bool important)
 
 static RefPtr<CSSValue> consumeSimplifiedContentPosition(CSSParserTokenRange& range, IsPositionKeyword isPositionKeyword)
 {
+    ASSERT(isPositionKeyword);
     CSSValueID id = range.peek().id();
     if (identMatches<CSSValueNormal>(id) || isPositionKeyword(id))
         return CSSContentDistributionValue::create(CSSValueInvalid, range.consumeIncludingWhitespace().id(), CSSValueInvalid);
@@ -5544,9 +5547,17 @@ bool CSSPropertyParser::consumePlaceContentShorthand(bool important)
     if (m_range.atEnd())
         return false;
 
+    bool isBaseline = isBaselineKeyword(m_range.peek().id());
     RefPtr<CSSValue> alignContentValue = consumeSimplifiedContentPosition(m_range, isContentPositionKeyword);
     if (!alignContentValue)
         return false;
+
+    // justify-content property does not allow the <baseline-position> values.
+    if (m_range.atEnd() && isBaseline)
+        return false;
+    if (isBaselineKeyword(m_range.peek().id()))
+        return false;
+
     RefPtr<CSSValue> justifyContentValue = m_range.atEnd() ? alignContentValue : consumeSimplifiedContentPosition(m_range, isContentPositionOrLeftOrRightKeyword);
     if (!justifyContentValue)
         return false;
@@ -5560,6 +5571,7 @@ bool CSSPropertyParser::consumePlaceContentShorthand(bool important)
 
 static RefPtr<CSSValue> consumeSimplifiedItemPosition(CSSParserTokenRange& range, IsPositionKeyword isPositionKeyword)
 {
+    ASSERT(isPositionKeyword);
     CSSValueID id = range.peek().id();
     if (isAutoOrNormalOrStretch(id) || isPositionKeyword(id))
         return consumeIdent(range);