Changeset 227432 in webkit


Ignore:
Timestamp:
Jan 23, 2018 12:30:21 PM (6 years ago)
Author:
jfernandez@igalia.com
Message:

[css-align] 'left' and 'right' should parse as invalid in block/cross-axis alignment
https://bugs.webkit.org/show_bug.cgi?id=181792

Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

Imported new Web Platform Tests for the css-align module.

  • resources/import-expectations.json:
  • web-platform-tests/css/css-align-3/content-distribution/w3c-import.log: Removed.
  • web-platform-tests/css/css-align-3/default-alignment/w3c-import.log: Removed.
  • web-platform-tests/css/css-align-3/resources/alignment-parsing-utils.js: Removed.
  • web-platform-tests/css/css-align-3/self-alignment/w3c-import.log: Removed.
  • web-platform-tests/css/css-align/content-distribution/parse-align-content-001-expected.txt: Added.
  • web-platform-tests/css/css-align/content-distribution/parse-align-content-001.html: Added.
  • web-platform-tests/css/css-align/content-distribution/parse-align-content-002-expected.txt: Added.
  • web-platform-tests/css/css-align/content-distribution/parse-align-content-002.html: Added.
  • web-platform-tests/css/css-align/content-distribution/parse-align-content-003-expected.txt: Added.
  • web-platform-tests/css/css-align/content-distribution/parse-align-content-003.html: Added.
  • web-platform-tests/css/css-align/content-distribution/parse-align-content-004-expected.txt: Added.
  • web-platform-tests/css/css-align/content-distribution/parse-align-content-004.html: Added.
  • web-platform-tests/css/css-align/content-distribution/parse-align-content-005-expected.txt: Added.
  • web-platform-tests/css/css-align/content-distribution/parse-align-content-005.html: Added.
  • web-platform-tests/css/css-align/content-distribution/parse-justify-content-001-expected.txt: Added.
  • web-platform-tests/css/css-align/content-distribution/parse-justify-content-001.html: Added.
  • web-platform-tests/css/css-align/content-distribution/parse-justify-content-002-expected.txt: Added.
  • web-platform-tests/css/css-align/content-distribution/parse-justify-content-002.html: Added.
  • web-platform-tests/css/css-align/content-distribution/parse-justify-content-003-expected.txt: Added.
  • web-platform-tests/css/css-align/content-distribution/parse-justify-content-003.html: Added.
  • web-platform-tests/css/css-align/content-distribution/parse-justify-content-004-expected.txt: Added.
  • web-platform-tests/css/css-align/content-distribution/parse-justify-content-004.html: Added.
  • web-platform-tests/css/css-align/content-distribution/parse-justify-content-005-expected.txt: Added.
  • web-platform-tests/css/css-align/content-distribution/parse-justify-content-005.html: Added.
  • web-platform-tests/css/css-align/content-distribution/place-content-shorthand-001-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-001-expected.txt.
  • web-platform-tests/css/css-align/content-distribution/place-content-shorthand-001.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-001.html.
  • web-platform-tests/css/css-align/content-distribution/place-content-shorthand-002-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-002-expected.txt.
  • web-platform-tests/css/css-align/content-distribution/place-content-shorthand-002.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-002.html.
  • web-platform-tests/css/css-align/content-distribution/place-content-shorthand-003-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-003-expected.txt.
  • web-platform-tests/css/css-align/content-distribution/place-content-shorthand-003.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-003.html.
  • web-platform-tests/css/css-align/content-distribution/place-content-shorthand-004-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-004-expected.txt.
  • web-platform-tests/css/css-align/content-distribution/place-content-shorthand-004.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-004.html.
  • web-platform-tests/css/css-align/content-distribution/place-content-shorthand-005-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-005-expected.txt.
  • web-platform-tests/css/css-align/content-distribution/place-content-shorthand-005.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-005.html.
  • web-platform-tests/css/css-align/content-distribution/place-content-shorthand-006-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-006-expected.txt.
  • web-platform-tests/css/css-align/content-distribution/place-content-shorthand-006.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-006.html.
  • web-platform-tests/css/css-align/content-distribution/w3c-import.log: Added.
  • web-platform-tests/css/css-align/default-alignment/justify-items-legacy-001-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/justify-items-legacy-001-expected.txt.
  • web-platform-tests/css/css-align/default-alignment/justify-items-legacy-001.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/justify-items-legacy-001.html.
  • web-platform-tests/css/css-align/default-alignment/parse-align-items-001-expected.txt: Added.
  • web-platform-tests/css/css-align/default-alignment/parse-align-items-001.html: Added.
  • web-platform-tests/css/css-align/default-alignment/parse-align-items-002-expected.txt: Added.
  • web-platform-tests/css/css-align/default-alignment/parse-align-items-002.html: Added.
  • web-platform-tests/css/css-align/default-alignment/parse-align-items-003-expected.txt: Added.
  • web-platform-tests/css/css-align/default-alignment/parse-align-items-003.html: Added.
  • web-platform-tests/css/css-align/default-alignment/parse-align-items-004-expected.txt: Added.
  • web-platform-tests/css/css-align/default-alignment/parse-align-items-004.html: Added.
  • web-platform-tests/css/css-align/default-alignment/parse-align-items-005-expected.txt: Added.
  • web-platform-tests/css/css-align/default-alignment/parse-align-items-005.html: Added.
  • web-platform-tests/css/css-align/default-alignment/parse-justify-items-001-expected.txt: Added.
  • web-platform-tests/css/css-align/default-alignment/parse-justify-items-001.html: Added.
  • web-platform-tests/css/css-align/default-alignment/parse-justify-items-002-expected.txt: Added.
  • web-platform-tests/css/css-align/default-alignment/parse-justify-items-002.html: Added.
  • web-platform-tests/css/css-align/default-alignment/parse-justify-items-003-expected.txt: Added.
  • web-platform-tests/css/css-align/default-alignment/parse-justify-items-003.html: Added.
  • web-platform-tests/css/css-align/default-alignment/parse-justify-items-004-expected.txt: Added.
  • web-platform-tests/css/css-align/default-alignment/parse-justify-items-004.html: Added.
  • web-platform-tests/css/css-align/default-alignment/parse-justify-items-005-expected.txt: Added.
  • web-platform-tests/css/css-align/default-alignment/parse-justify-items-005.html: Added.
  • web-platform-tests/css/css-align/default-alignment/parse-justify-items-006-expected.txt: Added.
  • web-platform-tests/css/css-align/default-alignment/parse-justify-items-006.html: Added.
  • web-platform-tests/css/css-align/default-alignment/place-items-shorthand-001-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-001-expected.txt.
  • web-platform-tests/css/css-align/default-alignment/place-items-shorthand-001.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-001.html.
  • web-platform-tests/css/css-align/default-alignment/place-items-shorthand-002-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-002-expected.txt.
  • web-platform-tests/css/css-align/default-alignment/place-items-shorthand-002.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-002.html.
  • web-platform-tests/css/css-align/default-alignment/place-items-shorthand-003-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-003-expected.txt.
  • web-platform-tests/css/css-align/default-alignment/place-items-shorthand-003.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-003.html.
  • web-platform-tests/css/css-align/default-alignment/place-items-shorthand-004-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-004-expected.txt.
  • web-platform-tests/css/css-align/default-alignment/place-items-shorthand-004.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-004.html.
  • web-platform-tests/css/css-align/default-alignment/place-items-shorthand-005-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-005-expected.txt.
  • web-platform-tests/css/css-align/default-alignment/place-items-shorthand-005.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-005.html.
  • web-platform-tests/css/css-align/default-alignment/place-items-shorthand-006-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-006-expected.txt.
  • web-platform-tests/css/css-align/default-alignment/place-items-shorthand-006.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-006.html.
  • web-platform-tests/css/css-align/default-alignment/w3c-import.log: Added.
  • web-platform-tests/css/css-align/distribution-values/space-evenly-001-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/distribution-values/space-evenly-001-expected.xht.
  • web-platform-tests/css/css-align/distribution-values/space-evenly-001.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/distribution-values/space-evenly-001.html.
  • web-platform-tests/css/css-align/distribution-values/w3c-import.log: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/distribution-values/w3c-import.log.
  • web-platform-tests/css/css-align/resources/alignment-parsing-utils.js: Added.

(checkPlaceShorhand):
(checkPlaceShorhandLonghands):
(checkPlaceShorthandInvalidValues):
(checkValues):
(checkBadValues):
(checkInitialValues):
(checkInheritValues):
(checkLegacyValues):
(checkSupportedValues):

  • web-platform-tests/css/css-align/resources/w3c-import.log: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/resources/w3c-import.log.
  • web-platform-tests/css/css-align/self-alignment/parse-align-self-001-expected.txt: Added.
  • web-platform-tests/css/css-align/self-alignment/parse-align-self-001.html: Added.
  • web-platform-tests/css/css-align/self-alignment/parse-align-self-002-expected.txt: Added.
  • web-platform-tests/css/css-align/self-alignment/parse-align-self-002.html: Added.
  • web-platform-tests/css/css-align/self-alignment/parse-align-self-003-expected.txt: Added.
  • web-platform-tests/css/css-align/self-alignment/parse-align-self-003.html: Added.
  • web-platform-tests/css/css-align/self-alignment/parse-align-self-004-expected.txt: Added.
  • web-platform-tests/css/css-align/self-alignment/parse-align-self-004.html: Added.
  • web-platform-tests/css/css-align/self-alignment/parse-align-self-005-expected.txt: Added.
  • web-platform-tests/css/css-align/self-alignment/parse-align-self-005.html: Added.
  • web-platform-tests/css/css-align/self-alignment/parse-justify-self-001-expected.txt: Added.
  • web-platform-tests/css/css-align/self-alignment/parse-justify-self-001.html: Added.
  • web-platform-tests/css/css-align/self-alignment/parse-justify-self-002-expected.txt: Added.
  • web-platform-tests/css/css-align/self-alignment/parse-justify-self-002.html: Added.
  • web-platform-tests/css/css-align/self-alignment/parse-justify-self-003-expected.txt: Added.
  • web-platform-tests/css/css-align/self-alignment/parse-justify-self-003.html: Added.
  • web-platform-tests/css/css-align/self-alignment/parse-justify-self-004-expected.txt: Added.
  • web-platform-tests/css/css-align/self-alignment/parse-justify-self-004.html: Added.
  • web-platform-tests/css/css-align/self-alignment/parse-justify-self-005-expected.txt: Added.
  • web-platform-tests/css/css-align/self-alignment/parse-justify-self-005.html: Added.
  • web-platform-tests/css/css-align/self-alignment/place-self-shorthand-001-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-001-expected.txt.
  • web-platform-tests/css/css-align/self-alignment/place-self-shorthand-001.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-001.html.
  • web-platform-tests/css/css-align/self-alignment/place-self-shorthand-002-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-002-expected.txt.
  • web-platform-tests/css/css-align/self-alignment/place-self-shorthand-002.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-002.html.
  • web-platform-tests/css/css-align/self-alignment/place-self-shorthand-003-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-003-expected.txt.
  • web-platform-tests/css/css-align/self-alignment/place-self-shorthand-003.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-003.html.
  • web-platform-tests/css/css-align/self-alignment/place-self-shorthand-004-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-004-expected.txt.
  • web-platform-tests/css/css-align/self-alignment/place-self-shorthand-004.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-004.html.
  • web-platform-tests/css/css-align/self-alignment/place-self-shorthand-005-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-005-expected.txt.
  • web-platform-tests/css/css-align/self-alignment/place-self-shorthand-005.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-005.html.
  • web-platform-tests/css/css-align/self-alignment/place-self-shorthand-006-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-006-expected.txt.
  • web-platform-tests/css/css-align/self-alignment/place-self-shorthand-006.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-006.html.
  • web-platform-tests/css/css-align/self-alignment/w3c-import.log: Added.

Source/WebCore:

The CSS WG resolved to remove the 'left' and 'right' values from the
block/cross axis alignment properties.

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

This patch changes the CSS parsing logic of all the CSS Box Alignment
properties, both block-axis (align-{self, items, content} and
inline-axis (justify-{self, items, content}).

Additionally, the alignment shorthands (place-{self, items, content})
have been also changed to respect the new syntax.

Despite the number of layout tests changed, I don't think this
change will break any content in current sites. The CSS values
'left' and 'right' were introduced by the new CSS Box Alignment
spec and only implemented by the CSS Grid Layout feature, shipped
last year. Additionally, the removed values have no effect on the
layout result when they are applied to the block/cross-axis CSS
Alignment properties.

Tests: imported/w3c/web-platform-tests/css/css-align/content-distribution/parse-align-content-001.html

imported/w3c/web-platform-tests/css/css-align/content-distribution/parse-align-content-002.html
imported/w3c/web-platform-tests/css/css-align/content-distribution/parse-align-content-003.html
imported/w3c/web-platform-tests/css/css-align/content-distribution/parse-align-content-004.html
imported/w3c/web-platform-tests/css/css-align/content-distribution/parse-align-content-005.html
imported/w3c/web-platform-tests/css/css-align/content-distribution/parse-justify-content-001.html
imported/w3c/web-platform-tests/css/css-align/content-distribution/parse-justify-content-002.html
imported/w3c/web-platform-tests/css/css-align/content-distribution/parse-justify-content-003.html
imported/w3c/web-platform-tests/css/css-align/content-distribution/parse-justify-content-004.html
imported/w3c/web-platform-tests/css/css-align/content-distribution/parse-justify-content-005.html
imported/w3c/web-platform-tests/css/css-align/content-distribution/place-content-shorthand-001.html
imported/w3c/web-platform-tests/css/css-align/content-distribution/place-content-shorthand-002.html
imported/w3c/web-platform-tests/css/css-align/content-distribution/place-content-shorthand-003.html
imported/w3c/web-platform-tests/css/css-align/content-distribution/place-content-shorthand-004.html
imported/w3c/web-platform-tests/css/css-align/content-distribution/place-content-shorthand-005.html
imported/w3c/web-platform-tests/css/css-align/content-distribution/place-content-shorthand-006.html
imported/w3c/web-platform-tests/css/css-align/default-alignment/justify-items-legacy-001.html
imported/w3c/web-platform-tests/css/css-align/default-alignment/parse-align-items-001.html
imported/w3c/web-platform-tests/css/css-align/default-alignment/parse-align-items-002.html
imported/w3c/web-platform-tests/css/css-align/default-alignment/parse-align-items-003.html
imported/w3c/web-platform-tests/css/css-align/default-alignment/parse-align-items-004.html
imported/w3c/web-platform-tests/css/css-align/default-alignment/parse-align-items-005.html
imported/w3c/web-platform-tests/css/css-align/default-alignment/parse-justify-items-001.html
imported/w3c/web-platform-tests/css/css-align/default-alignment/parse-justify-items-002.html
imported/w3c/web-platform-tests/css/css-align/default-alignment/parse-justify-items-003.html
imported/w3c/web-platform-tests/css/css-align/default-alignment/parse-justify-items-004.html
imported/w3c/web-platform-tests/css/css-align/default-alignment/parse-justify-items-005.html
imported/w3c/web-platform-tests/css/css-align/default-alignment/parse-justify-items-006.html
imported/w3c/web-platform-tests/css/css-align/default-alignment/place-items-shorthand-001.html
imported/w3c/web-platform-tests/css/css-align/default-alignment/place-items-shorthand-002.html
imported/w3c/web-platform-tests/css/css-align/default-alignment/place-items-shorthand-003.html
imported/w3c/web-platform-tests/css/css-align/default-alignment/place-items-shorthand-004.html
imported/w3c/web-platform-tests/css/css-align/default-alignment/place-items-shorthand-005.html
imported/w3c/web-platform-tests/css/css-align/default-alignment/place-items-shorthand-006.html
imported/w3c/web-platform-tests/css/css-align/distribution-values/space-evenly-001.html
imported/w3c/web-platform-tests/css/css-align/self-alignment/parse-align-self-001.html
imported/w3c/web-platform-tests/css/css-align/self-alignment/parse-align-self-002.html
imported/w3c/web-platform-tests/css/css-align/self-alignment/parse-align-self-003.html
imported/w3c/web-platform-tests/css/css-align/self-alignment/parse-align-self-004.html
imported/w3c/web-platform-tests/css/css-align/self-alignment/parse-align-self-005.html
imported/w3c/web-platform-tests/css/css-align/self-alignment/parse-justify-self-001.html
imported/w3c/web-platform-tests/css/css-align/self-alignment/parse-justify-self-002.html
imported/w3c/web-platform-tests/css/css-align/self-alignment/parse-justify-self-003.html
imported/w3c/web-platform-tests/css/css-align/self-alignment/parse-justify-self-004.html
imported/w3c/web-platform-tests/css/css-align/self-alignment/parse-justify-self-005.html
imported/w3c/web-platform-tests/css/css-align/self-alignment/place-self-shorthand-001.html
imported/w3c/web-platform-tests/css/css-align/self-alignment/place-self-shorthand-002.html
imported/w3c/web-platform-tests/css/css-align/self-alignment/place-self-shorthand-003.html
imported/w3c/web-platform-tests/css/css-align/self-alignment/place-self-shorthand-004.html
imported/w3c/web-platform-tests/css/css-align/self-alignment/place-self-shorthand-005.html
imported/w3c/web-platform-tests/css/css-align/self-alignment/place-self-shorthand-006.html

  • css/parser/CSSPropertyParser.cpp:

(WebCore::isLeftOrRightKeyword):
(WebCore::isContentPositionKeyword):
(WebCore::isContentPositionOrLeftOrRightKeyword):
(WebCore::consumeContentDistributionOverflowPosition):
(WebCore::isSelfPositionKeyword):
(WebCore::isSelfPositionOrLeftOrRightKeyword):
(WebCore::consumeSelfPositionOverflowPosition):
(WebCore::consumeAlignItems):
(WebCore::consumeJustifyItems):
(WebCore::CSSPropertyParser::parseSingleValue):
(WebCore::consumeSimplifiedContentPosition):
(WebCore::CSSPropertyParser::consumePlaceContentShorthand):
(WebCore::consumeSimplifiedItemPosition):
(WebCore::CSSPropertyParser::consumePlaceItemsShorthand):
(WebCore::CSSPropertyParser::consumePlaceSelfShorthand):

LayoutTests:

Rebaseline tests because of the removal of the 'left' and right' CSS values.

  • css3/parse-align-content.html:
  • css3/parse-align-items.html:
  • css3/parse-align-self-expected.txt:
  • css3/parse-align-self.html:
  • css3/parse-alignment-of-root-elements-expected.txt:
Location:
trunk
Files:
72 added
1 deleted
19 edited
42 copied

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r227430 r227432  
     12018-01-23  Javier Fernandez  <jfernandez@igalia.com>
     2
     3        [css-align] 'left' and 'right' should parse as invalid in block/cross-axis alignment
     4        https://bugs.webkit.org/show_bug.cgi?id=181792
     5
     6        Reviewed by Antti Koivisto.
     7
     8        Rebaseline tests because of the removal of the 'left' and right' CSS values.
     9
     10        * css3/parse-align-content.html:
     11        * css3/parse-align-items.html:
     12        * css3/parse-align-self-expected.txt:
     13        * css3/parse-align-self.html:
     14        * css3/parse-alignment-of-root-elements-expected.txt:
     15
    1162018-01-23  Simon Fraser  <simon.fraser@apple.com>
    217
  • trunk/LayoutTests/css3/parse-align-content.html

    r227297 r227432  
    4545}
    4646
    47 #alignContentLeft {
    48     align-content: left;
    49 }
    50 
    51 #alignContentRight {
    52     align-content: right;
    53 }
    5447
    5548#alignContentFlexStart {
     
    6760#alignContentUnsafeCenter {
    6861    align-content: unsafe center ;
    69 }
    70 
    71 #alignContentSafeRight {
    72     align-content: safe right;
    73 }
    74 
    75 #alignContentUnsafeLeft {
    76     align-content: unsafe left;
    7762}
    7863
     
    142127<div id="alignContentEnd"></div>
    143128<div id="alignContentCenter"></div>
    144 <div id="alignContentLeft"></div>
    145 <div id="alignContentRight"></div>
    146129<div id="alignContentFlexStart"></div>
    147130<div id="alignContentFlexEnd"></div>
     
    150133<div id="alignContentSafeSelfEnd"></div>
    151134<div id="alignContentSafeSelfStart"></div>
    152 <div id="alignContentSafeRight"></div>
    153 <div id="alignContentUnsafeLeft"></div>
    154135<div id="alignContentUnsafeFlexStart"></div>
    155136<div id="alignContentSafeFlexEnd"></div>
    156137<div id="alignContentEndUnsafe"></div>
    157138<div id="alignContentCenterUnsafe"></div>
    158 <div id="alignContentRightSafe"></div>
    159 <div id="alignContentLeftUnsafe"></div>
    160139<div id="alignContentFlexStartUnsafe"></div>
    161140<div id="alignContentFlexEndSafe"></div>
     
    200179    var alignContentCenter = document.getElementById("alignContentCenter");
    201180    checkValues(alignContentCenter, "alignContent", "align-content", "", "center");
    202     var alignContentLeft = document.getElementById("alignContentLeft");
    203     checkValues(alignContentLeft, "alignContent", "align-content", "", "left");
    204     var alignContentRight = document.getElementById("alignContentRight");
    205     checkValues(alignContentRight, "alignContent", "align-content", "", "right");
    206181    var alignContentFlexStart = document.getElementById("alignContentFlexStart");
    207182    checkValues(alignContentFlexStart, "alignContent", "align-content", "", "flex-start");
     
    212187    var alignContentUnsafeCenter = document.getElementById("alignContentUnsafeCenter");
    213188    checkValues(alignContentUnsafeCenter, "alignContent", "align-content", "", "unsafe center");
    214     var alignContentSafeRight = document.getElementById("alignContentSafeRight");
    215     checkValues(alignContentSafeRight, "alignContent", "align-content", "", "safe right");
    216     var alignContentUnsafeLeft = document.getElementById("alignContentUnsafeLeft");
    217     checkValues(alignContentUnsafeLeft, "alignContent", "align-content", "", "unsafe left");
    218189    var alignContentUnsafeFlexStart = document.getElementById("alignContentUnsafeFlexStart");
    219190    checkValues(alignContentUnsafeFlexStart, "alignContent", "align-content", "", "unsafe flex-start");
     
    227198    var alignContentCenterUnsafe = document.getElementById("alignContentCenterUnsafe");
    228199    checkValues(alignContentCenterUnsafe, "alignContent", "align-content", "", "normal");
    229     var alignContentRightSafe = document.getElementById("alignContentRightSafe");
    230     checkValues(alignContentRightSafe, "alignContent", "align-content", "", "normal");
    231     var alignContentLeftUnsafe = document.getElementById("alignContentLeftUnsafe");
    232     checkValues(alignContentLeftUnsafe, "alignContent", "align-content", "", "normal");
    233200    var alignContentFlexStartUnsafe = document.getElementById("alignContentFlexStartUnsafe");
    234201    checkValues(alignContentFlexStartUnsafe, "alignContent", "align-content", "", "normal");
     
    277244    checkValues(element, "alignContent", "align-content",  "safe flex-end", "safe flex-end");
    278245
    279     element.style.alignContent = " unsafe right";
    280     checkValues(element, "alignContent", "align-content",  "unsafe right", "unsafe right");
     246    element.style.alignContent = "unsafe end";
     247    checkValues(element, "alignContent", "align-content",  "unsafe end", "unsafe end");
    281248
    282249    element.style.justifyContent = "first baseline";
     
    305272    document.body.appendChild(element);
    306273
    307     checkBadValues(element, "alignContent", "align-content",  "");
     274    checkBadValues(element, "alignContent", "align-content",  "left");
     275    checkBadValues(element, "alignContent", "align-content",  "right");
    308276    checkBadValues(element, "alignContent", "align-content",  "auto");
    309277    checkBadValues(element, "alignContent", "align-content",  "unsafe auto");
    310278    checkBadValues(element, "alignContent", "align-content",  "auto safe");
    311279    checkBadValues(element, "alignContent", "align-content",  "auto left");
     280    checkBadValues(element, "alignContent", "align-content",  "safe left");
     281    checkBadValues(element, "alignContent", "align-content",  "unsafe right");
    312282    checkBadValues(element, "alignContent", "align-content",  "baseline safe");
    313283    checkBadValues(element, "alignContent", "align-content",  "last-baseline center");
     
    343313test(function() {
    344314    element.style.display = "grid";
    345     checkInitialValues(element, "alignContent", "align-content", "safe left", "normal");
     315    checkInitialValues(element, "alignContent", "align-content", "safe start", "normal");
    346316}, "Test the value 'initial' for grid containers");
    347317
    348318test(function() {
    349319    element.style.display = "flex";
    350     checkInitialValues(element, "alignContent", "align-content", "unsafe right", "normal");
     320    checkInitialValues(element, "alignContent", "align-content", "unsafe end", "normal");
    351321}, "Test the value 'initial' for flex containers");
    352322
    353323test(function() {
    354324    checkInheritValues("alignContent", "align-content", "end");
    355     checkInheritValues("alignContent", "align-content", "safe left");
     325    checkInheritValues("alignContent", "align-content", "safe start");
    356326    checkInheritValues("alignContent", "align-content", "unsafe center");
    357327}, "Test the value 'inherit'");
  • trunk/LayoutTests/css3/parse-align-items.html

    r227297 r227432  
    4141}
    4242
    43 #alignItemsLeft {
    44     align-items: left;
    45 }
    46 
    47 #alignItemsRight {
    48     align-items: right;
    49 }
    50 
    5143#alignItemsFlexStart {
    5244    align-items: flex-start;
     
    7163#alignItemsSafeSelfStart {
    7264    align-items: safe self-start;
    73 }
    74 
    75 #alignItemsSafeRight {
    76     align-items: safe right;
    77 }
    78 
    79 #alignItemsUnsafeLeft {
    80     align-items: unsafe left;
    8165}
    8266
     
    10084<div id="alignItemsSelfStart"></div>
    10185<div id="alignItemsSelfEnd"></div>
    102 <div id="alignItemsLeft"></div>
    103 <div id="alignItemsRight"></div>
    10486<div id="alignItemsFlexStart"></div>
    10587<div id="alignItemsFlexEnd"></div>
     
    10991<div id="alignItemsSafeSelfEnd"></div>
    11092<div id="alignItemsSafeSelfStart"></div>
    111 <div id="alignItemsSafeRight"></div>
    112 <div id="alignItemsUnsafeLeft"></div>
    11393<div id="alignItemsUnsafeFlexStart"></div>
    11494<div id="alignItemsSafeFlexEnd"></div>
     
    138118    var alignItemsSelfStart = document.getElementById("alignItemsSelfStart");
    139119    checkValues(alignItemsSelfStart, "alignItems", "align-items", "", "self-start");
    140     var alignItemsLeft = document.getElementById("alignItemsLeft");
    141     checkValues(alignItemsLeft, "alignItems", "align-items", "", "left");
    142     var alignItemsRight = document.getElementById("alignItemsRight");
    143     checkValues(alignItemsRight, "alignItems", "align-items", "", "right");
    144120    var alignItemsFlexStart = document.getElementById("alignItemsFlexStart");
    145121    checkValues(alignItemsFlexStart, "alignItems", "align-items", "", "flex-start");
     
    155131    var alignItemsSafeSelfStart = document.getElementById("alignItemsSafeSelfStart");
    156132    checkValues(alignItemsSafeSelfStart, "alignItems", "align-items", "", "safe self-start");
    157     var alignItemsSafeRight = document.getElementById("alignItemsSafeRight");
    158     checkValues(alignItemsSafeRight, "alignItems", "align-items", "", "safe right");
    159     var alignItemsUnsafeLeft = document.getElementById("alignItemsUnsafeLeft");
    160     checkValues(alignItemsUnsafeLeft, "alignItems", "align-items", "", "unsafe left");
    161133    var alignItemsUnsafeFlexStart = document.getElementById("alignItemsUnsafeFlexStart");
    162134    checkValues(alignItemsUnsafeFlexStart, "alignItems", "align-items", "", "unsafe flex-start");
     
    183155    checkValues(element, "alignItems", "align-items",  "safe flex-end", "safe flex-end");
    184156
    185     element.style.alignItems = "right";
    186     checkValues(element, "alignItems", "align-items",  "right", "right");
    187 
    188157    element.style.alignItems = "center";
    189158    checkValues(element, "alignItems", "align-items",  "center", "center");
     
    217186
    218187    checkBadValues(element, "alignItems", "align-items",  "auto");
     188    checkBadValues(element, "alignItems", "align-items",  "left");
     189    checkBadValues(element, "alignItems", "align-items",  "right");
    219190    checkBadValues(element, "alignItems", "align-items",  "unsafe auto");
    220191    checkBadValues(element, "alignItems", "align-items",  "auto safe");
    221192    checkBadValues(element, "alignItems", "align-items",  "auto left");
    222     checkBadValues(element, "alignItems", "align-items",  "normal unsafe");
     193    checkBadValues(element, "alignItems", "align-items",  "safe left");
     194    checkBadValues(element, "alignItems", "align-items",  "unsafe right");
     195    checkBadValues(element, "alignItems", "align-items",  "unsafe normal");
    223196    checkBadValues(element, "alignItems", "align-items",  "normal stretch");
    224197    checkBadValues(element, "alignItems", "align-items",  "baseline normal");
     
    259232test(function() {
    260233    element.style.display = "grid";
    261     checkInitialValues(element, "alignItems", "align-items", "safe left", "normal");
     234    checkInitialValues(element, "alignItems", "align-items", "safe start", "normal");
    262235}, "Test the value 'initial' for grid containers");
    263236
    264237test(function() {
    265238    element.style.display = "flex";
    266     checkInitialValues(element, "alignItems", "align-items", "unsafe right", "normal");
     239    checkInitialValues(element, "alignItems", "align-items", "unsafe end", "normal");
    267240}, "Test the value 'initial' for flex containers");
    268241
    269242test(function() {
    270243    checkInheritValues("alignItems", "align-items", "end");
    271     checkInheritValues("alignItems", "align-items", "safe left");
     244    checkInheritValues("alignItems", "align-items", "safe start");
    272245    checkInheritValues("alignItems", "align-items", "unsafe center");
    273246}, "Test the value 'inherit'");
  • trunk/LayoutTests/css3/parse-align-self-expected.txt

    r214564 r227432  
    1212PASS Test the value 'initial' for positioned elements
    1313PASS Test the value 'initial' for positioned elements in grid containers
    14 PASS Test the value 'initial' for positioned elements in grid containers
     14PASS Test the value 'initial' for positioned elements in flex containers
    1515PASS Test the value 'inherit'
    1616
  • trunk/LayoutTests/css3/parse-align-self.html

    r227297 r227432  
    4141}
    4242
    43 #alignSelfLeft {
    44     align-self: left;
    45 }
    46 
    47 #alignSelfRight {
    48     align-self: right;
    49 }
    50 
    5143#alignSelfFlexStart {
    5244    align-self: flex-start;
     
    7163#alignSelfSafeSelfStart {
    7264    align-self: safe self-start;
    73 }
    74 
    75 #alignSelfSafeRight {
    76     align-self: safe right;
    77 }
    78 
    79 #alignSelfUnsafeLeft {
    80     align-self: unsafe left;
    8165}
    8266
     
    10084<div id="alignSelfSelfStart"></div>
    10185<div id="alignSelfSelfEnd"></div>
    102 <div id="alignSelfLeft"></div>
    103 <div id="alignSelfRight"></div>
    10486<div id="alignSelfFlexStart"></div>
    10587<div id="alignSelfFlexEnd"></div>
     
    10991<div id="alignSelfSafeSelfEnd"></div>
    11092<div id="alignSelfSafeSelfStart"></div>
    111 <div id="alignSelfSafeRight"></div>
    112 <div id="alignSelfUnsafeLeft"></div>
    11393<div id="alignSelfUnsafeFlexStart"></div>
    11494<div id="alignSelfSafeFlexEnd"></div>
     
    138118    var alignSelfSelfStart = document.getElementById("alignSelfSelfStart");
    139119    checkValues(alignSelfSelfStart, "alignSelf", "align-self", "", "self-start");
    140     var alignSelfLeft = document.getElementById("alignSelfLeft");
    141     checkValues(alignSelfLeft, "alignSelf", "align-self", "", "left");
    142     var alignSelfRight = document.getElementById("alignSelfRight");
    143     checkValues(alignSelfRight, "alignSelf", "align-self", "", "right");
    144120    var alignSelfFlexStart = document.getElementById("alignSelfFlexStart");
    145121    checkValues(alignSelfFlexStart, "alignSelf", "align-self", "", "flex-start");
     
    155131    var alignSelfSafeSelfStart = document.getElementById("alignSelfSafeSelfStart");
    156132    checkValues(alignSelfSafeSelfStart, "alignSelf", "align-self", "", "safe self-start");
    157     var alignSelfSafeRight = document.getElementById("alignSelfSafeRight");
    158     checkValues(alignSelfSafeRight, "alignSelf", "align-self", "", "safe right");
    159     var alignSelfUnsafeLeft = document.getElementById("alignSelfUnsafeLeft");
    160     checkValues(alignSelfUnsafeLeft, "alignSelf", "align-self", "", "unsafe left");
    161133    var alignSelfUnsafeFlexStart = document.getElementById("alignSelfUnsafeFlexStart");
    162134    checkValues(alignSelfUnsafeFlexStart, "alignSelf", "align-self", "", "unsafe flex-start");
     
    185157    checkValues(element, "alignSelf", "align-self",  "safe flex-end", "safe flex-end");
    186158
    187     element.style.alignSelf = "right";
    188     checkValues(element, "alignSelf", "align-self",  "right", "right");
    189 
    190159    element.style.alignSelf = "center";
    191160    checkValues(element, "alignSelf", "align-self",  "center", "center");
     
    223192    document.body.appendChild(container);
    224193
    225     checkBadValues(element, "alignSelf", "align-self",  "auto safe");
     194    checkBadValues(element, "alignSelf", "align-self",  "left");
     195    checkBadValues(element, "alignSelf", "align-self",  "right");
     196    checkBadValues(element, "alignSelf", "align-self",  "safe auto");
    226197    checkBadValues(element, "alignSelf", "align-self",  "auto left");
     198    checkBadValues(element, "alignSelf", "align-self",  "safe right");
    227199    checkBadValues(element, "alignSelf", "align-self",  "normal unsafe");
    228200    checkBadValues(element, "alignSelf", "align-self",  "normal stretch");
     
    264236test(function() {
    265237    container.style.display = "grid";
    266     checkInitialValues(element, "alignSelf", "align-self", "safe left", "auto");
     238    checkInitialValues(element, "alignSelf", "align-self", "safe start", "auto");
    267239}, "Test the value 'initial' for grid containers");
    268240
    269241test(function() {
    270242    container.style.display = "flex";
    271     checkInitialValues(element, "alignSelf", "align-self", "unsafe right", "auto");
     243    checkInitialValues(element, "alignSelf", "align-self", "unsafe end", "auto");
    272244}, "Test the value 'initial' for flex containers");
    273245
     
    275247    container.style.display = "";
    276248    element.style.position = "absolute";
    277     checkInitialValues(element, "alignSelf", "align-self", "left", "auto");
     249    checkInitialValues(element, "alignSelf", "align-self", "start", "auto");
    278250}, "Test the value 'initial' for positioned elements");
    279251
     
    281253    container.style.display = "grid";
    282254    element.style.position = "absolute";
    283     checkInitialValues(element, "alignSelf", "align-self", "right", "auto");
     255    checkInitialValues(element, "alignSelf", "align-self", "end", "auto");
    284256}, "Test the value 'initial' for positioned elements in grid containers");
    285257
     
    288260    element.style.position = "absolute";
    289261    checkInitialValues(element, "alignSelf", "align-self", "end", "auto");
    290 }, "Test the value 'initial' for positioned elements in grid containers");
     262}, "Test the value 'initial' for positioned elements in flex containers");
    291263
    292264test(function() {
    293265    checkInheritValues("alignSelf", "align-self", "end");
    294     checkInheritValues("alignSelf", "align-self", "safe left");
     266    checkInheritValues("alignSelf", "align-self", "safe start");
    295267    checkInheritValues("alignSelf", "align-self", "unsafe center");
    296268}, "Test the value 'inherit'");
  • trunk/LayoutTests/css3/parse-alignment-of-root-elements-expected.txt

    r219315 r227432  
    1717PASS Check out how the DOM's root element justify-items's value with 'legacy' keyword is used to resolve any descendant's justify-items 'auto' values.
    1818PASS Check out how the DOM's root element recomputes its descendant's style when 'legacy' keyword is removed from its justify-items value.
    19 PASS Shadow Node inherits from ShadowHost to resolve the 'auto' values for align-self.
     19FAIL Shadow Node inherits from ShadowHost to resolve the 'auto' values for align-self. assert_equals: alignItems specified value is not what it should. expected "right" but got ""
    2020PASS Shadow Node inherits from ShadowHost to resolve the 'auto' values for justify-self.
    2121PASS Check out how the 'legacy' keyword in justify-items propagates from the DOM Tree to the Shadow Node.
    22 PASS Check out how align-self uses the 'shadowHost' as 'slotted' element's parent while 'slot' is not assigned.
    23 PASS Check out how justify-self uses the 'shadowHost' as 'slotted' element's parent while 'slot' is not assigned.
    24 PASS Check out how the 'legacy' keyword in justify-items affects the 'slotted' elements while 'slot' is not assigned.
    25 PASS Check out how align-self uses the 'slot' element's parent (Shadow Node) as 'slotted' element' s parent after the 'slot' is assigned.
     22FAIL Check out how align-self uses the 'shadowHost' as 'slotted' element's parent while 'slot' is not assigned. assert_equals: alignItems specified value is not what it should. expected "left" but got ""
     23FAIL Check out how justify-self uses the 'shadowHost' as 'slotted' element's parent while 'slot' is not assigned. assert_equals: justifyItems is not what is should. expected "normal" but got "left"
     24FAIL Check out how the 'legacy' keyword in justify-items affects the 'slotted' elements while 'slot' is not assigned. assert_equals: justifyItems is not what is should. expected "normal" but got "left"
     25FAIL Check out how align-self uses the 'slot' element's parent (Shadow Node) as 'slotted' element' s parent after the 'slot' is assigned. assert_equals: alignItems specified value is not what it should. expected "left" but got ""
    2626PASS Check out how justify-self uses the 'slot' element's parent (Shadow Node) as 'slotted' element' s parent after the 'slot' is assigned.
    27 PASS Check out how the 'legacy' keyword affects the 'slotted' elements after the 'slot' is assigned.
    28 PASS The 'slot' element should not use its parent inside the ShadowDOM tree to resolve the align-self 'auto' values because Blink does not support slots in the flat tree.
     27FAIL Check out how the 'legacy' keyword affects the 'slotted' elements after the 'slot' is assigned. assert_equals: justifyItems is not what is should. expected "normal" but got "legacy center"
     28FAIL The 'slot' element should not use its parent inside the ShadowDOM tree to resolve the align-self 'auto' values because Blink does not support slots in the flat tree. assert_equals: alignItems specified value is not what it should. expected "left" but got ""
    2929PASS The 'slot' element should not use its parent inside the ShadowDOM tree to resolve the justify-self 'auto' values because Blink does not support slots in the flat tree.
    3030
  • trunk/LayoutTests/fast/css-grid-layout/grid-align-justify-margin-border-padding-expected.txt

    r183399 r227432  
    44direction: LTR | align-items: 'auto' | justify-items: 'auto'
    55
    6 PASS
    76border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    87direction: LTR | align-items: 'center' | justify-items: 'center'
    98
    10 PASS
    119border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    1210direction: LTR | align-items: 'end' | justify-items: 'end'
    1311
    14 PASS
    1512border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    16 direction: LTR | align-items: 'left' | justify-items: 'left'
     13direction: LTR | align-items: 'start' | justify-items: 'left'
    1714
    18 PASS
    1915border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    20 direction: LTR | align-items: 'right' | justify-items: 'right'
     16direction: LTR | align-items: 'start' | justify-items: 'right'
    2117
    22 PASS
    2318border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    2419direction: LTR (ortho) | align-items: 'self-start' | justify-items: 'self-start'
    2520
    26 PASS
    2721border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    2822direction: LTR (ortho) | align-items: 'self-end' | justify-items: 'self-end'
    2923
    30 PASS
    3124border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    3225direction: LTR (parall) | align-items: 'self-start' | justify-items: 'self-start'
    3326
    34 PASS
    3527border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    3628direction: LTR - (parall) | align-items: 'self-end' | justify-items: 'self-end'
    3729
    38 PASS
    3930border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    4031direction: RTL | align-items: 'auto' | justify-items: 'auto'
    4132
    42 PASS
    4333border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    4434direction: RTL | align-items: 'center' | justify-items: 'center'
    4535
    46 PASS
    4736border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    4837direction: RTL | align-items: 'end' | justify-items: 'end'
    4938
    50 PASS
    5139border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    52 direction: RTL | align-items: 'left' | justify-items: 'left'
     40direction: RTL | align-items: 'start' | justify-items: 'left'
    5341
    54 PASS
    5542border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    56 direction: RTL | align-items: 'right' | justify-items: 'right'
     43direction: RTL | align-items: 'start' | justify-items: 'right'
    5744
    58 PASS
    5945border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    6046direction: RTL (ortho) | align-items: 'self-start' | justify-items: 'self-start'
    6147
    62 PASS
    6348border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    6449direction: RTL (ortho) | align-items: 'self-end' | justify-items: 'self-end'
    6550
    66 PASS
    6751border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    6852direction: RTL (parall) | align-items: 'self-start' | justify-items: 'self-start'
    6953
    70 PASS
    7154border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    7255direction: RTL (parall) | align-items: 'self-end' | justify-items: 'self-end'
    7356
    74 PASS
     57
     58PASS .grid 1
     59PASS .grid 2
     60PASS .grid 3
     61PASS .grid 4
     62PASS .grid 5
     63PASS .grid 6
     64PASS .grid 7
     65PASS .grid 8
     66PASS .grid 9
     67PASS .grid 10
     68PASS .grid 11
     69PASS .grid 12
     70PASS .grid 13
     71PASS .grid 14
     72PASS .grid 15
     73PASS .grid 16
     74PASS .grid 17
     75PASS .grid 18
     76
  • trunk/LayoutTests/fast/css-grid-layout/grid-align-justify-margin-border-padding-vertical-lr-expected.txt

    r183399 r227432  
    44direction: LTR | align-items: 'auto' | justify-items: 'auto'
    55
    6 PASS
    76border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    87direction: LTR | align-items: 'center' | justify-items: 'center'
    98
    10 PASS
    119border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    1210direction: LTR | align-items: 'end' | justify-items: 'end'
    1311
    14 PASS
    1512border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    1613direction: LTR | align-items: 'left' | justify-items: 'left'
    1714
    18 PASS
    1915border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    20 direction: LTR | align-items: 'right' | justify-items: 'right'
     16direction: LTR | align-items: 'start' | justify-items: 'right'
    2117
    22 PASS
    2318border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    2419direction: LTR (ortho) | align-items: 'self-start' | justify-items: 'self-start'
    2520
    26 PASS
    2721border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    2822direction: LTR (ortho) | align-items: 'self-end' | justify-items: 'self-end'
    2923
    30 PASS
    3124border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    3225direction: LTR (parall) | align-items: 'self-start' | justify-items: 'self-start'
    3326
    34 PASS
    3527border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    3628direction: LTR (parall) | align-items: 'self-end' | justify-items: 'self-end'
    3729
    38 PASS
    3930border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    4031direction: RTL | align-items: 'auto' | justify-items: 'auto'
    4132
    42 PASS
    4333border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    4434direction: RTL | align-items: 'center' | justify-items: 'center'
    4535
    46 PASS
    4736border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    4837direction: RTL | align-items: 'end' | justify-items: 'end'
    4938
    50 PASS
    5139border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    52 direction: RTL | align-items: 'left' | justify-items: 'left'
     40direction: RTL | align-items: 'start' | justify-items: 'left'
    5341
    54 PASS
    5542border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    56 direction: RTL | align-items: 'right' | justify-items: 'right'
     43direction: RTL | align-items: 'start' | justify-items: 'right'
    5744
    58 PASS
    5945border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    6046direction: RTL (ortho) | align-items: 'self-start' | justify-items: 'self-start'
    6147
    62 PASS
    6348border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    6449direction: RTL (ortho) | align-items: 'self-end' | justify-items: 'self-end'
    6550
    66 PASS
    6751border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    6852direction: RTL (parall) | align-items: 'self-start' | justify-items: 'self-start'
    6953
    70 PASS
    7154border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    7255direction: RTL (parall) | align-items: 'self-end' | justify-items: 'self-end'
    7356
    74 PASS
     57
     58PASS .grid 1
     59PASS .grid 2
     60PASS .grid 3
     61PASS .grid 4
     62PASS .grid 5
     63PASS .grid 6
     64PASS .grid 7
     65PASS .grid 8
     66PASS .grid 9
     67PASS .grid 10
     68PASS .grid 11
     69PASS .grid 12
     70PASS .grid 13
     71PASS .grid 14
     72PASS .grid 15
     73PASS .grid 16
     74PASS .grid 17
     75PASS .grid 18
     76
  • trunk/LayoutTests/fast/css-grid-layout/grid-align-justify-margin-border-padding-vertical-lr.html

    r200510 r227432  
    55<link href="resources/grid.css" rel="stylesheet">
    66<link href="resources/grid-alignment.css" rel="stylesheet">
    7 <script src="../../resources/check-layout.js"></script>
     7<script src="../../resources/testharness.js"></script>
     8<script src="../../resources/testharnessreport.js"></script>
     9<script src="../../resources/check-layout-th.js"></script>
    810<style>
    911body {
     
    7880<div>
    7981    <p>border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px<br>
    80         direction: LTR | align-items: 'right' | justify-items: 'right'</p>
    81     <div class="grid fit-content verticalLR itemsRight" data-expected-width="475" data-expected-height="350">
     82        direction: LTR | align-items: 'start' | justify-items: 'right'</p>
     83    <div class="grid fit-content verticalLR alignItemsStart justifyItemsRight" data-expected-width="475" data-expected-height="350">
    8284        <div class="cell firstRowFirstColumn"     data-offset-x="46"  data-offset-y="58" data-expected-width="20"  data-expected-height="40"></div>
    8385        <div class="selfStretch firstRowSecondColumn" data-offset-x="30"  data-offset-y="110" data-expected-width="200" data-expected-height="200"></div>
     
    167169<div>
    168170    <p>border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px<br>
    169         direction: RTL | align-items: 'left' | justify-items: 'left'</p>
    170     <div class="grid fit-content verticalLR directionRTL itemsLeft"      data-expected-width="475" data-expected-height="350">
     171        direction: RTL | align-items: 'start' | justify-items: 'left'</p>
     172    <div class="grid fit-content verticalLR directionRTL alignItemsStart justifyItemsLeft"      data-expected-width="475" data-expected-height="350">
    171173        <div class="cell firstRowFirstColumn"     data-offset-x="46"  data-offset-y="214" data-expected-width="20"  data-expected-height="40"></div>
    172174        <div class="selfStretch firstRowSecondColumn" data-offset-x="30"  data-offset-y="10"  data-expected-width="200" data-expected-height="200"></div>
     
    178180<div>
    179181    <p>border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px<br>
    180         direction: RTL | align-items: 'right' | justify-items: 'right'</p>
    181     <div class="grid fit-content verticalLR directionRTL itemsRight"     data-expected-width="475" data-expected-height="350">
     182        direction: RTL | align-items: 'start' | justify-items: 'right'</p>
     183    <div class="grid fit-content verticalLR directionRTL alignItemsStart justifyItemsRight"     data-expected-width="475" data-expected-height="350">
    182184        <div class="cell firstRowFirstColumn"     data-offset-x="46"  data-offset-y="258" data-expected-width="20"  data-expected-height="40"></div>
    183185        <div class="selfStretch firstRowSecondColumn" data-offset-x="30"  data-offset-y="10"  data-expected-width="200" data-expected-height="200"></div>
  • trunk/LayoutTests/fast/css-grid-layout/grid-align-justify-margin-border-padding-vertical-rl-expected.txt

    r183399 r227432  
    44direction: LTR | align-items: 'auto' | justify-items: 'auto'
    55
    6 PASS
    76border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    87direction: LTR | align-items: 'center' | justify-items: 'center'
    98
    10 PASS
    119border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    1210direction: LTR | align-items: 'end' | justify-items: 'end'
    1311
    14 PASS
    1512border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    1613direction: LTR | align-items: 'left' | justify-items: 'left'
    1714
    18 PASS
    1915border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    20 direction: LTR | align-items: 'right' | justify-items: 'right'
     16direction: LTR | align-items: 'start' | justify-items: 'right'
    2117
    22 PASS
    2318border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    2419direction: LTR (ortho) | align-items: 'self-start' | justify-items: 'self-start'
    2520
    26 PASS
    2721border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    2822direction: LTR (ortho) | align-items: 'self-end' | justify-items: 'self-end'
    2923
    30 PASS
    3124border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    3225direction: LTR (parall) | align-items: 'self-start' | justify-items: 'self-start'
    3326
    34 PASS
    3527border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    3628direction: LTR (parall) | align-items: 'self-end' | justify-items: 'self-end'
    3729
    38 PASS
    3930border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    4031direction: RTL | align-items: 'auto' | justify-items: 'auto'
    4132
    42 PASS
    4333border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    4434direction: RTL | align-items: 'center' | justify-items: 'center'
    4535
    46 PASS
    4736border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    4837direction: RTL | align-items: 'end' | justify-items: 'end'
    4938
    50 PASS
    5139border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    52 direction: RTL | align-items: 'left' | justify-items: 'left'
     40direction: RTL | align-items: 'start' | justify-items: 'left'
    5341
    54 PASS
    5542border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    56 direction: RTL | align-items: 'right' | justify-items: 'right'
     43direction: RTL | align-items: 'start' | justify-items: 'right'
    5744
    58 PASS
    5945border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    6046direction: RTL (ortho) | align-items: 'self-start' | justify-items: 'self-start'
    6147
    62 PASS
    6348border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    6449direction: RTL (ortho) | align-items: 'self-end' | justify-items: 'self-end'
    6550
    66 PASS
    6751border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    6852direction: RTL (parall) | align-items: 'self-start' | justify-items: 'self-start'
    6953
    70 PASS
    7154border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    7255direction: RTL (parall) | align-items: 'self-end' | justify-items: 'self-end'
    7356
    74 PASS
     57
     58PASS .grid 1
     59PASS .grid 2
     60PASS .grid 3
     61PASS .grid 4
     62PASS .grid 5
     63PASS .grid 6
     64PASS .grid 7
     65PASS .grid 8
     66PASS .grid 9
     67PASS .grid 10
     68PASS .grid 11
     69PASS .grid 12
     70PASS .grid 13
     71PASS .grid 14
     72PASS .grid 15
     73PASS .grid 16
     74PASS .grid 17
     75PASS .grid 18
     76
  • trunk/LayoutTests/fast/css-grid-layout/grid-align-justify-margin-border-padding-vertical-rl.html

    r200510 r227432  
    55<link href="resources/grid.css" rel="stylesheet">
    66<link href="resources/grid-alignment.css" rel="stylesheet">
    7 <script src="../../resources/check-layout.js"></script>
     7<script src="../../resources/testharness.js"></script>
     8<script src="../../resources/testharnessreport.js"></script>
     9<script src="../../resources/check-layout-th.js"></script>
    810<style>
    911body {
     
    7880<div>
    7981    <p>border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px<br>
    80         direction: LTR | align-items: 'right' | justify-items: 'right'</p>
    81     <div class="grid fit-content verticalRL itemsRight" data-expected-width="475" data-expected-height="350">
     82        direction: LTR | align-items: 'start' | justify-items: 'right'</p>
     83    <div class="grid fit-content verticalRL alignItemsStart justifyItemsRight" data-expected-width="475" data-expected-height="350">
    8284        <div class="cell firstRowFirstColumn"     data-offset-x="402" data-offset-y="58" data-expected-width="20"  data-expected-height="40"></div>
    8385        <div class="selfStretch firstRowSecondColumn" data-offset-x="230" data-offset-y="110" data-expected-width="200" data-expected-height="200"></div>
     
    168170<div>
    169171    <p>border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px<br>
    170         direction: RTL | align-items: 'left' | justify-items: 'left'</p>
    171     <div class="grid fit-content verticalRL directionRTL itemsLeft"      data-expected-width="475" data-expected-height="350">
     172        direction: RTL | align-items: 'start' | justify-items: 'left'</p>
     173    <div class="grid fit-content verticalRL directionRTL alignItemsStart justifyItemsLeft"      data-expected-width="475" data-expected-height="350">
    172174        <div class="cell firstRowFirstColumn"     data-offset-x="402" data-offset-y="214" data-expected-width="20"  data-expected-height="40"></div>
    173175        <div class="selfStretch firstRowSecondColumn" data-offset-x="230" data-offset-y="10"  data-expected-width="200" data-expected-height="200"></div>
     
    179181<div>
    180182    <p>border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px<br>
    181         direction: RTL | align-items: 'right' | justify-items: 'right'</p>
    182     <div class="grid fit-content verticalRL directionRTL itemsRight"     data-expected-width="475" data-expected-height="350">
     183        direction: RTL | align-items: 'start' | justify-items: 'right'</p>
     184    <div class="grid fit-content verticalRL directionRTL alignItemsStart justifyItemsRight"     data-expected-width="475" data-expected-height="350">
    183185        <div class="cell firstRowFirstColumn"     data-offset-x="402" data-offset-y="258" data-expected-width="20"  data-expected-height="40"></div>
    184186        <div class="selfStretch firstRowSecondColumn" data-offset-x="230" data-offset-y="10"  data-expected-width="200" data-expected-height="200"></div>
  • trunk/LayoutTests/fast/css-grid-layout/grid-align-justify-margin-border-padding.html

    r200510 r227432  
    55<link href="resources/grid.css" rel="stylesheet">
    66<link href="resources/grid-alignment.css" rel="stylesheet">
    7 <script src="../../resources/check-layout.js"></script>
     7<script src="../../resources/testharness.js"></script>
     8<script src="../../resources/testharnessreport.js"></script>
     9<script src="../../resources/check-layout-th.js"></script>
    810<style>
    911body {
     
    6769<div>
    6870    <p>border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px<br>
    69         direction: LTR | align-items: 'left' | justify-items: 'left'</p>
    70     <div class="grid fit-content itemsLeft" data-expected-width="375" data-expected-height="450">
     71        direction: LTR | align-items: 'start' | justify-items: 'left'</p>
     72    <div class="grid fit-content alignItemsStart justifyItemsLeft" data-expected-width="375" data-expected-height="450">
    7173        <div class="cell firstRowFirstColumn"     data-offset-x="46"  data-offset-y="14"  data-expected-width="20"  data-expected-height="40"></div>
    7274        <div class="selfStretch firstRowSecondColumn" data-offset-x="130" data-offset-y="10"  data-expected-width="200" data-expected-height="200"></div>
     
    7880<div>
    7981    <p>border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px<br>
    80         direction: LTR | align-items: 'right' | justify-items: 'right'</p>
    81     <div class="grid fit-content itemsRight" data-expected-width="375" data-expected-height="450">
     82        direction: LTR | align-items: 'start' | justify-items: 'right'</p>
     83    <div class="grid fit-content alignItemsStart justifyItemsRight" data-expected-width="375" data-expected-height="450">
    8284        <div class="cell firstRowFirstColumn"     data-offset-x="102" data-offset-y="14"  data-expected-width="20"  data-expected-height="40"></div>
    8385        <div class="selfStretch firstRowSecondColumn" data-offset-x="130" data-offset-y="10"  data-expected-width="200" data-expected-height="200"></div>
     
    167169<div>
    168170    <p>border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px<br>
    169         direction: RTL | align-items: 'left' | justify-items: 'left'</p>
    170     <div class="grid fit-content directionRTL itemsLeft"      data-expected-width="375" data-expected-height="450">
     171        direction: RTL | align-items: 'start' | justify-items: 'left'</p>
     172    <div class="grid fit-content directionRTL alignItemsStart justifyItemsLeft"      data-expected-width="375" data-expected-height="450">
    171173        <div class="cell firstRowFirstColumn"     data-offset-x="246" data-offset-y="14"  data-expected-width="20"  data-expected-height="40"></div>
    172174        <div class="selfStretch firstRowSecondColumn" data-offset-x="30"  data-offset-y="10"  data-expected-width="200" data-expected-height="200"></div>
     
    178180<div>
    179181    <p>border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px<br>
    180         direction: RTL | align-items: 'right' | justify-items: 'right'</p>
    181     <div class="grid fit-content directionRTL itemsRight"     data-expected-width="375" data-expected-height="450">
     182        direction: RTL | align-items: 'start' | justify-items: 'right'</p>
     183    <div class="grid fit-content directionRTL alignItemsStart justifytemsRight"     data-expected-width="375" data-expected-height="450">
    182184        <div class="cell firstRowFirstColumn"     data-offset-x="302" data-offset-y="14"  data-expected-width="20"  data-expected-height="40"></div>
    183185        <div class="selfStretch firstRowSecondColumn" data-offset-x="30"  data-offset-y="10"  data-expected-width="200" data-expected-height="200"></div>
  • trunk/LayoutTests/fast/css-grid-layout/grid-item-auto-sized-align-justify-margin-border-padding-expected.txt

    r192573 r227432  
    44direction: LTR | align-items: 'auto' | justify-items: 'auto'
    55
    6 PASS
    76border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    87direction: LTR | align-items: 'center' | justify-items: 'center'
    98
    10 PASS
    119border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    1210direction: LTR | align-items: 'end' | justify-items: 'end'
    1311
    14 PASS
    1512border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    16 direction: LTR | align-items: 'left' | justify-items: 'left'
     13direction: LTR | align-items: 'start' | justify-items: 'left'
    1714
    18 PASS
    1915border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    20 direction: LTR | align-items: 'right' | justify-items: 'right'
     16direction: LTR | align-items: 'start' | justify-items: 'right'
    2117
    22 PASS
    2318border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    2419direction: LTR (ortho) | align-items: 'self-start' | justify-items: 'self-start'
    2520
    26 PASS
    2721border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    2822direction: LTR (ortho) | align-items: 'self-end' | justify-items: 'self-end'
    2923
    30 PASS
    3124border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    3225direction: LTR (parall) | align-items: 'self-start' | justify-items: 'self-start'
    3326
    34 PASS
    3527border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    3628direction: LTR - (parall) | align-items: 'self-end' | justify-items: 'self-end'
    3729
    38 PASS
    3930border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    4031direction: RTL | align-items: 'auto' | justify-items: 'auto'
    4132
    42 PASS
    4333border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    4434direction: RTL | align-items: 'center' | justify-items: 'center'
    4535
    46 PASS
    4736border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    4837direction: RTL | align-items: 'end' | justify-items: 'end'
    4938
    50 PASS
    5139border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    52 direction: RTL | align-items: 'left' | justify-items: 'left'
     40direction: RTL | align-items: 'start' | justify-items: 'left'
    5341
    54 PASS
    5542border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    56 direction: RTL | align-items: 'right' | justify-items: 'right'
     43direction: RTL | align-items: 'start' | justify-items: 'right'
    5744
    58 PASS
    5945border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    6046direction: RTL (ortho) | align-items: 'self-start' | justify-items: 'self-start'
    6147
    62 PASS
    6348border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    6449direction: RTL (ortho) | align-items: 'self-end' | justify-items: 'self-end'
    6550
    66 PASS
    6751border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    6852direction: RTL (parall) | align-items: 'self-start' | justify-items: 'self-start'
    6953
    70 PASS
    7154border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px
    7255direction: RTL (parall) | align-items: 'self-end' | justify-items: 'self-end'
    7356
    74 PASS
     57
     58PASS .grid 1
     59PASS .grid 2
     60PASS .grid 3
     61PASS .grid 4
     62PASS .grid 5
     63PASS .grid 6
     64PASS .grid 7
     65PASS .grid 8
     66PASS .grid 9
     67PASS .grid 10
     68PASS .grid 11
     69PASS .grid 12
     70PASS .grid 13
     71PASS .grid 14
     72PASS .grid 15
     73PASS .grid 16
     74PASS .grid 17
     75PASS .grid 18
     76
  • trunk/LayoutTests/fast/css-grid-layout/grid-item-auto-sized-align-justify-margin-border-padding.html

    r200510 r227432  
    11<!DOCTYPE html>
     2<html>
     3<head>
    24<link href="../css-intrinsic-dimensions/resources/width-keyword-classes.css" rel="stylesheet">
    35<link href="resources/grid.css" rel="stylesheet">
    46<link href="resources/grid-alignment.css" rel="stylesheet">
    5 <script src="../../resources/check-layout.js"></script>
     7<script src="../../resources/testharness.js"></script>
     8<script src="../../resources/testharnessreport.js"></script>
     9<script src="../../resources/check-layout-th.js"></script>
    610<style>
    711body {
     
    2832}
    2933</style>
     34</head>
    3035<body onload="checkLayout('.grid')">
    3136
     
    6772<div>
    6873    <p>border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px<br>
    69         direction: LTR | align-items: 'left' | justify-items: 'left'</p>
    70     <div class="grid fit-content itemsLeft" data-expected-width="375" data-expected-height="450">
     74        direction: LTR | align-items: 'start' | justify-items: 'left'</p>
     75    <div class="grid fit-content alignItemsStart justifyItemsLeft" data-expected-width="375" data-expected-height="450">
    7176        <div class="cell firstRowFirstColumn"     data-offset-x="46"  data-offset-y="14"  data-expected-width="20"  data-expected-height="40"><div class="content"></div></div>
    7277        <div class="selfStretch firstRowSecondColumn" data-offset-x="130" data-offset-y="10"  data-expected-width="200" data-expected-height="200"><div class="content"></div></div>
     
    7883<div>
    7984    <p>border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px<br>
    80         direction: LTR | align-items: 'right' | justify-items: 'right'</p>
    81     <div class="grid fit-content itemsRight" data-expected-width="375" data-expected-height="450">
     85        direction: LTR | align-items: 'start' | justify-items: 'right'</p>
     86    <div class="grid fit-content alignItemsStart justifyItemsRight" data-expected-width="375" data-expected-height="450">
    8287        <div class="cell firstRowFirstColumn"     data-offset-x="102" data-offset-y="14"  data-expected-width="20"  data-expected-height="40"><div class="content"></div></div>
    8388        <div class="selfStretch firstRowSecondColumn" data-offset-x="130" data-offset-y="10"  data-expected-width="200" data-expected-height="200"><div class="content"></div></div>
     
    167172<div>
    168173    <p>border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px<br>
    169         direction: RTL | align-items: 'left' | justify-items: 'left'</p>
    170     <div class="grid fit-content directionRTL itemsLeft"      data-expected-width="375" data-expected-height="450">
     174        direction: RTL | align-items: 'start' | justify-items: 'left'</p>
     175    <div class="grid fit-content directionRTL alignItemsStart justifyItemsLeft"      data-expected-width="375" data-expected-height="450">
    171176        <div class="cell firstRowFirstColumn"     data-offset-x="246" data-offset-y="14"  data-expected-width="20"  data-expected-height="40"><div class="content"></div></div>
    172177        <div class="selfStretch firstRowSecondColumn" data-offset-x="30"  data-offset-y="10"  data-expected-width="200" data-expected-height="200"><div class="content"></div></div>
     
    178183<div>
    179184    <p>border: 5px 10px 15px 20px | padding: 10px 15px 20px 30px | margin: 4px 8px 12px 16px<br>
    180         direction: RTL | align-items: 'right' | justify-items: 'right'</p>
    181     <div class="grid fit-content directionRTL itemsRight"     data-expected-width="375" data-expected-height="450">
     185        direction: RTL | align-items: 'start' | justify-items: 'right'</p>
     186    <div class="grid fit-content directionRTL alignItemsStart justifyItemsRight"     data-expected-width="375" data-expected-height="450">
    182187        <div class="cell firstRowFirstColumn"     data-offset-x="302" data-offset-y="14"  data-expected-width="20"  data-expected-height="40"><div class="content"></div></div>
    183188        <div class="selfStretch firstRowSecondColumn" data-offset-x="30"  data-offset-y="10"  data-expected-width="200" data-expected-height="200"><div class="content"></div></div>
     
    230235    </div>
    231236</div>
     237
     238</body>
     239</html>
  • trunk/LayoutTests/fast/css-grid-layout/resources/grid-alignment.css

    r227297 r227432  
    7575.justifyItemsCenter { justify-items: center; }
    7676.justifyItemsEnd { justify-items: end; }
     77.justifyItemsLeft { justify-items: left; }
     78.justifyItemsRight { justify-items: right; }
    7779
    7880.justifyItemsCenterSafe { justify-items: safe center; }
     
    124126}
    125127
    126 .itemsLeft {
    127     align-items: left;
    128     justify-items: left;
    129 }
    130 
    131 .itemsRight {
    132     align-items: right;
    133     justify-items: right;
    134 }
    135 
    136128.itemsSelfStart {
    137129    align-items: self-start;
  • trunk/LayoutTests/imported/w3c/ChangeLog

    r227425 r227432  
     12018-01-23  Javier Fernandez  <jfernandez@igalia.com>
     2
     3        [css-align] 'left' and 'right' should parse as invalid in block/cross-axis alignment
     4        https://bugs.webkit.org/show_bug.cgi?id=181792
     5
     6        Reviewed by Antti Koivisto.
     7
     8        Imported new Web Platform Tests for the css-align module.
     9
     10        * resources/import-expectations.json:
     11        * web-platform-tests/css/css-align-3/content-distribution/w3c-import.log: Removed.
     12        * web-platform-tests/css/css-align-3/default-alignment/w3c-import.log: Removed.
     13        * web-platform-tests/css/css-align-3/resources/alignment-parsing-utils.js: Removed.
     14        * web-platform-tests/css/css-align-3/self-alignment/w3c-import.log: Removed.
     15        * web-platform-tests/css/css-align/content-distribution/parse-align-content-001-expected.txt: Added.
     16        * web-platform-tests/css/css-align/content-distribution/parse-align-content-001.html: Added.
     17        * web-platform-tests/css/css-align/content-distribution/parse-align-content-002-expected.txt: Added.
     18        * web-platform-tests/css/css-align/content-distribution/parse-align-content-002.html: Added.
     19        * web-platform-tests/css/css-align/content-distribution/parse-align-content-003-expected.txt: Added.
     20        * web-platform-tests/css/css-align/content-distribution/parse-align-content-003.html: Added.
     21        * web-platform-tests/css/css-align/content-distribution/parse-align-content-004-expected.txt: Added.
     22        * web-platform-tests/css/css-align/content-distribution/parse-align-content-004.html: Added.
     23        * web-platform-tests/css/css-align/content-distribution/parse-align-content-005-expected.txt: Added.
     24        * web-platform-tests/css/css-align/content-distribution/parse-align-content-005.html: Added.
     25        * web-platform-tests/css/css-align/content-distribution/parse-justify-content-001-expected.txt: Added.
     26        * web-platform-tests/css/css-align/content-distribution/parse-justify-content-001.html: Added.
     27        * web-platform-tests/css/css-align/content-distribution/parse-justify-content-002-expected.txt: Added.
     28        * web-platform-tests/css/css-align/content-distribution/parse-justify-content-002.html: Added.
     29        * web-platform-tests/css/css-align/content-distribution/parse-justify-content-003-expected.txt: Added.
     30        * web-platform-tests/css/css-align/content-distribution/parse-justify-content-003.html: Added.
     31        * web-platform-tests/css/css-align/content-distribution/parse-justify-content-004-expected.txt: Added.
     32        * web-platform-tests/css/css-align/content-distribution/parse-justify-content-004.html: Added.
     33        * web-platform-tests/css/css-align/content-distribution/parse-justify-content-005-expected.txt: Added.
     34        * web-platform-tests/css/css-align/content-distribution/parse-justify-content-005.html: Added.
     35        * web-platform-tests/css/css-align/content-distribution/place-content-shorthand-001-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-001-expected.txt.
     36        * web-platform-tests/css/css-align/content-distribution/place-content-shorthand-001.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-001.html.
     37        * web-platform-tests/css/css-align/content-distribution/place-content-shorthand-002-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-002-expected.txt.
     38        * web-platform-tests/css/css-align/content-distribution/place-content-shorthand-002.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-002.html.
     39        * web-platform-tests/css/css-align/content-distribution/place-content-shorthand-003-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-003-expected.txt.
     40        * web-platform-tests/css/css-align/content-distribution/place-content-shorthand-003.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-003.html.
     41        * web-platform-tests/css/css-align/content-distribution/place-content-shorthand-004-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-004-expected.txt.
     42        * web-platform-tests/css/css-align/content-distribution/place-content-shorthand-004.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-004.html.
     43        * web-platform-tests/css/css-align/content-distribution/place-content-shorthand-005-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-005-expected.txt.
     44        * web-platform-tests/css/css-align/content-distribution/place-content-shorthand-005.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-005.html.
     45        * web-platform-tests/css/css-align/content-distribution/place-content-shorthand-006-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-006-expected.txt.
     46        * web-platform-tests/css/css-align/content-distribution/place-content-shorthand-006.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-006.html.
     47        * web-platform-tests/css/css-align/content-distribution/w3c-import.log: Added.
     48        * web-platform-tests/css/css-align/default-alignment/justify-items-legacy-001-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/justify-items-legacy-001-expected.txt.
     49        * web-platform-tests/css/css-align/default-alignment/justify-items-legacy-001.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/justify-items-legacy-001.html.
     50        * web-platform-tests/css/css-align/default-alignment/parse-align-items-001-expected.txt: Added.
     51        * web-platform-tests/css/css-align/default-alignment/parse-align-items-001.html: Added.
     52        * web-platform-tests/css/css-align/default-alignment/parse-align-items-002-expected.txt: Added.
     53        * web-platform-tests/css/css-align/default-alignment/parse-align-items-002.html: Added.
     54        * web-platform-tests/css/css-align/default-alignment/parse-align-items-003-expected.txt: Added.
     55        * web-platform-tests/css/css-align/default-alignment/parse-align-items-003.html: Added.
     56        * web-platform-tests/css/css-align/default-alignment/parse-align-items-004-expected.txt: Added.
     57        * web-platform-tests/css/css-align/default-alignment/parse-align-items-004.html: Added.
     58        * web-platform-tests/css/css-align/default-alignment/parse-align-items-005-expected.txt: Added.
     59        * web-platform-tests/css/css-align/default-alignment/parse-align-items-005.html: Added.
     60        * web-platform-tests/css/css-align/default-alignment/parse-justify-items-001-expected.txt: Added.
     61        * web-platform-tests/css/css-align/default-alignment/parse-justify-items-001.html: Added.
     62        * web-platform-tests/css/css-align/default-alignment/parse-justify-items-002-expected.txt: Added.
     63        * web-platform-tests/css/css-align/default-alignment/parse-justify-items-002.html: Added.
     64        * web-platform-tests/css/css-align/default-alignment/parse-justify-items-003-expected.txt: Added.
     65        * web-platform-tests/css/css-align/default-alignment/parse-justify-items-003.html: Added.
     66        * web-platform-tests/css/css-align/default-alignment/parse-justify-items-004-expected.txt: Added.
     67        * web-platform-tests/css/css-align/default-alignment/parse-justify-items-004.html: Added.
     68        * web-platform-tests/css/css-align/default-alignment/parse-justify-items-005-expected.txt: Added.
     69        * web-platform-tests/css/css-align/default-alignment/parse-justify-items-005.html: Added.
     70        * web-platform-tests/css/css-align/default-alignment/parse-justify-items-006-expected.txt: Added.
     71        * web-platform-tests/css/css-align/default-alignment/parse-justify-items-006.html: Added.
     72        * web-platform-tests/css/css-align/default-alignment/place-items-shorthand-001-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-001-expected.txt.
     73        * web-platform-tests/css/css-align/default-alignment/place-items-shorthand-001.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-001.html.
     74        * web-platform-tests/css/css-align/default-alignment/place-items-shorthand-002-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-002-expected.txt.
     75        * web-platform-tests/css/css-align/default-alignment/place-items-shorthand-002.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-002.html.
     76        * web-platform-tests/css/css-align/default-alignment/place-items-shorthand-003-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-003-expected.txt.
     77        * web-platform-tests/css/css-align/default-alignment/place-items-shorthand-003.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-003.html.
     78        * web-platform-tests/css/css-align/default-alignment/place-items-shorthand-004-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-004-expected.txt.
     79        * web-platform-tests/css/css-align/default-alignment/place-items-shorthand-004.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-004.html.
     80        * web-platform-tests/css/css-align/default-alignment/place-items-shorthand-005-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-005-expected.txt.
     81        * web-platform-tests/css/css-align/default-alignment/place-items-shorthand-005.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-005.html.
     82        * web-platform-tests/css/css-align/default-alignment/place-items-shorthand-006-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-006-expected.txt.
     83        * web-platform-tests/css/css-align/default-alignment/place-items-shorthand-006.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-006.html.
     84        * web-platform-tests/css/css-align/default-alignment/w3c-import.log: Added.
     85        * web-platform-tests/css/css-align/distribution-values/space-evenly-001-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/distribution-values/space-evenly-001-expected.xht.
     86        * web-platform-tests/css/css-align/distribution-values/space-evenly-001.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/distribution-values/space-evenly-001.html.
     87        * web-platform-tests/css/css-align/distribution-values/w3c-import.log: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/distribution-values/w3c-import.log.
     88        * web-platform-tests/css/css-align/resources/alignment-parsing-utils.js: Added.
     89        (checkPlaceShorhand):
     90        (checkPlaceShorhandLonghands):
     91        (checkPlaceShorthandInvalidValues):
     92        (checkValues):
     93        (checkBadValues):
     94        (checkInitialValues):
     95        (checkInheritValues):
     96        (checkLegacyValues):
     97        (checkSupportedValues):
     98        * web-platform-tests/css/css-align/resources/w3c-import.log: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/resources/w3c-import.log.
     99        * web-platform-tests/css/css-align/self-alignment/parse-align-self-001-expected.txt: Added.
     100        * web-platform-tests/css/css-align/self-alignment/parse-align-self-001.html: Added.
     101        * web-platform-tests/css/css-align/self-alignment/parse-align-self-002-expected.txt: Added.
     102        * web-platform-tests/css/css-align/self-alignment/parse-align-self-002.html: Added.
     103        * web-platform-tests/css/css-align/self-alignment/parse-align-self-003-expected.txt: Added.
     104        * web-platform-tests/css/css-align/self-alignment/parse-align-self-003.html: Added.
     105        * web-platform-tests/css/css-align/self-alignment/parse-align-self-004-expected.txt: Added.
     106        * web-platform-tests/css/css-align/self-alignment/parse-align-self-004.html: Added.
     107        * web-platform-tests/css/css-align/self-alignment/parse-align-self-005-expected.txt: Added.
     108        * web-platform-tests/css/css-align/self-alignment/parse-align-self-005.html: Added.
     109        * web-platform-tests/css/css-align/self-alignment/parse-justify-self-001-expected.txt: Added.
     110        * web-platform-tests/css/css-align/self-alignment/parse-justify-self-001.html: Added.
     111        * web-platform-tests/css/css-align/self-alignment/parse-justify-self-002-expected.txt: Added.
     112        * web-platform-tests/css/css-align/self-alignment/parse-justify-self-002.html: Added.
     113        * web-platform-tests/css/css-align/self-alignment/parse-justify-self-003-expected.txt: Added.
     114        * web-platform-tests/css/css-align/self-alignment/parse-justify-self-003.html: Added.
     115        * web-platform-tests/css/css-align/self-alignment/parse-justify-self-004-expected.txt: Added.
     116        * web-platform-tests/css/css-align/self-alignment/parse-justify-self-004.html: Added.
     117        * web-platform-tests/css/css-align/self-alignment/parse-justify-self-005-expected.txt: Added.
     118        * web-platform-tests/css/css-align/self-alignment/parse-justify-self-005.html: Added.
     119        * web-platform-tests/css/css-align/self-alignment/place-self-shorthand-001-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-001-expected.txt.
     120        * web-platform-tests/css/css-align/self-alignment/place-self-shorthand-001.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-001.html.
     121        * web-platform-tests/css/css-align/self-alignment/place-self-shorthand-002-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-002-expected.txt.
     122        * web-platform-tests/css/css-align/self-alignment/place-self-shorthand-002.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-002.html.
     123        * web-platform-tests/css/css-align/self-alignment/place-self-shorthand-003-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-003-expected.txt.
     124        * web-platform-tests/css/css-align/self-alignment/place-self-shorthand-003.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-003.html.
     125        * web-platform-tests/css/css-align/self-alignment/place-self-shorthand-004-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-004-expected.txt.
     126        * web-platform-tests/css/css-align/self-alignment/place-self-shorthand-004.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-004.html.
     127        * web-platform-tests/css/css-align/self-alignment/place-self-shorthand-005-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-005-expected.txt.
     128        * web-platform-tests/css/css-align/self-alignment/place-self-shorthand-005.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-005.html.
     129        * web-platform-tests/css/css-align/self-alignment/place-self-shorthand-006-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-006-expected.txt.
     130        * web-platform-tests/css/css-align/self-alignment/place-self-shorthand-006.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-006.html.
     131        * web-platform-tests/css/css-align/self-alignment/w3c-import.log: Added.
     132
    11332018-01-23  Brady Eidson  <beidson@apple.com>
    2134
  • trunk/LayoutTests/imported/w3c/resources/import-expectations.json

    r227295 r227432  
    5959    "web-platform-tests/css-typed-om": "skip",
    6060    "web-platform-tests/css-values": "skip",
    61     "web-platform-tests/css/css-align-3": "import",
     61    "web-platform-tests/css/css-align": "import",
    6262    "web-platform-tests/css/css-display-3": "import",
    6363    "web-platform-tests/css/css-grid": "import",
  • trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-align/content-distribution/place-content-shorthand-001-expected.txt

    r227431 r227432  
    33PASS Checking place-content: start
    44PASS Checking place-content: end
    5 PASS Checking place-content: left
    6 PASS Checking place-content: right
    75PASS Checking place-content: center
    86PASS Checking place-content: flex-start
  • trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-align/content-distribution/place-content-shorthand-001.html

    r227431 r227432  
    99<div id="log"></div>
    1010<script>
    11     var values = ["normal"].concat(contentPositionValues, distributionValues, baselineValues);
    12     values.forEach(function(value) {
     11    let classes = Object.assign({"Normal":"normal"}, contentPositionClasses, distributionClasses, baselineClasses);
     12    for (var key in classes) {
     13        let value = classes[key];
    1314        test(function() {
    1415            checkPlaceShorhandLonghands("place-content", "align-content", "justify-content", value);
    1516        }, "Checking place-content: " + value);
    16     });
     17    }
    1718</script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-align/content-distribution/place-content-shorthand-002-expected.txt

    r227431 r227432  
    11
     2PASS Checking place-content: normal left
     3PASS Checking place-content: normal right
    24PASS Checking place-content: normal normal
    35PASS Checking place-content: normal start
    46PASS Checking place-content: normal end
    5 PASS Checking place-content: normal left
    6 PASS Checking place-content: normal right
    77PASS Checking place-content: normal center
    88PASS Checking place-content: normal flex-start
     
    1515PASS Checking place-content: normal first baseline
    1616PASS Checking place-content: normal last baseline
     17PASS Checking place-content: start left
     18PASS Checking place-content: start right
    1719PASS Checking place-content: start normal
    1820PASS Checking place-content: start start
    1921PASS Checking place-content: start end
    20 PASS Checking place-content: start left
    21 PASS Checking place-content: start right
    2222PASS Checking place-content: start center
    2323PASS Checking place-content: start flex-start
     
    3030PASS Checking place-content: start first baseline
    3131PASS Checking place-content: start last baseline
     32PASS Checking place-content: end left
     33PASS Checking place-content: end right
    3234PASS Checking place-content: end normal
    3335PASS Checking place-content: end start
    3436PASS Checking place-content: end end
    35 PASS Checking place-content: end left
    36 PASS Checking place-content: end right
    3737PASS Checking place-content: end center
    3838PASS Checking place-content: end flex-start
     
    4545PASS Checking place-content: end first baseline
    4646PASS Checking place-content: end last baseline
    47 PASS Checking place-content: left normal
    48 PASS Checking place-content: left start
    49 PASS Checking place-content: left end
    50 PASS Checking place-content: left left
    51 PASS Checking place-content: left right
    52 PASS Checking place-content: left center
    53 PASS Checking place-content: left flex-start
    54 PASS Checking place-content: left flex-end
    55 PASS Checking place-content: left stretch
    56 PASS Checking place-content: left space-around
    57 PASS Checking place-content: left space-between
    58 PASS Checking place-content: left space-evenly
    59 PASS Checking place-content: left baseline
    60 PASS Checking place-content: left first baseline
    61 PASS Checking place-content: left last baseline
    62 PASS Checking place-content: right normal
    63 PASS Checking place-content: right start
    64 PASS Checking place-content: right end
    65 PASS Checking place-content: right left
    66 PASS Checking place-content: right right
    67 PASS Checking place-content: right center
    68 PASS Checking place-content: right flex-start
    69 PASS Checking place-content: right flex-end
    70 PASS Checking place-content: right stretch
    71 PASS Checking place-content: right space-around
    72 PASS Checking place-content: right space-between
    73 PASS Checking place-content: right space-evenly
    74 PASS Checking place-content: right baseline
    75 PASS Checking place-content: right first baseline
    76 PASS Checking place-content: right last baseline
     47PASS Checking place-content: center left
     48PASS Checking place-content: center right
    7749PASS Checking place-content: center normal
    7850PASS Checking place-content: center start
    7951PASS Checking place-content: center end
    80 PASS Checking place-content: center left
    81 PASS Checking place-content: center right
    8252PASS Checking place-content: center center
    8353PASS Checking place-content: center flex-start
     
    9060PASS Checking place-content: center first baseline
    9161PASS Checking place-content: center last baseline
     62PASS Checking place-content: flex-start left
     63PASS Checking place-content: flex-start right
    9264PASS Checking place-content: flex-start normal
    9365PASS Checking place-content: flex-start start
    9466PASS Checking place-content: flex-start end
    95 PASS Checking place-content: flex-start left
    96 PASS Checking place-content: flex-start right
    9767PASS Checking place-content: flex-start center
    9868PASS Checking place-content: flex-start flex-start
     
    10575PASS Checking place-content: flex-start first baseline
    10676PASS Checking place-content: flex-start last baseline
     77PASS Checking place-content: flex-end left
     78PASS Checking place-content: flex-end right
    10779PASS Checking place-content: flex-end normal
    10880PASS Checking place-content: flex-end start
    10981PASS Checking place-content: flex-end end
    110 PASS Checking place-content: flex-end left
    111 PASS Checking place-content: flex-end right
    11282PASS Checking place-content: flex-end center
    11383PASS Checking place-content: flex-end flex-start
     
    12090PASS Checking place-content: flex-end first baseline
    12191PASS Checking place-content: flex-end last baseline
     92PASS Checking place-content: stretch left
     93PASS Checking place-content: stretch right
    12294PASS Checking place-content: stretch normal
    12395PASS Checking place-content: stretch start
    12496PASS Checking place-content: stretch end
    125 PASS Checking place-content: stretch left
    126 PASS Checking place-content: stretch right
    12797PASS Checking place-content: stretch center
    12898PASS Checking place-content: stretch flex-start
     
    135105PASS Checking place-content: stretch first baseline
    136106PASS Checking place-content: stretch last baseline
     107PASS Checking place-content: space-around left
     108PASS Checking place-content: space-around right
    137109PASS Checking place-content: space-around normal
    138110PASS Checking place-content: space-around start
    139111PASS Checking place-content: space-around end
    140 PASS Checking place-content: space-around left
    141 PASS Checking place-content: space-around right
    142112PASS Checking place-content: space-around center
    143113PASS Checking place-content: space-around flex-start
     
    150120PASS Checking place-content: space-around first baseline
    151121PASS Checking place-content: space-around last baseline
     122PASS Checking place-content: space-between left
     123PASS Checking place-content: space-between right
    152124PASS Checking place-content: space-between normal
    153125PASS Checking place-content: space-between start
    154126PASS Checking place-content: space-between end
    155 PASS Checking place-content: space-between left
    156 PASS Checking place-content: space-between right
    157127PASS Checking place-content: space-between center
    158128PASS Checking place-content: space-between flex-start
     
    165135PASS Checking place-content: space-between first baseline
    166136PASS Checking place-content: space-between last baseline
     137PASS Checking place-content: space-evenly left
     138PASS Checking place-content: space-evenly right
    167139PASS Checking place-content: space-evenly normal
    168140PASS Checking place-content: space-evenly start
    169141PASS Checking place-content: space-evenly end
    170 PASS Checking place-content: space-evenly left
    171 PASS Checking place-content: space-evenly right
    172142PASS Checking place-content: space-evenly center
    173143PASS Checking place-content: space-evenly flex-start
     
    180150PASS Checking place-content: space-evenly first baseline
    181151PASS Checking place-content: space-evenly last baseline
     152PASS Checking place-content: baseline left
     153PASS Checking place-content: baseline right
    182154PASS Checking place-content: baseline normal
    183155PASS Checking place-content: baseline start
    184156PASS Checking place-content: baseline end
    185 PASS Checking place-content: baseline left
    186 PASS Checking place-content: baseline right
    187157PASS Checking place-content: baseline center
    188158PASS Checking place-content: baseline flex-start
     
    195165PASS Checking place-content: baseline first baseline
    196166PASS Checking place-content: baseline last baseline
     167PASS Checking place-content: first baseline left
     168PASS Checking place-content: first baseline right
    197169PASS Checking place-content: first baseline normal
    198170PASS Checking place-content: first baseline start
    199171PASS Checking place-content: first baseline end
    200 PASS Checking place-content: first baseline left
    201 PASS Checking place-content: first baseline right
    202172PASS Checking place-content: first baseline center
    203173PASS Checking place-content: first baseline flex-start
     
    210180PASS Checking place-content: first baseline first baseline
    211181PASS Checking place-content: first baseline last baseline
     182PASS Checking place-content: last baseline left
     183PASS Checking place-content: last baseline right
    212184PASS Checking place-content: last baseline normal
    213185PASS Checking place-content: last baseline start
    214186PASS Checking place-content: last baseline end
    215 PASS Checking place-content: last baseline left
    216 PASS Checking place-content: last baseline right
    217187PASS Checking place-content: last baseline center
    218188PASS Checking place-content: last baseline flex-start
  • trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-align/content-distribution/place-content-shorthand-002.html

    r227431 r227432  
    99<div id="log"></div>
    1010<script>
    11     var values = ["normal"].concat(contentPositionValues, distributionValues, baselineValues);
    12     values.forEach(function(alignValue) {
    13         values.forEach(function(justifyValue) {
    14            test(function() {
    15                checkPlaceShorhandLonghands("place-content", "align-content", "justify-content", alignValue, justifyValue);
    16            }, "Checking place-content: " + alignValue + " " + justifyValue);
    17         });
    18     });
     11    let classes = Object.assign({"Normal":"normal"}, contentPositionClasses, distributionClasses, baselineClasses);
     12    for (var key1 in classes) {
     13        let alignValue = classes[key1];
     14        let classes2 = Object.assign({"Left":"left", "Right":"right"}, classes);
     15        for (var key2 in classes2) {
     16            let justifyValue = classes2[key2];
     17            test(function() {
     18                checkPlaceShorhandLonghands("place-content", "align-content", "justify-content", alignValue, justifyValue);
     19            }, "Checking place-content: " + alignValue + " " + justifyValue);
     20        }
     21    }
    1922</script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-align/content-distribution/place-content-shorthand-004-expected.txt

    r227431 r227432  
    22PASS Verify overflow keywords are invalid
    33PASS Verify fallback values are invalid
     4PASS Verify 'left' and 'right' values are invalid for block/cross axis alignment
    45PASS Verify numeric values are invalid
    56PASS Verify 'auto' values are invalid
  • trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-align/content-distribution/place-content-shorthand-004.html

    r227431 r227432  
    1515
    1616    test(function() {
    17         checkInvalidValues("center safe")
    18         checkInvalidValues("true center")
     17        checkInvalidValues("safe center")
     18        checkInvalidValues("unsafe center")
    1919    }, "Verify overflow keywords are invalid");
    2020
     
    2424
    2525    test(function() {
    26         checkInvalidValues("10px left")
    27         checkInvalidValues("right 10%")
     26        checkInvalidValues("left")
     27        checkInvalidValues("left start")
     28        checkInvalidValues("right center")
     29    }, "Verify 'left' and 'right' values are invalid for block/cross axis alignment");
     30
     31    test(function() {
     32        checkInvalidValues("10px end")
     33        checkInvalidValues("start 10%")
    2834    }, "Verify numeric values are invalid");
    2935
     
    3238        checkInvalidValues("auto right")
    3339        checkInvalidValues("auto auto")
    34         checkInvalidValues("left auto")
     40        checkInvalidValues("start auto")
    3541    }, "Verify 'auto' values are invalid");
    3642
  • trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-align/content-distribution/place-content-shorthand-006-expected.txt

    r227431 r227432  
    11
    2 PASS Checking place-content: normal
     2PASS Checking place-content: normal left
     3PASS Checking place-content: normal right
    34PASS Checking place-content: normal normal
    45PASS Checking place-content: normal start
    56PASS Checking place-content: normal end
    6 PASS Checking place-content: normal left
    7 PASS Checking place-content: normal right
    87PASS Checking place-content: normal center
    98PASS Checking place-content: normal flex-start
     
    1615PASS Checking place-content: normal first baseline
    1716PASS Checking place-content: normal last baseline
    18 PASS Checking place-content: start
     17PASS Checking place-content: start left
     18PASS Checking place-content: start right
    1919PASS Checking place-content: start normal
    2020PASS Checking place-content: start start
    2121PASS Checking place-content: start end
    22 PASS Checking place-content: start left
    23 PASS Checking place-content: start right
    2422PASS Checking place-content: start center
    2523PASS Checking place-content: start flex-start
     
    3230PASS Checking place-content: start first baseline
    3331PASS Checking place-content: start last baseline
    34 PASS Checking place-content: end
     32PASS Checking place-content: end left
     33PASS Checking place-content: end right
    3534PASS Checking place-content: end normal
    3635PASS Checking place-content: end start
    3736PASS Checking place-content: end end
    38 PASS Checking place-content: end left
    39 PASS Checking place-content: end right
    4037PASS Checking place-content: end center
    4138PASS Checking place-content: end flex-start
     
    4845PASS Checking place-content: end first baseline
    4946PASS Checking place-content: end last baseline
    50 PASS Checking place-content: left
    51 PASS Checking place-content: left normal
    52 PASS Checking place-content: left start
    53 PASS Checking place-content: left end
    54 PASS Checking place-content: left left
    55 PASS Checking place-content: left right
    56 PASS Checking place-content: left center
    57 PASS Checking place-content: left flex-start
    58 PASS Checking place-content: left flex-end
    59 PASS Checking place-content: left stretch
    60 PASS Checking place-content: left space-around
    61 PASS Checking place-content: left space-between
    62 PASS Checking place-content: left space-evenly
    63 PASS Checking place-content: left baseline
    64 PASS Checking place-content: left first baseline
    65 PASS Checking place-content: left last baseline
    66 PASS Checking place-content: right
    67 PASS Checking place-content: right normal
    68 PASS Checking place-content: right start
    69 PASS Checking place-content: right end
    70 PASS Checking place-content: right left
    71 PASS Checking place-content: right right
    72 PASS Checking place-content: right center
    73 PASS Checking place-content: right flex-start
    74 PASS Checking place-content: right flex-end
    75 PASS Checking place-content: right stretch
    76 PASS Checking place-content: right space-around
    77 PASS Checking place-content: right space-between
    78 PASS Checking place-content: right space-evenly
    79 PASS Checking place-content: right baseline
    80 PASS Checking place-content: right first baseline
    81 PASS Checking place-content: right last baseline
    82 PASS Checking place-content: center
     47PASS Checking place-content: center left
     48PASS Checking place-content: center right
    8349PASS Checking place-content: center normal
    8450PASS Checking place-content: center start
    8551PASS Checking place-content: center end
    86 PASS Checking place-content: center left
    87 PASS Checking place-content: center right
    8852PASS Checking place-content: center center
    8953PASS Checking place-content: center flex-start
     
    9660PASS Checking place-content: center first baseline
    9761PASS Checking place-content: center last baseline
    98 PASS Checking place-content: flex-start
     62PASS Checking place-content: flex-start left
     63PASS Checking place-content: flex-start right
    9964PASS Checking place-content: flex-start normal
    10065PASS Checking place-content: flex-start start
    10166PASS Checking place-content: flex-start end
    102 PASS Checking place-content: flex-start left
    103 PASS Checking place-content: flex-start right
    10467PASS Checking place-content: flex-start center
    10568PASS Checking place-content: flex-start flex-start
     
    11275PASS Checking place-content: flex-start first baseline
    11376PASS Checking place-content: flex-start last baseline
    114 PASS Checking place-content: flex-end
     77PASS Checking place-content: flex-end left
     78PASS Checking place-content: flex-end right
    11579PASS Checking place-content: flex-end normal
    11680PASS Checking place-content: flex-end start
    11781PASS Checking place-content: flex-end end
    118 PASS Checking place-content: flex-end left
    119 PASS Checking place-content: flex-end right
    12082PASS Checking place-content: flex-end center
    12183PASS Checking place-content: flex-end flex-start
     
    12890PASS Checking place-content: flex-end first baseline
    12991PASS Checking place-content: flex-end last baseline
    130 PASS Checking place-content: stretch
     92PASS Checking place-content: stretch left
     93PASS Checking place-content: stretch right
    13194PASS Checking place-content: stretch normal
    13295PASS Checking place-content: stretch start
    13396PASS Checking place-content: stretch end
    134 PASS Checking place-content: stretch left
    135 PASS Checking place-content: stretch right
    13697PASS Checking place-content: stretch center
    13798PASS Checking place-content: stretch flex-start
     
    144105PASS Checking place-content: stretch first baseline
    145106PASS Checking place-content: stretch last baseline
    146 PASS Checking place-content: space-around
     107PASS Checking place-content: space-around left
     108PASS Checking place-content: space-around right
    147109PASS Checking place-content: space-around normal
    148110PASS Checking place-content: space-around start
    149111PASS Checking place-content: space-around end
    150 PASS Checking place-content: space-around left
    151 PASS Checking place-content: space-around right
    152112PASS Checking place-content: space-around center
    153113PASS Checking place-content: space-around flex-start
     
    160120PASS Checking place-content: space-around first baseline
    161121PASS Checking place-content: space-around last baseline
    162 PASS Checking place-content: space-between
     122PASS Checking place-content: space-between left
     123PASS Checking place-content: space-between right
    163124PASS Checking place-content: space-between normal
    164125PASS Checking place-content: space-between start
    165126PASS Checking place-content: space-between end
    166 PASS Checking place-content: space-between left
    167 PASS Checking place-content: space-between right
    168127PASS Checking place-content: space-between center
    169128PASS Checking place-content: space-between flex-start
     
    176135PASS Checking place-content: space-between first baseline
    177136PASS Checking place-content: space-between last baseline
    178 PASS Checking place-content: space-evenly
     137PASS Checking place-content: space-evenly left
     138PASS Checking place-content: space-evenly right
    179139PASS Checking place-content: space-evenly normal
    180140PASS Checking place-content: space-evenly start
    181141PASS Checking place-content: space-evenly end
    182 PASS Checking place-content: space-evenly left
    183 PASS Checking place-content: space-evenly right
    184142PASS Checking place-content: space-evenly center
    185143PASS Checking place-content: space-evenly flex-start
     
    192150PASS Checking place-content: space-evenly first baseline
    193151PASS Checking place-content: space-evenly last baseline
    194 PASS Checking place-content: baseline
     152PASS Checking place-content: baseline left
     153PASS Checking place-content: baseline right
    195154PASS Checking place-content: baseline normal
    196155PASS Checking place-content: baseline start
    197156PASS Checking place-content: baseline end
    198 PASS Checking place-content: baseline left
    199 PASS Checking place-content: baseline right
    200157PASS Checking place-content: baseline center
    201158PASS Checking place-content: baseline flex-start
     
    208165PASS Checking place-content: baseline first baseline
    209166PASS Checking place-content: baseline last baseline
    210 PASS Checking place-content: first baseline
     167PASS Checking place-content: first baseline left
     168PASS Checking place-content: first baseline right
    211169PASS Checking place-content: first baseline normal
    212170PASS Checking place-content: first baseline start
    213171PASS Checking place-content: first baseline end
    214 PASS Checking place-content: first baseline left
    215 PASS Checking place-content: first baseline right
    216172PASS Checking place-content: first baseline center
    217173PASS Checking place-content: first baseline flex-start
     
    224180PASS Checking place-content: first baseline first baseline
    225181PASS Checking place-content: first baseline last baseline
    226 PASS Checking place-content: last baseline
     182PASS Checking place-content: last baseline left
     183PASS Checking place-content: last baseline right
    227184PASS Checking place-content: last baseline normal
    228185PASS Checking place-content: last baseline start
    229186PASS Checking place-content: last baseline end
    230 PASS Checking place-content: last baseline left
    231 PASS Checking place-content: last baseline right
    232187PASS Checking place-content: last baseline center
    233188PASS Checking place-content: last baseline flex-start
  • trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-align/content-distribution/place-content-shorthand-006.html

    r227431 r227432  
    1010<div id="test"></div>
    1111<script>
    12     var values = ["normal"].concat(contentPositionValues, distributionValues, baselineValues);
    13     values.forEach(function(alignValue) {
    14         [""].concat(values).forEach(function(justifyValue) {
     12    let classes = Object.assign({"Normal":"normal"}, contentPositionClasses, distributionClasses, baselineClasses);
     13    for (var key1 in classes) {
     14        let alignValue = classes[key1];
     15        let classes2 = Object.assign({"Left":"left", "Right":"right"}, classes);
     16        for (var key2 in classes2) {
     17            let justifyValue = classes2[key2];
    1518            var value = (alignValue + " " + justifyValue).trim();
    1619            test(function() {
    1720                checkPlaceShorhand("place-content", alignValue, justifyValue)
    1821            }, "Checking place-content: " + value);
    19         });
    20     });
     22        }
     23    }
    2124</script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-align/default-alignment/place-items-shorthand-001-expected.txt

    r227431 r227432  
    66PASS Checking place-items: self-start
    77PASS Checking place-items: self-end
    8 PASS Checking place-items: left
    9 PASS Checking place-items: right
    108PASS Checking place-items: center
    119PASS Checking place-items: flex-start
  • trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-align/default-alignment/place-items-shorthand-001.html

    r227431 r227432  
    99<div id="log"></div>
    1010<script>
    11     var values = ["normal", "stretch"].concat(selfPositionValues, baselineValues);
    12     values.forEach(function(value) {
     11    let classes = Object.assign({"Normal":"normal", "Stretch":"stretch"}, selfPositionClasses, baselineClasses);
     12    for (var key in classes) {
     13        let value = classes[key];
    1314        test(function() {
    1415            checkPlaceShorhandLonghands("place-items", "align-items", "justify-items", value);
    1516        }, "Checking place-items: " + value);
    16     });
     17    }
    1718</script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-align/default-alignment/place-items-shorthand-002-expected.txt

    r227431 r227432  
    11
    2 PASS Checking place-items: normal auto
     2PASS Checking place-items: normal left
     3PASS Checking place-items: normal right
    34PASS Checking place-items: normal normal
    45PASS Checking place-items: normal stretch
     
    78PASS Checking place-items: normal self-start
    89PASS Checking place-items: normal self-end
    9 PASS Checking place-items: normal left
    10 PASS Checking place-items: normal right
    1110PASS Checking place-items: normal center
    1211PASS Checking place-items: normal flex-start
     
    1514PASS Checking place-items: normal first baseline
    1615PASS Checking place-items: normal last baseline
    17 PASS Checking place-items: stretch auto
     16PASS Checking place-items: stretch left
     17PASS Checking place-items: stretch right
    1818PASS Checking place-items: stretch normal
    1919PASS Checking place-items: stretch stretch
     
    2222PASS Checking place-items: stretch self-start
    2323PASS Checking place-items: stretch self-end
    24 PASS Checking place-items: stretch left
    25 PASS Checking place-items: stretch right
    2624PASS Checking place-items: stretch center
    2725PASS Checking place-items: stretch flex-start
     
    3028PASS Checking place-items: stretch first baseline
    3129PASS Checking place-items: stretch last baseline
    32 PASS Checking place-items: start auto
     30PASS Checking place-items: start left
     31PASS Checking place-items: start right
    3332PASS Checking place-items: start normal
    3433PASS Checking place-items: start stretch
     
    3736PASS Checking place-items: start self-start
    3837PASS Checking place-items: start self-end
    39 PASS Checking place-items: start left
    40 PASS Checking place-items: start right
    4138PASS Checking place-items: start center
    4239PASS Checking place-items: start flex-start
     
    4542PASS Checking place-items: start first baseline
    4643PASS Checking place-items: start last baseline
    47 PASS Checking place-items: end auto
     44PASS Checking place-items: end left
     45PASS Checking place-items: end right
    4846PASS Checking place-items: end normal
    4947PASS Checking place-items: end stretch
     
    5250PASS Checking place-items: end self-start
    5351PASS Checking place-items: end self-end
    54 PASS Checking place-items: end left
    55 PASS Checking place-items: end right
    5652PASS Checking place-items: end center
    5753PASS Checking place-items: end flex-start
     
    6056PASS Checking place-items: end first baseline
    6157PASS Checking place-items: end last baseline
    62 PASS Checking place-items: self-start auto
     58PASS Checking place-items: self-start left
     59PASS Checking place-items: self-start right
    6360PASS Checking place-items: self-start normal
    6461PASS Checking place-items: self-start stretch
     
    6764PASS Checking place-items: self-start self-start
    6865PASS Checking place-items: self-start self-end
    69 PASS Checking place-items: self-start left
    70 PASS Checking place-items: self-start right
    7166PASS Checking place-items: self-start center
    7267PASS Checking place-items: self-start flex-start
     
    7570PASS Checking place-items: self-start first baseline
    7671PASS Checking place-items: self-start last baseline
    77 PASS Checking place-items: self-end auto
     72PASS Checking place-items: self-end left
     73PASS Checking place-items: self-end right
    7874PASS Checking place-items: self-end normal
    7975PASS Checking place-items: self-end stretch
     
    8278PASS Checking place-items: self-end self-start
    8379PASS Checking place-items: self-end self-end
    84 PASS Checking place-items: self-end left
    85 PASS Checking place-items: self-end right
    8680PASS Checking place-items: self-end center
    8781PASS Checking place-items: self-end flex-start
     
    9084PASS Checking place-items: self-end first baseline
    9185PASS Checking place-items: self-end last baseline
    92 PASS Checking place-items: left auto
    93 PASS Checking place-items: left normal
    94 PASS Checking place-items: left stretch
    95 PASS Checking place-items: left start
    96 PASS Checking place-items: left end
    97 PASS Checking place-items: left self-start
    98 PASS Checking place-items: left self-end
    99 PASS Checking place-items: left left
    100 PASS Checking place-items: left right
    101 PASS Checking place-items: left center
    102 PASS Checking place-items: left flex-start
    103 PASS Checking place-items: left flex-end
    104 PASS Checking place-items: left baseline
    105 PASS Checking place-items: left first baseline
    106 PASS Checking place-items: left last baseline
    107 PASS Checking place-items: right auto
    108 PASS Checking place-items: right normal
    109 PASS Checking place-items: right stretch
    110 PASS Checking place-items: right start
    111 PASS Checking place-items: right end
    112 PASS Checking place-items: right self-start
    113 PASS Checking place-items: right self-end
    114 PASS Checking place-items: right left
    115 PASS Checking place-items: right right
    116 PASS Checking place-items: right center
    117 PASS Checking place-items: right flex-start
    118 PASS Checking place-items: right flex-end
    119 PASS Checking place-items: right baseline
    120 PASS Checking place-items: right first baseline
    121 PASS Checking place-items: right last baseline
    122 PASS Checking place-items: center auto
     86PASS Checking place-items: center left
     87PASS Checking place-items: center right
    12388PASS Checking place-items: center normal
    12489PASS Checking place-items: center stretch
     
    12792PASS Checking place-items: center self-start
    12893PASS Checking place-items: center self-end
    129 PASS Checking place-items: center left
    130 PASS Checking place-items: center right
    13194PASS Checking place-items: center center
    13295PASS Checking place-items: center flex-start
     
    13598PASS Checking place-items: center first baseline
    13699PASS Checking place-items: center last baseline
    137 PASS Checking place-items: flex-start auto
     100PASS Checking place-items: flex-start left
     101PASS Checking place-items: flex-start right
    138102PASS Checking place-items: flex-start normal
    139103PASS Checking place-items: flex-start stretch
     
    142106PASS Checking place-items: flex-start self-start
    143107PASS Checking place-items: flex-start self-end
    144 PASS Checking place-items: flex-start left
    145 PASS Checking place-items: flex-start right
    146108PASS Checking place-items: flex-start center
    147109PASS Checking place-items: flex-start flex-start
     
    150112PASS Checking place-items: flex-start first baseline
    151113PASS Checking place-items: flex-start last baseline
    152 PASS Checking place-items: flex-end auto
     114PASS Checking place-items: flex-end left
     115PASS Checking place-items: flex-end right
    153116PASS Checking place-items: flex-end normal
    154117PASS Checking place-items: flex-end stretch
     
    157120PASS Checking place-items: flex-end self-start
    158121PASS Checking place-items: flex-end self-end
    159 PASS Checking place-items: flex-end left
    160 PASS Checking place-items: flex-end right
    161122PASS Checking place-items: flex-end center
    162123PASS Checking place-items: flex-end flex-start
     
    165126PASS Checking place-items: flex-end first baseline
    166127PASS Checking place-items: flex-end last baseline
    167 PASS Checking place-items: baseline auto
     128PASS Checking place-items: baseline left
     129PASS Checking place-items: baseline right
    168130PASS Checking place-items: baseline normal
    169131PASS Checking place-items: baseline stretch
     
    172134PASS Checking place-items: baseline self-start
    173135PASS Checking place-items: baseline self-end
    174 PASS Checking place-items: baseline left
    175 PASS Checking place-items: baseline right
    176136PASS Checking place-items: baseline center
    177137PASS Checking place-items: baseline flex-start
     
    180140PASS Checking place-items: baseline first baseline
    181141PASS Checking place-items: baseline last baseline
    182 PASS Checking place-items: first baseline auto
     142PASS Checking place-items: first baseline left
     143PASS Checking place-items: first baseline right
    183144PASS Checking place-items: first baseline normal
    184145PASS Checking place-items: first baseline stretch
     
    187148PASS Checking place-items: first baseline self-start
    188149PASS Checking place-items: first baseline self-end
    189 PASS Checking place-items: first baseline left
    190 PASS Checking place-items: first baseline right
    191150PASS Checking place-items: first baseline center
    192151PASS Checking place-items: first baseline flex-start
     
    195154PASS Checking place-items: first baseline first baseline
    196155PASS Checking place-items: first baseline last baseline
    197 PASS Checking place-items: last baseline auto
     156PASS Checking place-items: last baseline left
     157PASS Checking place-items: last baseline right
    198158PASS Checking place-items: last baseline normal
    199159PASS Checking place-items: last baseline stretch
     
    202162PASS Checking place-items: last baseline self-start
    203163PASS Checking place-items: last baseline self-end
    204 PASS Checking place-items: last baseline left
    205 PASS Checking place-items: last baseline right
    206164PASS Checking place-items: last baseline center
    207165PASS Checking place-items: last baseline flex-start
  • trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-align/default-alignment/place-items-shorthand-002.html

    r227431 r227432  
    99<div id="log"></div>
    1010<script>
    11     var values = ["normal", "stretch"].concat(selfPositionValues, baselineValues);
    12     values.forEach(function(alignValue) {
    13        ["auto"].concat(values).forEach(function(justifyValue) {
     11    let classes = Object.assign({"Normal":"normal", "Stretch":"stretch"}, selfPositionClasses, baselineClasses);
     12    for (var key1 in classes) {
     13        let alignValue = classes[key1];
     14        let classes2 = Object.assign({"Left":"left", "Right":"right"}, classes);
     15        for (var key2 in classes2) {
     16           let justifyValue = classes2[key2];
    1417           test(function() {
    1518               checkPlaceShorhandLonghands("place-items", "align-items", "justify-items", alignValue, justifyValue);
    1619           }, "Checking place-items: " + alignValue + " " + justifyValue);
    17         });
    18     });
     20        }
     21    }
    1922</script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-align/default-alignment/place-items-shorthand-004-expected.txt

    r227431 r227432  
    22PASS Verify overflow keywords are invalid
    33PASS Verify fallback values are invalid
     4PASS Verify 'left' and 'right' values are invalid for block/cross axis alignment
    45PASS Verify numeric values are invalid
    56PASS Verify 'auto' value is invalid as first longhand value.
  • trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-align/default-alignment/place-items-shorthand-004.html

    r227431 r227432  
    1515
    1616    test(function() {
    17         checkInvalidValues("center safe")
    18         checkInvalidValues("true center")
     17        checkInvalidValues("safe center")
     18        checkInvalidValues("unsafe center")
    1919    }, "Verify overflow keywords are invalid");
    2020
     
    2222        checkInvalidValues("center space-between start")
    2323    }, "Verify fallback values are invalid");
     24
     25    test(function() {
     26        checkInvalidValues("left")
     27        checkInvalidValues("left start")
     28        checkInvalidValues("right center")
     29    }, "Verify 'left' and 'right' values are invalid for block/cross axis alignment");
    2430
    2531    test(function() {
  • trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-align/default-alignment/place-items-shorthand-006-expected.txt

    r227431 r227432  
    11
    2 PASS Checking place-items: normal
     2PASS Checking place-items: normal left
     3PASS Checking place-items: normal right
    34PASS Checking place-items: normal normal
    45PASS Checking place-items: normal stretch
     
    78PASS Checking place-items: normal self-start
    89PASS Checking place-items: normal self-end
    9 PASS Checking place-items: normal left
    10 PASS Checking place-items: normal right
    1110PASS Checking place-items: normal center
    1211PASS Checking place-items: normal flex-start
     
    1514PASS Checking place-items: normal first baseline
    1615PASS Checking place-items: normal last baseline
    17 PASS Checking place-items: stretch
     16PASS Checking place-items: stretch left
     17PASS Checking place-items: stretch right
    1818PASS Checking place-items: stretch normal
    1919PASS Checking place-items: stretch stretch
     
    2222PASS Checking place-items: stretch self-start
    2323PASS Checking place-items: stretch self-end
    24 PASS Checking place-items: stretch left
    25 PASS Checking place-items: stretch right
    2624PASS Checking place-items: stretch center
    2725PASS Checking place-items: stretch flex-start
     
    3028PASS Checking place-items: stretch first baseline
    3129PASS Checking place-items: stretch last baseline
    32 PASS Checking place-items: start
     30PASS Checking place-items: start left
     31PASS Checking place-items: start right
    3332PASS Checking place-items: start normal
    3433PASS Checking place-items: start stretch
     
    3736PASS Checking place-items: start self-start
    3837PASS Checking place-items: start self-end
    39 PASS Checking place-items: start left
    40 PASS Checking place-items: start right
    4138PASS Checking place-items: start center
    4239PASS Checking place-items: start flex-start
     
    4542PASS Checking place-items: start first baseline
    4643PASS Checking place-items: start last baseline
    47 PASS Checking place-items: end
     44PASS Checking place-items: end left
     45PASS Checking place-items: end right
    4846PASS Checking place-items: end normal
    4947PASS Checking place-items: end stretch
     
    5250PASS Checking place-items: end self-start
    5351PASS Checking place-items: end self-end
    54 PASS Checking place-items: end left
    55 PASS Checking place-items: end right
    5652PASS Checking place-items: end center
    5753PASS Checking place-items: end flex-start
     
    6056PASS Checking place-items: end first baseline
    6157PASS Checking place-items: end last baseline
    62 PASS Checking place-items: self-start
     58PASS Checking place-items: self-start left
     59PASS Checking place-items: self-start right
    6360PASS Checking place-items: self-start normal
    6461PASS Checking place-items: self-start stretch
     
    6764PASS Checking place-items: self-start self-start
    6865PASS Checking place-items: self-start self-end
    69 PASS Checking place-items: self-start left
    70 PASS Checking place-items: self-start right
    7166PASS Checking place-items: self-start center
    7267PASS Checking place-items: self-start flex-start
     
    7570PASS Checking place-items: self-start first baseline
    7671PASS Checking place-items: self-start last baseline
    77 PASS Checking place-items: self-end
     72PASS Checking place-items: self-end left
     73PASS Checking place-items: self-end right
    7874PASS Checking place-items: self-end normal
    7975PASS Checking place-items: self-end stretch
     
    8278PASS Checking place-items: self-end self-start
    8379PASS Checking place-items: self-end self-end
    84 PASS Checking place-items: self-end left
    85 PASS Checking place-items: self-end right
    8680PASS Checking place-items: self-end center
    8781PASS Checking place-items: self-end flex-start
     
    9084PASS Checking place-items: self-end first baseline
    9185PASS Checking place-items: self-end last baseline
    92 PASS Checking place-items: left
    93 PASS Checking place-items: left normal
    94 PASS Checking place-items: left stretch
    95 PASS Checking place-items: left start
    96 PASS Checking place-items: left end
    97 PASS Checking place-items: left self-start
    98 PASS Checking place-items: left self-end
    99 PASS Checking place-items: left left
    100 PASS Checking place-items: left right
    101 PASS Checking place-items: left center
    102 PASS Checking place-items: left flex-start
    103 PASS Checking place-items: left flex-end
    104 PASS Checking place-items: left baseline
    105 PASS Checking place-items: left first baseline
    106 PASS Checking place-items: left last baseline
    107 PASS Checking place-items: right
    108 PASS Checking place-items: right normal
    109 PASS Checking place-items: right stretch
    110 PASS Checking place-items: right start
    111 PASS Checking place-items: right end
    112 PASS Checking place-items: right self-start
    113 PASS Checking place-items: right self-end
    114 PASS Checking place-items: right left
    115 PASS Checking place-items: right right
    116 PASS Checking place-items: right center
    117 PASS Checking place-items: right flex-start
    118 PASS Checking place-items: right flex-end
    119 PASS Checking place-items: right baseline
    120 PASS Checking place-items: right first baseline
    121 PASS Checking place-items: right last baseline
    122 PASS Checking place-items: center
     86PASS Checking place-items: center left
     87PASS Checking place-items: center right
    12388PASS Checking place-items: center normal
    12489PASS Checking place-items: center stretch
     
    12792PASS Checking place-items: center self-start
    12893PASS Checking place-items: center self-end
    129 PASS Checking place-items: center left
    130 PASS Checking place-items: center right
    13194PASS Checking place-items: center center
    13295PASS Checking place-items: center flex-start
     
    13598PASS Checking place-items: center first baseline
    13699PASS Checking place-items: center last baseline
    137 PASS Checking place-items: flex-start
     100PASS Checking place-items: flex-start left
     101PASS Checking place-items: flex-start right
    138102PASS Checking place-items: flex-start normal
    139103PASS Checking place-items: flex-start stretch
     
    142106PASS Checking place-items: flex-start self-start
    143107PASS Checking place-items: flex-start self-end
    144 PASS Checking place-items: flex-start left
    145 PASS Checking place-items: flex-start right
    146108PASS Checking place-items: flex-start center
    147109PASS Checking place-items: flex-start flex-start
     
    150112PASS Checking place-items: flex-start first baseline
    151113PASS Checking place-items: flex-start last baseline
    152 PASS Checking place-items: flex-end
     114PASS Checking place-items: flex-end left
     115PASS Checking place-items: flex-end right
    153116PASS Checking place-items: flex-end normal
    154117PASS Checking place-items: flex-end stretch
     
    157120PASS Checking place-items: flex-end self-start
    158121PASS Checking place-items: flex-end self-end
    159 PASS Checking place-items: flex-end left
    160 PASS Checking place-items: flex-end right
    161122PASS Checking place-items: flex-end center
    162123PASS Checking place-items: flex-end flex-start
     
    165126PASS Checking place-items: flex-end first baseline
    166127PASS Checking place-items: flex-end last baseline
    167 PASS Checking place-items: baseline
     128PASS Checking place-items: baseline left
     129PASS Checking place-items: baseline right
    168130PASS Checking place-items: baseline normal
    169131PASS Checking place-items: baseline stretch
     
    172134PASS Checking place-items: baseline self-start
    173135PASS Checking place-items: baseline self-end
    174 PASS Checking place-items: baseline left
    175 PASS Checking place-items: baseline right
    176136PASS Checking place-items: baseline center
    177137PASS Checking place-items: baseline flex-start
     
    180140PASS Checking place-items: baseline first baseline
    181141PASS Checking place-items: baseline last baseline
    182 PASS Checking place-items: first baseline
     142PASS Checking place-items: first baseline left
     143PASS Checking place-items: first baseline right
    183144PASS Checking place-items: first baseline normal
    184145PASS Checking place-items: first baseline stretch
     
    187148PASS Checking place-items: first baseline self-start
    188149PASS Checking place-items: first baseline self-end
    189 PASS Checking place-items: first baseline left
    190 PASS Checking place-items: first baseline right
    191150PASS Checking place-items: first baseline center
    192151PASS Checking place-items: first baseline flex-start
     
    195154PASS Checking place-items: first baseline first baseline
    196155PASS Checking place-items: first baseline last baseline
    197 PASS Checking place-items: last baseline
     156PASS Checking place-items: last baseline left
     157PASS Checking place-items: last baseline right
    198158PASS Checking place-items: last baseline normal
    199159PASS Checking place-items: last baseline stretch
     
    202162PASS Checking place-items: last baseline self-start
    203163PASS Checking place-items: last baseline self-end
    204 PASS Checking place-items: last baseline left
    205 PASS Checking place-items: last baseline right
    206164PASS Checking place-items: last baseline center
    207165PASS Checking place-items: last baseline flex-start
  • trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-align/default-alignment/place-items-shorthand-006.html

    r227431 r227432  
    99<div id="log"></div>
    1010<script>
    11     var values = ["normal", "stretch"].concat(selfPositionValues, baselineValues);
    12     values.forEach(function(alignValue) {
    13         [""].concat(values).forEach(function(justifyValue) {
     11    let classes = Object.assign({"Normal":"normal", "Stretch":"stretch"}, selfPositionClasses, baselineClasses);
     12    for (var key1 in classes) {
     13        let alignValue = classes[key1];
     14        let classes2 = Object.assign({"Left":"left", "Right":"right"}, classes);
     15        for (var key2 in classes2) {
     16            let justifyValue = classes2[key2];
    1417            var value = (alignValue + " " + justifyValue).trim();
    1518            test(function() {
    1619                checkPlaceShorhand("place-items", alignValue, justifyValue)
    1720            }, "Checking place-items: " + value);
    18         });
    19     });
     21        }
     22    }
    2023</script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-align/distribution-values/w3c-import.log

    r227431 r227432  
    1515------------------------------------------------------------------------
    1616List of files:
    17 /LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/distribution-values/space-evenly-001-expected.xht
    18 /LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/distribution-values/space-evenly-001.html
     17/LayoutTests/imported/w3c/web-platform-tests/css/css-align/distribution-values/space-evenly-001-expected.xht
     18/LayoutTests/imported/w3c/web-platform-tests/css/css-align/distribution-values/space-evenly-001.html
  • trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-align/resources/w3c-import.log

    r227431 r227432  
    1515------------------------------------------------------------------------
    1616List of files:
    17 /LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/resources/alignment-parsing-utils.js
     17/LayoutTests/imported/w3c/web-platform-tests/css/css-align/resources/alignment-parsing-utils.js
  • trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-align/self-alignment/place-self-shorthand-001-expected.txt

    r227431 r227432  
    77PASS Checking place-self: self-start
    88PASS Checking place-self: self-end
    9 PASS Checking place-self: left
    10 PASS Checking place-self: right
    119PASS Checking place-self: center
    1210PASS Checking place-self: flex-start
  • trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-align/self-alignment/place-self-shorthand-001.html

    r227431 r227432  
    99<div id="log"></div>
    1010<script>
    11     var values = ["auto", "normal", "stretch"].concat(selfPositionValues, baselineValues);
    12     values.forEach(function(value) {
     11    let classes = Object.assign({"Auto":"auto", "Normal":"normal", "Stretch":"stretch"}, selfPositionClasses,
     12                                baselineClasses);
     13    for (var key in classes) {
     14        let value = classes[key];
    1315        test(function() {
    1416            checkPlaceShorhandLonghands("place-self", "align-self", "justify-self", value);
    1517        }, "Checking place-self: " + value);
    16     });
     18    }
    1719</script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-align/self-alignment/place-self-shorthand-002-expected.txt

    r227431 r227432  
    11
     2PASS Checking place-self: auto left
     3PASS Checking place-self: auto right
    24PASS Checking place-self: auto auto
    35PASS Checking place-self: auto normal
     
    79PASS Checking place-self: auto self-start
    810PASS Checking place-self: auto self-end
    9 PASS Checking place-self: auto left
    10 PASS Checking place-self: auto right
    1111PASS Checking place-self: auto center
    1212PASS Checking place-self: auto flex-start
     
    1515PASS Checking place-self: auto first baseline
    1616PASS Checking place-self: auto last baseline
     17PASS Checking place-self: normal left
     18PASS Checking place-self: normal right
    1719PASS Checking place-self: normal auto
    1820PASS Checking place-self: normal normal
     
    2224PASS Checking place-self: normal self-start
    2325PASS Checking place-self: normal self-end
    24 PASS Checking place-self: normal left
    25 PASS Checking place-self: normal right
    2626PASS Checking place-self: normal center
    2727PASS Checking place-self: normal flex-start
     
    3030PASS Checking place-self: normal first baseline
    3131PASS Checking place-self: normal last baseline
     32PASS Checking place-self: stretch left
     33PASS Checking place-self: stretch right
    3234PASS Checking place-self: stretch auto
    3335PASS Checking place-self: stretch normal
     
    3739PASS Checking place-self: stretch self-start
    3840PASS Checking place-self: stretch self-end
    39 PASS Checking place-self: stretch left
    40 PASS Checking place-self: stretch right
    4141PASS Checking place-self: stretch center
    4242PASS Checking place-self: stretch flex-start
     
    4545PASS Checking place-self: stretch first baseline
    4646PASS Checking place-self: stretch last baseline
     47PASS Checking place-self: start left
     48PASS Checking place-self: start right
    4749PASS Checking place-self: start auto
    4850PASS Checking place-self: start normal
     
    5254PASS Checking place-self: start self-start
    5355PASS Checking place-self: start self-end
    54 PASS Checking place-self: start left
    55 PASS Checking place-self: start right
    5656PASS Checking place-self: start center
    5757PASS Checking place-self: start flex-start
     
    6060PASS Checking place-self: start first baseline
    6161PASS Checking place-self: start last baseline
     62PASS Checking place-self: end left
     63PASS Checking place-self: end right
    6264PASS Checking place-self: end auto
    6365PASS Checking place-self: end normal
     
    6769PASS Checking place-self: end self-start
    6870PASS Checking place-self: end self-end
    69 PASS Checking place-self: end left
    70 PASS Checking place-self: end right
    7171PASS Checking place-self: end center
    7272PASS Checking place-self: end flex-start
     
    7575PASS Checking place-self: end first baseline
    7676PASS Checking place-self: end last baseline
     77PASS Checking place-self: self-start left
     78PASS Checking place-self: self-start right
    7779PASS Checking place-self: self-start auto
    7880PASS Checking place-self: self-start normal
     
    8284PASS Checking place-self: self-start self-start
    8385PASS Checking place-self: self-start self-end
    84 PASS Checking place-self: self-start left
    85 PASS Checking place-self: self-start right
    8686PASS Checking place-self: self-start center
    8787PASS Checking place-self: self-start flex-start
     
    9090PASS Checking place-self: self-start first baseline
    9191PASS Checking place-self: self-start last baseline
     92PASS Checking place-self: self-end left
     93PASS Checking place-self: self-end right
    9294PASS Checking place-self: self-end auto
    9395PASS Checking place-self: self-end normal
     
    9799PASS Checking place-self: self-end self-start
    98100PASS Checking place-self: self-end self-end
    99 PASS Checking place-self: self-end left
    100 PASS Checking place-self: self-end right
    101101PASS Checking place-self: self-end center
    102102PASS Checking place-self: self-end flex-start
     
    105105PASS Checking place-self: self-end first baseline
    106106PASS Checking place-self: self-end last baseline
    107 PASS Checking place-self: left auto
    108 PASS Checking place-self: left normal
    109 PASS Checking place-self: left stretch
    110 PASS Checking place-self: left start
    111 PASS Checking place-self: left end
    112 PASS Checking place-self: left self-start
    113 PASS Checking place-self: left self-end
    114 PASS Checking place-self: left left
    115 PASS Checking place-self: left right
    116 PASS Checking place-self: left center
    117 PASS Checking place-self: left flex-start
    118 PASS Checking place-self: left flex-end
    119 PASS Checking place-self: left baseline
    120 PASS Checking place-self: left first baseline
    121 PASS Checking place-self: left last baseline
    122 PASS Checking place-self: right auto
    123 PASS Checking place-self: right normal
    124 PASS Checking place-self: right stretch
    125 PASS Checking place-self: right start
    126 PASS Checking place-self: right end
    127 PASS Checking place-self: right self-start
    128 PASS Checking place-self: right self-end
    129 PASS Checking place-self: right left
    130 PASS Checking place-self: right right
    131 PASS Checking place-self: right center
    132 PASS Checking place-self: right flex-start
    133 PASS Checking place-self: right flex-end
    134 PASS Checking place-self: right baseline
    135 PASS Checking place-self: right first baseline
    136 PASS Checking place-self: right last baseline
     107PASS Checking place-self: center left
     108PASS Checking place-self: center right
    137109PASS Checking place-self: center auto
    138110PASS Checking place-self: center normal
     
    142114PASS Checking place-self: center self-start
    143115PASS Checking place-self: center self-end
    144 PASS Checking place-self: center left
    145 PASS Checking place-self: center right
    146116PASS Checking place-self: center center
    147117PASS Checking place-self: center flex-start
     
    150120PASS Checking place-self: center first baseline
    151121PASS Checking place-self: center last baseline
     122PASS Checking place-self: flex-start left
     123PASS Checking place-self: flex-start right
    152124PASS Checking place-self: flex-start auto
    153125PASS Checking place-self: flex-start normal
     
    157129PASS Checking place-self: flex-start self-start
    158130PASS Checking place-self: flex-start self-end
    159 PASS Checking place-self: flex-start left
    160 PASS Checking place-self: flex-start right
    161131PASS Checking place-self: flex-start center
    162132PASS Checking place-self: flex-start flex-start
     
    165135PASS Checking place-self: flex-start first baseline
    166136PASS Checking place-self: flex-start last baseline
     137PASS Checking place-self: flex-end left
     138PASS Checking place-self: flex-end right
    167139PASS Checking place-self: flex-end auto
    168140PASS Checking place-self: flex-end normal
     
    172144PASS Checking place-self: flex-end self-start
    173145PASS Checking place-self: flex-end self-end
    174 PASS Checking place-self: flex-end left
    175 PASS Checking place-self: flex-end right
    176146PASS Checking place-self: flex-end center
    177147PASS Checking place-self: flex-end flex-start
     
    180150PASS Checking place-self: flex-end first baseline
    181151PASS Checking place-self: flex-end last baseline
     152PASS Checking place-self: baseline left
     153PASS Checking place-self: baseline right
    182154PASS Checking place-self: baseline auto
    183155PASS Checking place-self: baseline normal
     
    187159PASS Checking place-self: baseline self-start
    188160PASS Checking place-self: baseline self-end
    189 PASS Checking place-self: baseline left
    190 PASS Checking place-self: baseline right
    191161PASS Checking place-self: baseline center
    192162PASS Checking place-self: baseline flex-start
     
    195165PASS Checking place-self: baseline first baseline
    196166PASS Checking place-self: baseline last baseline
     167PASS Checking place-self: first baseline left
     168PASS Checking place-self: first baseline right
    197169PASS Checking place-self: first baseline auto
    198170PASS Checking place-self: first baseline normal
     
    202174PASS Checking place-self: first baseline self-start
    203175PASS Checking place-self: first baseline self-end
    204 PASS Checking place-self: first baseline left
    205 PASS Checking place-self: first baseline right
    206176PASS Checking place-self: first baseline center
    207177PASS Checking place-self: first baseline flex-start
     
    210180PASS Checking place-self: first baseline first baseline
    211181PASS Checking place-self: first baseline last baseline
     182PASS Checking place-self: last baseline left
     183PASS Checking place-self: last baseline right
    212184PASS Checking place-self: last baseline auto
    213185PASS Checking place-self: last baseline normal
     
    217189PASS Checking place-self: last baseline self-start
    218190PASS Checking place-self: last baseline self-end
    219 PASS Checking place-self: last baseline left
    220 PASS Checking place-self: last baseline right
    221191PASS Checking place-self: last baseline center
    222192PASS Checking place-self: last baseline flex-start
  • trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-align/self-alignment/place-self-shorthand-002.html

    r227431 r227432  
    99<div id="log"></div>
    1010<script>
    11     var values = ["auto", "normal", "stretch"].concat(selfPositionValues, baselineValues);
    12     values.forEach(function(alignValue) {
    13         values.forEach(function(justifyValue) {
     11    let classes = Object.assign({"Auto":"auto", "Normal":"normal", "Stretch":"stretch"}, selfPositionClasses,
     12                                baselineClasses);
     13    for (var key1 in classes) {
     14        let alignValue = classes[key1];
     15        let classes2 = Object.assign({"Left":"left", "Right":"right"}, classes);
     16        for (var key2 in classes2) {
     17            let justifyValue = classes2[key2];
    1418            test(function() {
    1519                checkPlaceShorhandLonghands("place-self", "align-self", "justify-self", alignValue, justifyValue);
    1620            }, "Checking place-self: " + alignValue + " " + justifyValue);
    17         });
    18     });
     21        }
     22    }
    1923</script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-align/self-alignment/place-self-shorthand-004-expected.txt

    r227431 r227432  
    22PASS Verify overflow keywords are invalid
    33PASS Verify fallback values are invalid
     4PASS Verify 'left' and 'right' values are invalid for block/cross axis alignment
    45PASS Verify numeric values are invalid
    56PASS Verify empty declaration is invalid
  • trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-align/self-alignment/place-self-shorthand-004.html

    r227431 r227432  
    1515
    1616    test(function() {
    17         checkInvalidValues("center safe")
    18         checkInvalidValues("true center")
     17        checkInvalidValues("safe center")
     18        checkInvalidValues("unsafe center")
    1919    }, "Verify overflow keywords are invalid");
    2020
     
    2222        checkInvalidValues("center space-between start")
    2323    }, "Verify fallback values are invalid");
     24
     25    test(function() {
     26        checkInvalidValues("left")
     27        checkInvalidValues("left start")
     28        checkInvalidValues("right center")
     29    }, "Verify 'left' and 'right' values are invalid for block/cross axis alignment");
    2430
    2531    test(function() {
  • trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-align/self-alignment/place-self-shorthand-006-expected.txt

    r227431 r227432  
    11
    2 PASS Checking place-self: auto
     2PASS Checking place-self: auto left
     3PASS Checking place-self: auto right
    34PASS Checking place-self: auto auto
    45PASS Checking place-self: auto normal
     
    89PASS Checking place-self: auto self-start
    910PASS Checking place-self: auto self-end
    10 PASS Checking place-self: auto left
    11 PASS Checking place-self: auto right
    1211PASS Checking place-self: auto center
    1312PASS Checking place-self: auto flex-start
     
    1615PASS Checking place-self: auto first baseline
    1716PASS Checking place-self: auto last baseline
    18 PASS Checking place-self: normal
     17PASS Checking place-self: normal left
     18PASS Checking place-self: normal right
    1919PASS Checking place-self: normal auto
    2020PASS Checking place-self: normal normal
     
    2424PASS Checking place-self: normal self-start
    2525PASS Checking place-self: normal self-end
    26 PASS Checking place-self: normal left
    27 PASS Checking place-self: normal right
    2826PASS Checking place-self: normal center
    2927PASS Checking place-self: normal flex-start
     
    3230PASS Checking place-self: normal first baseline
    3331PASS Checking place-self: normal last baseline
    34 PASS Checking place-self: stretch
     32PASS Checking place-self: stretch left
     33PASS Checking place-self: stretch right
    3534PASS Checking place-self: stretch auto
    3635PASS Checking place-self: stretch normal
     
    4039PASS Checking place-self: stretch self-start
    4140PASS Checking place-self: stretch self-end
    42 PASS Checking place-self: stretch left
    43 PASS Checking place-self: stretch right
    4441PASS Checking place-self: stretch center
    4542PASS Checking place-self: stretch flex-start
     
    4845PASS Checking place-self: stretch first baseline
    4946PASS Checking place-self: stretch last baseline
    50 PASS Checking place-self: start
     47PASS Checking place-self: start left
     48PASS Checking place-self: start right
    5149PASS Checking place-self: start auto
    5250PASS Checking place-self: start normal
     
    5654PASS Checking place-self: start self-start
    5755PASS Checking place-self: start self-end
    58 PASS Checking place-self: start left
    59 PASS Checking place-self: start right
    6056PASS Checking place-self: start center
    6157PASS Checking place-self: start flex-start
     
    6460PASS Checking place-self: start first baseline
    6561PASS Checking place-self: start last baseline
    66 PASS Checking place-self: end
     62PASS Checking place-self: end left
     63PASS Checking place-self: end right
    6764PASS Checking place-self: end auto
    6865PASS Checking place-self: end normal
     
    7269PASS Checking place-self: end self-start
    7370PASS Checking place-self: end self-end
    74 PASS Checking place-self: end left
    75 PASS Checking place-self: end right
    7671PASS Checking place-self: end center
    7772PASS Checking place-self: end flex-start
     
    8075PASS Checking place-self: end first baseline
    8176PASS Checking place-self: end last baseline
    82 PASS Checking place-self: self-start
     77PASS Checking place-self: self-start left
     78PASS Checking place-self: self-start right
    8379PASS Checking place-self: self-start auto
    8480PASS Checking place-self: self-start normal
     
    8884PASS Checking place-self: self-start self-start
    8985PASS Checking place-self: self-start self-end
    90 PASS Checking place-self: self-start left
    91 PASS Checking place-self: self-start right
    9286PASS Checking place-self: self-start center
    9387PASS Checking place-self: self-start flex-start
     
    9690PASS Checking place-self: self-start first baseline
    9791PASS Checking place-self: self-start last baseline
    98 PASS Checking place-self: self-end
     92PASS Checking place-self: self-end left
     93PASS Checking place-self: self-end right
    9994PASS Checking place-self: self-end auto
    10095PASS Checking place-self: self-end normal
     
    10499PASS Checking place-self: self-end self-start
    105100PASS Checking place-self: self-end self-end
    106 PASS Checking place-self: self-end left
    107 PASS Checking place-self: self-end right
    108101PASS Checking place-self: self-end center
    109102PASS Checking place-self: self-end flex-start
     
    112105PASS Checking place-self: self-end first baseline
    113106PASS Checking place-self: self-end last baseline
    114 PASS Checking place-self: left
    115 PASS Checking place-self: left auto
    116 PASS Checking place-self: left normal
    117 PASS Checking place-self: left stretch
    118 PASS Checking place-self: left start
    119 PASS Checking place-self: left end
    120 PASS Checking place-self: left self-start
    121 PASS Checking place-self: left self-end
    122 PASS Checking place-self: left left
    123 PASS Checking place-self: left right
    124 PASS Checking place-self: left center
    125 PASS Checking place-self: left flex-start
    126 PASS Checking place-self: left flex-end
    127 PASS Checking place-self: left baseline
    128 PASS Checking place-self: left first baseline
    129 PASS Checking place-self: left last baseline
    130 PASS Checking place-self: right
    131 PASS Checking place-self: right auto
    132 PASS Checking place-self: right normal
    133 PASS Checking place-self: right stretch
    134 PASS Checking place-self: right start
    135 PASS Checking place-self: right end
    136 PASS Checking place-self: right self-start
    137 PASS Checking place-self: right self-end
    138 PASS Checking place-self: right left
    139 PASS Checking place-self: right right
    140 PASS Checking place-self: right center
    141 PASS Checking place-self: right flex-start
    142 PASS Checking place-self: right flex-end
    143 PASS Checking place-self: right baseline
    144 PASS Checking place-self: right first baseline
    145 PASS Checking place-self: right last baseline
    146 PASS Checking place-self: center
     107PASS Checking place-self: center left
     108PASS Checking place-self: center right
    147109PASS Checking place-self: center auto
    148110PASS Checking place-self: center normal
     
    152114PASS Checking place-self: center self-start
    153115PASS Checking place-self: center self-end
    154 PASS Checking place-self: center left
    155 PASS Checking place-self: center right
    156116PASS Checking place-self: center center
    157117PASS Checking place-self: center flex-start
     
    160120PASS Checking place-self: center first baseline
    161121PASS Checking place-self: center last baseline
    162 PASS Checking place-self: flex-start
     122PASS Checking place-self: flex-start left
     123PASS Checking place-self: flex-start right
    163124PASS Checking place-self: flex-start auto
    164125PASS Checking place-self: flex-start normal
     
    168129PASS Checking place-self: flex-start self-start
    169130PASS Checking place-self: flex-start self-end
    170 PASS Checking place-self: flex-start left
    171 PASS Checking place-self: flex-start right
    172131PASS Checking place-self: flex-start center
    173132PASS Checking place-self: flex-start flex-start
     
    176135PASS Checking place-self: flex-start first baseline
    177136PASS Checking place-self: flex-start last baseline
    178 PASS Checking place-self: flex-end
     137PASS Checking place-self: flex-end left
     138PASS Checking place-self: flex-end right
    179139PASS Checking place-self: flex-end auto
    180140PASS Checking place-self: flex-end normal
     
    184144PASS Checking place-self: flex-end self-start
    185145PASS Checking place-self: flex-end self-end
    186 PASS Checking place-self: flex-end left
    187 PASS Checking place-self: flex-end right
    188146PASS Checking place-self: flex-end center
    189147PASS Checking place-self: flex-end flex-start
     
    192150PASS Checking place-self: flex-end first baseline
    193151PASS Checking place-self: flex-end last baseline
    194 PASS Checking place-self: baseline
     152PASS Checking place-self: baseline left
     153PASS Checking place-self: baseline right
    195154PASS Checking place-self: baseline auto
    196155PASS Checking place-self: baseline normal
     
    200159PASS Checking place-self: baseline self-start
    201160PASS Checking place-self: baseline self-end
    202 PASS Checking place-self: baseline left
    203 PASS Checking place-self: baseline right
    204161PASS Checking place-self: baseline center
    205162PASS Checking place-self: baseline flex-start
     
    208165PASS Checking place-self: baseline first baseline
    209166PASS Checking place-self: baseline last baseline
    210 PASS Checking place-self: first baseline
     167PASS Checking place-self: first baseline left
     168PASS Checking place-self: first baseline right
    211169PASS Checking place-self: first baseline auto
    212170PASS Checking place-self: first baseline normal
     
    216174PASS Checking place-self: first baseline self-start
    217175PASS Checking place-self: first baseline self-end
    218 PASS Checking place-self: first baseline left
    219 PASS Checking place-self: first baseline right
    220176PASS Checking place-self: first baseline center
    221177PASS Checking place-self: first baseline flex-start
     
    224180PASS Checking place-self: first baseline first baseline
    225181PASS Checking place-self: first baseline last baseline
    226 PASS Checking place-self: last baseline
     182PASS Checking place-self: last baseline left
     183PASS Checking place-self: last baseline right
    227184PASS Checking place-self: last baseline auto
    228185PASS Checking place-self: last baseline normal
     
    232189PASS Checking place-self: last baseline self-start
    233190PASS Checking place-self: last baseline self-end
    234 PASS Checking place-self: last baseline left
    235 PASS Checking place-self: last baseline right
    236191PASS Checking place-self: last baseline center
    237192PASS Checking place-self: last baseline flex-start
  • trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-align/self-alignment/place-self-shorthand-006.html

    r227431 r227432  
    99<div id="log"></div>
    1010<script>
    11     var values = ["auto", "normal", "stretch"].concat(selfPositionValues, baselineValues);
    12     values.forEach(function(alignValue) {
    13         [""].concat(values).forEach(function(justifyValue) {
     11    let classes = Object.assign({"Auto":"auto", "Normal":"normal", "Stretch":"stretch"}, selfPositionClasses,
     12                                baselineClasses);
     13    for (var key1 in classes) {
     14        let alignValue = classes[key1];
     15        let classes2 = Object.assign({"Left":"left", "Right":"right"}, classes);
     16        for (var key2 in classes2) {
     17            let justifyValue = classes2[key2];
    1418            var value = (alignValue + " " + justifyValue).trim();
    1519            test(function() {
    1620                checkPlaceShorhand("place-self", alignValue, justifyValue)
    1721            }, "Checking place-self: " + value);
    18         });
    19     });
     22        }
     23    }
    2024</script>
  • trunk/Source/WebCore/ChangeLog

    r227430 r227432  
     12018-01-23  Javier Fernandez  <jfernandez@igalia.com>
     2
     3        [css-align] 'left' and 'right' should parse as invalid in block/cross-axis alignment
     4        https://bugs.webkit.org/show_bug.cgi?id=181792
     5
     6        Reviewed by Antti Koivisto.
     7
     8        The CSS WG resolved to remove the 'left' and 'right' values from the
     9        block/cross axis alignment properties.
     10
     11        https://github.com/w3c/csswg-drafts/issues/1403
     12
     13        This patch changes the CSS parsing logic of all the CSS Box Alignment
     14        properties, both block-axis (align-{self, items, content} and
     15        inline-axis (justify-{self, items, content}).
     16
     17        Additionally, the alignment shorthands (place-{self, items, content})
     18        have been also changed to respect the new syntax.
     19
     20        Despite the number of layout tests changed, I don't think this
     21        change will break any content in current sites. The CSS values
     22        'left' and 'right' were introduced by the new CSS Box Alignment
     23        spec and only implemented by the CSS Grid Layout feature, shipped
     24        last year. Additionally, the removed values have no effect on the
     25        layout result when they are applied to the block/cross-axis CSS
     26        Alignment properties.
     27
     28        Tests: imported/w3c/web-platform-tests/css/css-align/content-distribution/parse-align-content-001.html
     29               imported/w3c/web-platform-tests/css/css-align/content-distribution/parse-align-content-002.html
     30               imported/w3c/web-platform-tests/css/css-align/content-distribution/parse-align-content-003.html
     31               imported/w3c/web-platform-tests/css/css-align/content-distribution/parse-align-content-004.html
     32               imported/w3c/web-platform-tests/css/css-align/content-distribution/parse-align-content-005.html
     33               imported/w3c/web-platform-tests/css/css-align/content-distribution/parse-justify-content-001.html
     34               imported/w3c/web-platform-tests/css/css-align/content-distribution/parse-justify-content-002.html
     35               imported/w3c/web-platform-tests/css/css-align/content-distribution/parse-justify-content-003.html
     36               imported/w3c/web-platform-tests/css/css-align/content-distribution/parse-justify-content-004.html
     37               imported/w3c/web-platform-tests/css/css-align/content-distribution/parse-justify-content-005.html
     38               imported/w3c/web-platform-tests/css/css-align/content-distribution/place-content-shorthand-001.html
     39               imported/w3c/web-platform-tests/css/css-align/content-distribution/place-content-shorthand-002.html
     40               imported/w3c/web-platform-tests/css/css-align/content-distribution/place-content-shorthand-003.html
     41               imported/w3c/web-platform-tests/css/css-align/content-distribution/place-content-shorthand-004.html
     42               imported/w3c/web-platform-tests/css/css-align/content-distribution/place-content-shorthand-005.html
     43               imported/w3c/web-platform-tests/css/css-align/content-distribution/place-content-shorthand-006.html
     44               imported/w3c/web-platform-tests/css/css-align/default-alignment/justify-items-legacy-001.html
     45               imported/w3c/web-platform-tests/css/css-align/default-alignment/parse-align-items-001.html
     46               imported/w3c/web-platform-tests/css/css-align/default-alignment/parse-align-items-002.html
     47               imported/w3c/web-platform-tests/css/css-align/default-alignment/parse-align-items-003.html
     48               imported/w3c/web-platform-tests/css/css-align/default-alignment/parse-align-items-004.html
     49               imported/w3c/web-platform-tests/css/css-align/default-alignment/parse-align-items-005.html
     50               imported/w3c/web-platform-tests/css/css-align/default-alignment/parse-justify-items-001.html
     51               imported/w3c/web-platform-tests/css/css-align/default-alignment/parse-justify-items-002.html
     52               imported/w3c/web-platform-tests/css/css-align/default-alignment/parse-justify-items-003.html
     53               imported/w3c/web-platform-tests/css/css-align/default-alignment/parse-justify-items-004.html
     54               imported/w3c/web-platform-tests/css/css-align/default-alignment/parse-justify-items-005.html
     55               imported/w3c/web-platform-tests/css/css-align/default-alignment/parse-justify-items-006.html
     56               imported/w3c/web-platform-tests/css/css-align/default-alignment/place-items-shorthand-001.html
     57               imported/w3c/web-platform-tests/css/css-align/default-alignment/place-items-shorthand-002.html
     58               imported/w3c/web-platform-tests/css/css-align/default-alignment/place-items-shorthand-003.html
     59               imported/w3c/web-platform-tests/css/css-align/default-alignment/place-items-shorthand-004.html
     60               imported/w3c/web-platform-tests/css/css-align/default-alignment/place-items-shorthand-005.html
     61               imported/w3c/web-platform-tests/css/css-align/default-alignment/place-items-shorthand-006.html
     62               imported/w3c/web-platform-tests/css/css-align/distribution-values/space-evenly-001.html
     63               imported/w3c/web-platform-tests/css/css-align/self-alignment/parse-align-self-001.html
     64               imported/w3c/web-platform-tests/css/css-align/self-alignment/parse-align-self-002.html
     65               imported/w3c/web-platform-tests/css/css-align/self-alignment/parse-align-self-003.html
     66               imported/w3c/web-platform-tests/css/css-align/self-alignment/parse-align-self-004.html
     67               imported/w3c/web-platform-tests/css/css-align/self-alignment/parse-align-self-005.html
     68               imported/w3c/web-platform-tests/css/css-align/self-alignment/parse-justify-self-001.html
     69               imported/w3c/web-platform-tests/css/css-align/self-alignment/parse-justify-self-002.html
     70               imported/w3c/web-platform-tests/css/css-align/self-alignment/parse-justify-self-003.html
     71               imported/w3c/web-platform-tests/css/css-align/self-alignment/parse-justify-self-004.html
     72               imported/w3c/web-platform-tests/css/css-align/self-alignment/parse-justify-self-005.html
     73               imported/w3c/web-platform-tests/css/css-align/self-alignment/place-self-shorthand-001.html
     74               imported/w3c/web-platform-tests/css/css-align/self-alignment/place-self-shorthand-002.html
     75               imported/w3c/web-platform-tests/css/css-align/self-alignment/place-self-shorthand-003.html
     76               imported/w3c/web-platform-tests/css/css-align/self-alignment/place-self-shorthand-004.html
     77               imported/w3c/web-platform-tests/css/css-align/self-alignment/place-self-shorthand-005.html
     78               imported/w3c/web-platform-tests/css/css-align/self-alignment/place-self-shorthand-006.html
     79
     80        * css/parser/CSSPropertyParser.cpp:
     81        (WebCore::isLeftOrRightKeyword):
     82        (WebCore::isContentPositionKeyword):
     83        (WebCore::isContentPositionOrLeftOrRightKeyword):
     84        (WebCore::consumeContentDistributionOverflowPosition):
     85        (WebCore::isSelfPositionKeyword):
     86        (WebCore::isSelfPositionOrLeftOrRightKeyword):
     87        (WebCore::consumeSelfPositionOverflowPosition):
     88        (WebCore::consumeAlignItems):
     89        (WebCore::consumeJustifyItems):
     90        (WebCore::CSSPropertyParser::parseSingleValue):
     91        (WebCore::consumeSimplifiedContentPosition):
     92        (WebCore::CSSPropertyParser::consumePlaceContentShorthand):
     93        (WebCore::consumeSimplifiedItemPosition):
     94        (WebCore::CSSPropertyParser::consumePlaceItemsShorthand):
     95        (WebCore::CSSPropertyParser::consumePlaceSelfShorthand):
     96
    1972018-01-23  Simon Fraser  <simon.fraser@apple.com>
    298
  • trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp

    r227297 r227432  
    26482648}
    26492649
     2650static bool isLeftOrRightKeyword(CSSValueID id)
     2651{
     2652    return identMatches<CSSValueLeft, CSSValueRight>(id);
     2653}
     2654
    26502655static bool isContentDistributionKeyword(CSSValueID id)
    26512656{
     
    26552660static bool isContentPositionKeyword(CSSValueID id)
    26562661{
    2657     return identMatches<CSSValueStart, CSSValueEnd, CSSValueCenter, CSSValueFlexStart, CSSValueFlexEnd, CSSValueLeft, CSSValueRight>(id);
     2662    return identMatches<CSSValueStart, CSSValueEnd, CSSValueCenter, CSSValueFlexStart, CSSValueFlexEnd>(id);
     2663}
     2664
     2665static bool isContentPositionOrLeftOrRightKeyword(CSSValueID id)
     2666{
     2667    return isContentPositionKeyword(id) || isLeftOrRightKeyword(id);
    26582668}
    26592669
     
    26722682    return isOverflowKeyword(range.peek().id()) ? consumeIdent(range) : nullptr;
    26732683}
    2674 
    2675 static RefPtr<CSSPrimitiveValue> consumeContentPositionKeyword(CSSParserTokenRange& range)
    2676 {
    2677     return isContentPositionKeyword(range.peek().id()) ? consumeIdent(range) : nullptr;
    2678 }
    2679 
    26802684
    26812685static CSSValueID getBaselineKeyword(RefPtr<CSSValue> value)
     
    27052709}
    27062710
    2707 
    2708 static RefPtr<CSSValue> consumeContentDistributionOverflowPosition(CSSParserTokenRange& range)
     2711using IsPositionKeyword = bool (*)(CSSValueID);
     2712
     2713static RefPtr<CSSValue> consumeContentDistributionOverflowPosition(CSSParserTokenRange& range, IsPositionKeyword isPositionKeyword)
    27092714{
    27102715    CSSValueID id = range.peek().id();
     
    27192724    }
    27202725
    2721     if (isContentDistributionKeyword(id)) {
    2722         range.consumeIncludingWhitespace();
    2723         return CSSContentDistributionValue::create(id, CSSValueInvalid, CSSValueInvalid);
    2724     }
    2725 
    2726     RefPtr<CSSPrimitiveValue> overflow = consumeOverflowPositionKeyword(range);
    2727     RefPtr<CSSPrimitiveValue> position = consumeContentPositionKeyword(range);
    2728     if (!position)
    2729         return nullptr;
    2730 
    2731     CSSValueID overflowId = overflow ? overflow->valueID() : CSSValueInvalid;
    2732     CSSValueID positionId = position->valueID();
    2733     return CSSContentDistributionValue::create(CSSValueInvalid, positionId, overflowId);
     2726    if (isContentDistributionKeyword(id))
     2727        return CSSContentDistributionValue::create(range.consumeIncludingWhitespace().id(), CSSValueInvalid, CSSValueInvalid);
     2728
     2729    CSSValueID overflow = isOverflowKeyword(id) ? range.consumeIncludingWhitespace().id() : CSSValueInvalid;
     2730    if (isPositionKeyword(range.peek().id()))
     2731        return CSSContentDistributionValue::create(CSSValueInvalid, range.consumeIncludingWhitespace().id(), overflow);
     2732
     2733    return nullptr;
    27342734}
    27352735
     
    30833083}
    30843084
    3085 static RefPtr<CSSPrimitiveValue> consumeSelfPositionKeyword(CSSParserTokenRange& range)
    3086 {
    3087     CSSValueID id = range.peek().id();
    3088     if (id == CSSValueStart || id == CSSValueEnd || id == CSSValueCenter
    3089         || id == CSSValueSelfStart || id == CSSValueSelfEnd || id == CSSValueFlexStart
    3090         || id == CSSValueFlexEnd || id == CSSValueLeft || id == CSSValueRight)
    3091         return consumeIdent(range);
    3092     return nullptr;
    3093 }
    3094 
    3095 static RefPtr<CSSValue> consumeSelfPositionOverflowPosition(CSSParserTokenRange& range)
     3085static bool isSelfPositionKeyword(CSSValueID id)
     3086{
     3087    return identMatches<CSSValueStart, CSSValueEnd, CSSValueCenter, CSSValueSelfStart, CSSValueSelfEnd, CSSValueFlexStart, CSSValueFlexEnd>(id);
     3088}
     3089
     3090static bool isSelfPositionOrLeftOrRightKeyword(CSSValueID id)
     3091{
     3092    return isSelfPositionKeyword(id) || isLeftOrRightKeyword(id);
     3093}
     3094
     3095static RefPtr<CSSValue> consumeSelfPositionOverflowPosition(CSSParserTokenRange& range, IsPositionKeyword isPositionKeyword)
    30963096{
    30973097    CSSValueID id = range.peek().id();
     
    31033103
    31043104    RefPtr<CSSPrimitiveValue> overflowPosition = consumeOverflowPositionKeyword(range);
    3105     RefPtr<CSSPrimitiveValue> selfPosition = consumeSelfPositionKeyword(range);
    3106     if (!selfPosition)
    3107         return nullptr;
     3105    if (!isPositionKeyword(range.peek().id()))
     3106        return nullptr;
     3107    RefPtr<CSSPrimitiveValue> selfPosition = consumeIdent(range);
    31083108    if (overflowPosition)
    31093109        return createPrimitiveValuePair(overflowPosition.releaseNonNull(), selfPosition.releaseNonNull(), Pair::IdenticalValueEncoding::Coalesce);
     
    31163116    if (identMatches<CSSValueAuto>(range.peek().id()))
    31173117        return nullptr;
    3118     return consumeSelfPositionOverflowPosition(range);
     3118    return consumeSelfPositionOverflowPosition(range, isSelfPositionKeyword);
    31193119}
    31203120
     
    31303130        return createPrimitiveValuePair(legacy.releaseNonNull(), positionKeyword.releaseNonNull(), Pair::IdenticalValueEncoding::Coalesce);
    31313131    }
    3132     return consumeSelfPositionOverflowPosition(range);
     3132    return consumeSelfPositionOverflowPosition(range, isSelfPositionOrLeftOrRightKeyword);
    31333133}
    31343134
     
    42084208        return consumeWebkitClipPath(m_range, m_context);
    42094209    case CSSPropertyJustifyContent:
     4210        return consumeContentDistributionOverflowPosition(m_range, isContentPositionOrLeftOrRightKeyword);
    42104211    case CSSPropertyAlignContent:
    4211         return consumeContentDistributionOverflowPosition(m_range);
     4212        return consumeContentDistributionOverflowPosition(m_range, isContentPositionKeyword);
    42124213    case CSSPropertyBorderImageRepeat:
    42134214    case CSSPropertyWebkitMaskBoxImageRepeat:
     
    42624263        return consumeAlignItems(m_range);
    42634264    case CSSPropertyJustifySelf:
     4265        return consumeSelfPositionOverflowPosition(m_range, isSelfPositionOrLeftOrRightKeyword);
    42644266    case CSSPropertyAlignSelf:
    42654267        if (!m_context.cssGridLayoutEnabled)
    42664268            return nullptr;
    4267         return consumeSelfPositionOverflowPosition(m_range);
     4269        return consumeSelfPositionOverflowPosition(m_range, isSelfPositionKeyword);
    42684270    case CSSPropertyJustifyItems:
    42694271        if (!m_context.cssGridLayoutEnabled)
     
    54995501}
    55005502
    5501 static RefPtr<CSSValue> consumeSimplifiedContentPosition(CSSParserTokenRange& range)
     5503static RefPtr<CSSValue> consumeSimplifiedContentPosition(CSSParserTokenRange& range, IsPositionKeyword isPositionKeyword)
    55025504{
    55035505    CSSValueID id = range.peek().id();
    5504     if (identMatches<CSSValueNormal>(id) || isContentPositionKeyword(id))
     5506    if (identMatches<CSSValueNormal>(id) || isPositionKeyword(id))
    55055507        return CSSContentDistributionValue::create(CSSValueInvalid, range.consumeIncludingWhitespace().id(), CSSValueInvalid);
    55065508    if (isBaselineKeyword(id)) {
     
    55225524        return false;
    55235525
    5524     RefPtr<CSSValue> alignContentValue = consumeSimplifiedContentPosition(m_range);
     5526    RefPtr<CSSValue> alignContentValue = consumeSimplifiedContentPosition(m_range, isContentPositionKeyword);
    55255527    if (!alignContentValue)
    55265528        return false;
    5527     RefPtr<CSSValue> justifyContentValue = m_range.atEnd() ? alignContentValue : consumeSimplifiedContentPosition(m_range);
     5529    RefPtr<CSSValue> justifyContentValue = m_range.atEnd() ? alignContentValue : consumeSimplifiedContentPosition(m_range, isContentPositionOrLeftOrRightKeyword);
    55285530    if (!justifyContentValue)
    55295531        return false;
     
    55365538}
    55375539
    5538 static RefPtr<CSSValue> consumeSimplifiedItemPosition(CSSParserTokenRange& range)
     5540static RefPtr<CSSValue> consumeSimplifiedItemPosition(CSSParserTokenRange& range, IsPositionKeyword isPositionKeyword)
    55395541{
    55405542    CSSValueID id = range.peek().id();
    5541     if (isAutoOrNormalOrStretch(id))
     5543    if (isAutoOrNormalOrStretch(id) || isPositionKeyword(id))
    55425544        return consumeIdent(range);
    55435545
     
    55455547        return consumeBaselineKeyword(range);
    55465548
    5547     return consumeSelfPositionKeyword(range);
     5549    return nullptr;
    55485550}
    55495551
     
    55565558        return false;
    55575559
    5558     RefPtr<CSSValue> alignItemsValue = consumeSimplifiedItemPosition(m_range);
     5560    RefPtr<CSSValue> alignItemsValue = consumeSimplifiedItemPosition(m_range, isSelfPositionKeyword);
    55595561    if (!alignItemsValue)
    55605562        return false;
    5561     RefPtr<CSSValue> justifyItemsValue = m_range.atEnd() ? alignItemsValue : consumeSimplifiedItemPosition(m_range);
     5563    RefPtr<CSSValue> justifyItemsValue = m_range.atEnd() ? alignItemsValue : consumeSimplifiedItemPosition(m_range, isSelfPositionOrLeftOrRightKeyword);
    55625564    if (!justifyItemsValue)
    55635565        return false;
     
    55755577    ASSERT(shorthandForProperty(CSSPropertyPlaceSelf).length() == 2);
    55765578
    5577     RefPtr<CSSValue> alignSelfValue = consumeSimplifiedItemPosition(m_range);
     5579    RefPtr<CSSValue> alignSelfValue = consumeSimplifiedItemPosition(m_range, isSelfPositionKeyword);
    55785580    if (!alignSelfValue)
    55795581        return false;
    5580     RefPtr<CSSValue> justifySelfValue = m_range.atEnd() ? alignSelfValue : consumeSimplifiedItemPosition(m_range);
     5582    RefPtr<CSSValue> justifySelfValue = m_range.atEnd() ? alignSelfValue : consumeSimplifiedItemPosition(m_range, isSelfPositionOrLeftOrRightKeyword);
    55815583    if (!justifySelfValue)
    55825584        return false;
Note: See TracChangeset for help on using the changeset viewer.