Skip to content
Permalink
Browse files
[CSS Grid Layout] Upgrade align-self and align-items parsing to CSS 3
https://bugs.webkit.org/show_bug.cgi?id=133359

Reviewed by David Hyatt.

From Blink r164817 and r165264 by <jchaffraix@chromium.org>

Source/WebCore:

Broaden justify-self's parsing name

This is in preparation of migrating align-self, align-items
and justify-items to the CSS 3 Alignment syntax.

The current naming was too tied to justify-self and needs to
be broadened. This will reduce the follow-up implementations'
patches.

Upgrade align-self and align-items parsing to CSS 3

This change migrates the 2 properties to the CSS 3 Alignment
parsing. The new parsing is identical to how we parse
'justify-self'. The 2 properties need to be migrated together
as they are used in tandem in CSSComputedStyleDeclaration.

This change also removes EAlignItems as it is now unused.

Tests: css3/parse-align-items.html
       css3/parse-align-self.html

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::resolveAlignmentAuto): Added. Resolves the "auto" value for the alignment properties.
(WebCore::valueForItemPositionWithOverflowAlignment): Added. Builds the CSSValue for the for the alignment properties.
(WebCore::ComputedStyleExtractor::propertyValue):
* css/CSSParser.cpp:
 (WebCore::isValidKeywordPropertyAndValue): Removed align-self, align-items and justify-items.
(WebCore::isKeywordPropertyID): Removed align-self, align-items and justify-items.
(WebCore::isBaselinePositionKeyword): Added. Set of keywords related to baseline value.
(WebCore::CSSParser::parseItemPositionOverflowPosition): Generic parsing fuction for the alignment properties.
(WebCore::CSSParser::parseJustifySelf): Deleted.
(WebCore::CSSParser::parseValue): Added align-items and align-self to the list and call to the generic parsing fuction for the alignment properties.
* css/CSSParser.h:
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added.
(WebCore::CSSPrimitiveValue::operator ItemPosition): Added. Replace the old EAlignItems enumeration.
(WebCore::CSSPrimitiveValue::operator OverflowAlignment): Added.
(WebCore::CSSPrimitiveValue::operator EAlignItems): Deleted.
(WebCore::CSSPrimitiveValue::operator EJustifySelf): Deleted.
(WebCore::CSSPrimitiveValue::operator EJustifySelfOverflowAlignment): Deleted.
* css/CSSPropertyNames.in:
* css/CSSValueKeywords.in:
* css/StyleBuilderCustom.h:
(WebCore::StyleBuilderCustom::applyInheritAlignSelf): Added.
(WebCore::StyleBuilderCustom::applyInitialAlignSelf): Added.
(WebCore::StyleBuilderCustom::applyValueAlignSelf): Added.
(WebCore::StyleBuilderCustom::applyInheritAlignItems): Added.
(WebCore::StyleBuilderCustom::applyInitialAlignItems): Added.
(WebCore::StyleBuilderCustom::applyValueAlignItems): Added.
(WebCore::StyleBuilderCustom::applyInheritJustifySelf): Added.
(WebCore::StyleBuilderCustom::applyInitialJustifySelf): Added.
(WebCore::StyleBuilderCustom::applyValueJustifySelf): Added.
(WebCore::StyleBuilderCustom::applyValueWebkitJustifySelf): Deleted.
* css/StyleResolver.cpp:
(WebCore::StyleResolver::adjustRenderStyle): isDisplayFlexibleOrGridBox now a RenderStyle function.
(WebCore::isDisplayFlexibleBox): Deleted. Moved to RenderStyle.
(WebCore::isDisplayGridBox): Deleted. Moved to RenderStyle.
(WebCore::isDisplayFlexibleOrGridBox): Deleted. Moved to RenderStyle.
* rendering/RenderBox.cpp:
(WebCore::flexItemHasStretchAlignment): Adapted to the new ItemPostition enum.
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::firstLineBaseline): Adapted to the new ItemPostition enum.
(WebCore::RenderFlexibleBox::styleDidChange): Adapted to the new ItemPostition enum.
(WebCore::RenderFlexibleBox::alignmentForChild): Adapted to the new ItemPostition enum.
(WebCore::RenderFlexibleBox::needToStretchChild): Adapted to the new ItemPostition enum.
(WebCore::RenderFlexibleBox::layoutAndPlaceChildren): Adapted to the new ItemPostition enum.
(WebCore::RenderFlexibleBox::alignChildren): Adapted to the new ItemPostition enum.
(WebCore::resolveAlignment): Deleted. Moved to RenderStyle.
* rendering/RenderFlexibleBox.h:
* rendering/RenderFullScreen.cpp:
(WebCore::createFullScreenStyle): Adapted to the new ItemPostition enum.
* rendering/RenderMenuList.cpp:
(WebCore::RenderMenuList::adjustInnerStyle): Adapted to the new ItemPostition enum.
* rendering/mathml/RenderMathMLRoot.cpp:
(WebCore::RenderMathMLRoot::updateStyle): Adapted to the new ItemPostition enum.
* rendering/mathml/RenderMathMLScripts.cpp:
(WebCore::RenderMathMLScripts::fixAnonymousStyleForSubSupPair): Adapted to the new ItemPostition enum.
(WebCore::RenderMathMLScripts::fixAnonymousStyles): Adapted to the new ItemPostition enum.
* rendering/style/ContentData.h:
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::resolveAlignment): Added.
* rendering/style/RenderStyle.h: Adapted to the new ItemPostition enum.
* rendering/style/RenderStyleConstants.h: Adapted to the new ItemPostition enum.
* rendering/style/StyleRareNonInheritedData.cpp: Adapted to the new ItemPostition enum.
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): Adapted to the new ItemPostition enum.
(WebCore::StyleRareNonInheritedData::operator==): Adapted to the new ItemPostition enum.
* rendering/style/StyleRareNonInheritedData.h: Adapted to the new ItemPostition enum.
* style/StyleResolveTree.cpp:
(WebCore::Style::determineChange): Changes in the alignItems property cause a Detach.

LayoutTests:

Broaden justify-self's parsing name and upgrade align-self and
align-items parsing to CSS 3.

* TestExpectations:
* css3/flexbox/css-properties-expected.txt:
* css3/flexbox/css-properties.html:
* css3/parse-align-items-expected.txt: Added.
* css3/parse-align-items.html: Added.
* css3/parse-align-self-expected.txt: Added.
* css3/parse-align-self.html: Added.
* css3/resources/alignment-parsing-utils.js: Added.
(checkValues):
(checkBadValues):
(checkInitialValues):
(checkInheritValues):
(checkLegacyValues):
* fast/css/getComputedStyle/computed-style-expected.txt:
* fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
* fast/css/getComputedStyle/resources/property-names.js:
* fast/css/parse-justify-self-expected.txt:
* fast/css/parse-justify-self.html:
* svg/css/getComputedStyle-basic-expected.txt:


Canonical link: https://commits.webkit.org/161247@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@182147 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  • Loading branch information
javifernandez committed Mar 30, 2015
1 parent 7599ef5 commit a8b3002d57659549b97346ace78bea62fbe62807
Showing with 1,502 additions and 383 deletions.
  1. +32 −0 LayoutTests/ChangeLog
  2. +4 −0 LayoutTests/TestExpectations
  3. +14 −7 LayoutTests/css3/flexbox/css-properties-expected.txt
  4. +17 −9 LayoutTests/css3/flexbox/css-properties.html
  5. +137 −0 LayoutTests/css3/parse-align-items-expected.txt
  6. +270 −0 LayoutTests/css3/parse-align-items.html
  7. +155 −0 LayoutTests/css3/parse-align-self-expected.txt
  8. +291 −0 LayoutTests/css3/parse-align-self.html
  9. +46 −0 LayoutTests/css3/resources/alignment-parsing-utils.js
  10. +3 −2 LayoutTests/fast/css/getComputedStyle/computed-style-expected.txt
  11. +3 −2 LayoutTests/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt
  12. +1 −0 LayoutTests/fast/css/getComputedStyle/resources/property-names.js
  13. +42 −44 LayoutTests/fast/css/parse-justify-self-expected.txt
  14. +80 −86 LayoutTests/fast/css/parse-justify-self.html
  15. +12 −8 LayoutTests/svg/css/getComputedStyle-basic-expected.txt
  16. +99 −0 Source/WebCore/ChangeLog
  17. +37 −16 Source/WebCore/css/CSSComputedStyleDeclaration.cpp
  18. +14 −22 Source/WebCore/css/CSSParser.cpp
  19. +1 −1 Source/WebCore/css/CSSParser.h
  20. +41 −90 Source/WebCore/css/CSSPrimitiveValueMappings.h
  21. +3 −3 Source/WebCore/css/CSSPropertyNames.in
  22. +2 −0 Source/WebCore/css/CSSValueKeywords.in
  23. +75 −12 Source/WebCore/css/StyleBuilderCustom.h
  24. +2 −22 Source/WebCore/css/StyleResolver.cpp
  25. +4 −0 Source/WebCore/mathml/MathMLTextElement.cpp
  26. +1 −1 Source/WebCore/rendering/RenderBox.cpp
  27. +37 −29 Source/WebCore/rendering/RenderFlexibleBox.cpp
  28. +1 −1 Source/WebCore/rendering/RenderFlexibleBox.h
  29. +1 −1 Source/WebCore/rendering/RenderFullScreen.cpp
  30. +2 −2 Source/WebCore/rendering/RenderMenuList.cpp
  31. +2 −2 Source/WebCore/rendering/mathml/RenderMathMLRoot.cpp
  32. +3 −3 Source/WebCore/rendering/mathml/RenderMathMLScripts.cpp
  33. +4 −1 Source/WebCore/rendering/style/ContentData.h
  34. +8 −0 Source/WebCore/rendering/style/RenderStyle.cpp
  35. +41 −12 Source/WebCore/rendering/style/RenderStyle.h
  36. +2 −3 Source/WebCore/rendering/style/RenderStyleConstants.h
  37. +7 −0 Source/WebCore/rendering/style/StyleRareNonInheritedData.cpp
  38. +6 −4 Source/WebCore/rendering/style/StyleRareNonInheritedData.h
  39. +2 −0 Source/WebCore/style/StyleResolveTree.cpp
@@ -1,3 +1,35 @@
2015-03-30 Javier Fernandez <jfernandez@igalia.com>

[CSS Grid Layout] Upgrade align-self and align-items parsing to CSS 3
https://bugs.webkit.org/show_bug.cgi?id=133359

Reviewed by David Hyatt.

From Blink r164817 and r165264 by <jchaffraix@chromium.org>

Broaden justify-self's parsing name and upgrade align-self and
align-items parsing to CSS 3.

* TestExpectations:
* css3/flexbox/css-properties-expected.txt:
* css3/flexbox/css-properties.html:
* css3/parse-align-items-expected.txt: Added.
* css3/parse-align-items.html: Added.
* css3/parse-align-self-expected.txt: Added.
* css3/parse-align-self.html: Added.
* css3/resources/alignment-parsing-utils.js: Added.
(checkValues):
(checkBadValues):
(checkInitialValues):
(checkInheritValues):
(checkLegacyValues):
* fast/css/getComputedStyle/computed-style-expected.txt:
* fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
* fast/css/getComputedStyle/resources/property-names.js:
* fast/css/parse-justify-self-expected.txt:
* fast/css/parse-justify-self.html:
* svg/css/getComputedStyle-basic-expected.txt:

2015-03-27 David Hyatt <hyatt@apple.com>

[New Block-Inside-Inline Model] Create anonymous inline blocks to hold blocks-inside-inlines.
@@ -69,6 +69,10 @@ webkit.org/b/127860 [ Debug ] js/function-apply-aliased.html [ Skip ]
# This test verifies dynamic manipulation of the mroot and msqrt elements.
mathml/roots-removeChild.html [ ImageOnlyFailure ]

webkit.org/b/133359 mathml/presentation/style-changed.html [ ImageOnlyFailure ]
webkit.org/b/136291 platform/mac/accessibility/webkit-alt-for-css-content.html [ Failure ]
webkit.org/b/136291 platform/mac/accessibility/alt-for-css-content.html [ Failure ]

# This test verifies that a mismatch reftest will fail as intended if both results are same. (introduced in r93187)
fast/harness/sample-fail-mismatch-reftest.html [ WontFix ImageOnlyFailure ]

@@ -29,11 +29,12 @@ PASS window.getComputedStyle(flexbox, null).webkitJustifyContent is "space-betwe
PASS flexbox.style.webkitJustifyContent is ""
PASS window.getComputedStyle(flexbox, null).webkitJustifyContent is "flex-start"
PASS flexbox.style.webkitAlignSelf is ""
PASS window.getComputedStyle(flexbox, null).webkitAlignSelf is "stretch"
PASS window.getComputedStyle(document.documentElement, null).webkitAlignSelf is "stretch"
PASS window.getComputedStyle(flexbox, null).webkitAlignSelf is "start"
PASS window.getComputedStyle(document.documentElement, null).webkitAlignSelf is "start"
PASS flexbox.style.webkitAlignSelf is ""
PASS window.getComputedStyle(flexbox, null).webkitAlignSelf is "start"
PASS flexbox.style.webkitAlignSelf is "auto"
PASS window.getComputedStyle(flexbox, null).webkitAlignSelf is "stretch"
PASS window.getComputedStyle(flexbox, null).webkitAlignSelf is "start"
PASS flexbox.style.webkitAlignSelf is "flex-start"
PASS window.getComputedStyle(flexbox, null).webkitAlignSelf is "flex-start"
PASS flexbox.style.webkitAlignSelf is "flex-end"
@@ -45,15 +46,21 @@ PASS window.getComputedStyle(flexbox, null).webkitAlignSelf is "stretch"
PASS flexbox.style.webkitAlignSelf is "baseline"
PASS window.getComputedStyle(flexbox, null).webkitAlignSelf is "baseline"
PASS flexbox.style.webkitAlignSelf is ""
PASS window.getComputedStyle(flexbox, null).webkitAlignSelf is "stretch"
PASS window.getComputedStyle(flexbox, null).webkitAlignSelf is "start"
PASS flexbox.style.webkitAlignItems is ""
PASS flexitem.style.webkitAlignSelf is ""
PASS window.getComputedStyle(flexbox, null).webkitAlignItems is "stretch"
PASS window.getComputedStyle(flexitem, null).webkitAlignSelf is "stretch"
PASS flexbox.style.webkitAlignItems is ""
PASS flexbox.style.webkitAlignItems is ""
PASS flexitem.style.webkitAlignSelf is ""
PASS window.getComputedStyle(flexbox, null).webkitAlignItems is "stretch"
PASS window.getComputedStyle(flexitem, null).webkitAlignSelf is "stretch"
PASS flexbox.style.webkitAlignItems is "auto"
PASS flexitem.style.webkitAlignSelf is ""
PASS window.getComputedStyle(flexbox, null).webkitAlignItems is "stretch"
PASS window.getComputedStyle(flexitem, null).webkitAlignSelf is "stretch"
PASS flexbox.style.webkitAlignItems is "flex-start"
PASS flexitem.style.webkitAlignSelf is ""
PASS window.getComputedStyle(flexbox, null).webkitAlignItems is "flex-start"
PASS window.getComputedStyle(flexitem, null).webkitAlignSelf is "flex-start"
PASS flexbox.style.webkitAlignItems is "flex-end"
@@ -72,8 +79,8 @@ PASS flexbox.style.webkitAlignItems is ""
PASS window.getComputedStyle(flexbox, null).webkitAlignItems is "stretch"
PASS window.getComputedStyle(flexitem, null).webkitAlignSelf is "stretch"
PASS flexbox.style.webkitAlignItems is ""
PASS window.getComputedStyle(flexbox, null).webkitAlignItems is "stretch"
PASS window.getComputedStyle(flexitem, null).webkitAlignSelf is "stretch"
PASS window.getComputedStyle(flexbox, null).webkitAlignItems is "auto"
PASS window.getComputedStyle(flexitem, null).webkitAlignSelf is "auto"
PASS window.getComputedStyle(detachedFlexbox, null).webkitAlignSelf is ""
PASS window.getComputedStyle(detachedFlexItem, null).webkitAlignSelf is ""
PASS flexbox.style.webkitFlexDirection is ""
@@ -78,18 +78,20 @@
shouldBeEqualToString('flexbox.style.webkitJustifyContent', '');
shouldBeEqualToString('window.getComputedStyle(flexbox, null).webkitJustifyContent', 'flex-start');

flexbox.style.display = '-webkit-flex';

shouldBeEqualToString('flexbox.style.webkitAlignSelf', '');
// The initial value is 'stretch'.
shouldBeEqualToString('window.getComputedStyle(flexbox, null).webkitAlignSelf', 'stretch');
shouldBeEqualToString('window.getComputedStyle(document.documentElement, null).webkitAlignSelf', 'stretch');
// The initial value is 'auto', which will be resolved depending on parent's style (except for the 'document' element).
shouldBeEqualToString('window.getComputedStyle(flexbox, null).webkitAlignSelf', 'start');
shouldBeEqualToString('window.getComputedStyle(document.documentElement, null).webkitAlignSelf', 'start');

flexbox.style.webkitAlignSelf = 'foo';
shouldBeEqualToString('flexbox.style.webkitAlignSelf', '');
shouldBeEqualToString('window.getComputedStyle(flexbox, null).webkitAlignSelf', 'start');

flexbox.style.webkitAlignSelf = 'auto';
shouldBeEqualToString('flexbox.style.webkitAlignSelf', 'auto');
shouldBeEqualToString('window.getComputedStyle(flexbox, null).webkitAlignSelf', 'stretch');
shouldBeEqualToString('window.getComputedStyle(flexbox, null).webkitAlignSelf', 'start');

flexbox.style.webkitAlignSelf = 'flex-start';
shouldBeEqualToString('flexbox.style.webkitAlignSelf', 'flex-start');
@@ -113,23 +115,29 @@

flexbox.style.webkitAlignSelf = '';
shouldBeEqualToString('flexbox.style.webkitAlignSelf', '');
shouldBeEqualToString('window.getComputedStyle(flexbox, null).webkitAlignSelf', 'stretch');
shouldBeEqualToString('window.getComputedStyle(flexbox, null).webkitAlignSelf', 'start');

shouldBeEqualToString('flexbox.style.webkitAlignItems', '');
// The initial value is 'stretch'.
shouldBeEqualToString('flexitem.style.webkitAlignSelf', '');
// The initial value is 'auto', which will be resolved to 'stretch' in case of flexbox containers.
shouldBeEqualToString('window.getComputedStyle(flexbox, null).webkitAlignItems', 'stretch');
shouldBeEqualToString('window.getComputedStyle(flexitem, null).webkitAlignSelf', 'stretch');

flexbox.style.webkitAlignItems = 'foo';
shouldBeEqualToString('flexbox.style.webkitAlignItems', '');
shouldBeEqualToString('flexitem.style.webkitAlignSelf', '');
shouldBeEqualToString('window.getComputedStyle(flexbox, null).webkitAlignItems', 'stretch');
shouldBeEqualToString('window.getComputedStyle(flexitem, null).webkitAlignSelf', 'stretch');

flexbox.style.webkitAlignItems = 'auto';
shouldBeEqualToString('flexbox.style.webkitAlignItems', '');
shouldBeEqualToString('flexbox.style.webkitAlignItems', 'auto');
shouldBeEqualToString('flexitem.style.webkitAlignSelf', '');
shouldBeEqualToString('window.getComputedStyle(flexbox, null).webkitAlignItems', 'stretch');
shouldBeEqualToString('window.getComputedStyle(flexitem, null).webkitAlignSelf', 'stretch');

flexbox.style.webkitAlignItems = 'flex-start';
shouldBeEqualToString('flexbox.style.webkitAlignItems', 'flex-start');
shouldBeEqualToString('flexitem.style.webkitAlignSelf', '');
shouldBeEqualToString('window.getComputedStyle(flexbox, null).webkitAlignItems', 'flex-start');
shouldBeEqualToString('window.getComputedStyle(flexitem, null).webkitAlignSelf', 'flex-start');

@@ -160,8 +168,8 @@

flexbox.style.display = 'none';
shouldBeEqualToString('flexbox.style.webkitAlignItems', '');
shouldBeEqualToString('window.getComputedStyle(flexbox, null).webkitAlignItems', 'stretch');
shouldBeEqualToString('window.getComputedStyle(flexitem, null).webkitAlignSelf', 'stretch');
shouldBeEqualToString('window.getComputedStyle(flexbox, null).webkitAlignItems', 'auto');
shouldBeEqualToString('window.getComputedStyle(flexitem, null).webkitAlignSelf', 'auto');
flexbox.style.display = '';


@@ -0,0 +1,137 @@
Test that setting and getting align-items works as expected

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".


Test getting align-items set through CSS
PASS getComputedStyle(alignItemsBaseline, '').getPropertyValue('-webkit-align-items') is 'baseline'
PASS getComputedStyle(alignItemsLastBaseline, '').getPropertyValue('-webkit-align-items') is 'last-baseline'
PASS getComputedStyle(alignItemsStretch, '').getPropertyValue('-webkit-align-items') is 'stretch'
PASS getComputedStyle(alignItemsStart, '').getPropertyValue('-webkit-align-items') is 'start'
PASS getComputedStyle(alignItemsEnd, '').getPropertyValue('-webkit-align-items') is 'end'
PASS getComputedStyle(alignItemsCenter, '').getPropertyValue('-webkit-align-items') is 'center'
PASS getComputedStyle(alignItemsSelfEnd, '').getPropertyValue('-webkit-align-items') is 'self-end'
PASS getComputedStyle(alignItemsSelfStart, '').getPropertyValue('-webkit-align-items') is 'self-start'
PASS getComputedStyle(alignItemsLeft, '').getPropertyValue('-webkit-align-items') is 'left'
PASS getComputedStyle(alignItemsRight, '').getPropertyValue('-webkit-align-items') is 'right'
PASS getComputedStyle(alignItemsFlexStart, '').getPropertyValue('-webkit-align-items') is 'flex-start'
PASS getComputedStyle(alignItemsFlexEnd, '').getPropertyValue('-webkit-align-items') is 'flex-end'
PASS getComputedStyle(alignItemsEndTrue, '').getPropertyValue('-webkit-align-items') is 'end true'
PASS getComputedStyle(alignItemsCenterTrue, '').getPropertyValue('-webkit-align-items') is 'center true'
PASS getComputedStyle(alignItemsSelfEndSafe, '').getPropertyValue('-webkit-align-items') is 'self-end safe'
PASS getComputedStyle(alignItemsSelfStartSafe, '').getPropertyValue('-webkit-align-items') is 'self-start safe'
PASS getComputedStyle(alignItemsRightSafe, '').getPropertyValue('-webkit-align-items') is 'right safe'
PASS getComputedStyle(alignItemsLeftTrue, '').getPropertyValue('-webkit-align-items') is 'left true'
PASS getComputedStyle(alignItemsFlexStartTrue, '').getPropertyValue('-webkit-align-items') is 'flex-start true'
PASS getComputedStyle(alignItemsFlexEndSafe, '').getPropertyValue('-webkit-align-items') is 'flex-end safe'

Test initial value of align-items through JS
PASS getComputedStyle(element, '').getPropertyValue('-webkit-align-items') is 'start'

Test getting and setting align-items through JS
PASS element.style.webkitAlignItems is "center"
PASS window.getComputedStyle(element, '').getPropertyValue('-webkit-align-items') is "center"
PASS element.style.webkitAlignItems is "start true"
PASS window.getComputedStyle(element, '').getPropertyValue('-webkit-align-items') is "start true"
PASS element.style.webkitAlignItems is "flex-end safe"
PASS window.getComputedStyle(element, '').getPropertyValue('-webkit-align-items') is "flex-end safe"
PASS element.style.webkitAlignItems is "right"
PASS window.getComputedStyle(element, '').getPropertyValue('-webkit-align-items') is "right"
PASS element.style.webkitAlignItems is "center"
PASS window.getComputedStyle(element, '').getPropertyValue('-webkit-align-items') is "center"
PASS element.style.webkitAlignItems is "self-start"
PASS window.getComputedStyle(element, '').getPropertyValue('-webkit-align-items') is "self-start"
PASS element.style.webkitAlignItems is "auto"
PASS window.getComputedStyle(element, '').getPropertyValue('-webkit-align-items') is "start"
PASS element.style.webkitAlignItems is "auto"
PASS window.getComputedStyle(element, '').getPropertyValue('-webkit-align-items') is "stretch"
PASS element.style.webkitAlignItems is "auto"
PASS window.getComputedStyle(element, '').getPropertyValue('-webkit-align-items') is "stretch"
PASS element.style.webkitAlignItems is "self-end"
PASS window.getComputedStyle(element, '').getPropertyValue('-webkit-align-items') is "self-end"

Test bad combinations of align-items
PASS element.style.webkitAlignItems is ""
PASS window.getComputedStyle(element, '').getPropertyValue('-webkit-align-items') is "start"
PASS element.style.webkitAlignItems is ""
PASS window.getComputedStyle(element, '').getPropertyValue('-webkit-align-items') is "start"
PASS element.style.webkitAlignItems is ""
PASS window.getComputedStyle(element, '').getPropertyValue('-webkit-align-items') is "start"
PASS element.style.webkitAlignItems is ""
PASS window.getComputedStyle(element, '').getPropertyValue('-webkit-align-items') is "start"
PASS element.style.webkitAlignItems is ""
PASS window.getComputedStyle(element, '').getPropertyValue('-webkit-align-items') is "start"
PASS element.style.webkitAlignItems is ""
PASS window.getComputedStyle(element, '').getPropertyValue('-webkit-align-items') is "start"
PASS element.style.webkitAlignItems is ""
PASS window.getComputedStyle(element, '').getPropertyValue('-webkit-align-items') is "start"
PASS element.style.webkitAlignItems is ""
PASS window.getComputedStyle(element, '').getPropertyValue('-webkit-align-items') is "start"
PASS element.style.webkitAlignItems is ""
PASS window.getComputedStyle(element, '').getPropertyValue('-webkit-align-items') is "start"
PASS element.style.webkitAlignItems is ""
PASS window.getComputedStyle(element, '').getPropertyValue('-webkit-align-items') is "start"
PASS element.style.webkitAlignItems is ""
PASS window.getComputedStyle(element, '').getPropertyValue('-webkit-align-items') is "start"
PASS element.style.webkitAlignItems is ""
PASS window.getComputedStyle(element, '').getPropertyValue('-webkit-align-items') is "start"
PASS element.style.webkitAlignItems is ""
PASS window.getComputedStyle(element, '').getPropertyValue('-webkit-align-items') is "start"
PASS element.style.webkitAlignItems is ""
PASS window.getComputedStyle(element, '').getPropertyValue('-webkit-align-items') is "start"
PASS element.style.webkitAlignItems is ""
PASS window.getComputedStyle(element, '').getPropertyValue('-webkit-align-items') is "start"
PASS element.style.webkitAlignItems is ""
PASS window.getComputedStyle(element, '').getPropertyValue('-webkit-align-items') is "start"
PASS element.style.webkitAlignItems is ""
PASS window.getComputedStyle(element, '').getPropertyValue('-webkit-align-items') is "start"
PASS element.style.webkitAlignItems is ""
PASS window.getComputedStyle(element, '').getPropertyValue('-webkit-align-items') is "start"
PASS element.style.webkitAlignItems is ""
PASS window.getComputedStyle(element, '').getPropertyValue('-webkit-align-items') is "start"
PASS element.style.webkitAlignItems is ""
PASS window.getComputedStyle(element, '').getPropertyValue('-webkit-align-items') is "start"
PASS element.style.webkitAlignItems is ""
PASS window.getComputedStyle(element, '').getPropertyValue('-webkit-align-items') is "start"
PASS element.style.webkitAlignItems is ""
PASS window.getComputedStyle(element, '').getPropertyValue('-webkit-align-items') is "start"
PASS element.style.webkitAlignItems is ""
PASS window.getComputedStyle(element, '').getPropertyValue('-webkit-align-items') is "start"
PASS element.style.webkitAlignItems is ""
PASS window.getComputedStyle(element, '').getPropertyValue('-webkit-align-items') is "start"

Test the value 'initial'
PASS element.style.webkitAlignItems is "center"
PASS window.getComputedStyle(element, '').getPropertyValue('-webkit-align-items') is "center"
PASS element.style.webkitAlignItems is "initial"
PASS window.getComputedStyle(element, '').getPropertyValue('-webkit-align-items') is "start"

Test the value 'initial' for grid containers
PASS element.style.webkitAlignItems is "left safe"
PASS window.getComputedStyle(element, '').getPropertyValue('-webkit-align-items') is "left safe"
PASS element.style.webkitAlignItems is "initial"
PASS window.getComputedStyle(element, '').getPropertyValue('-webkit-align-items') is "stretch"

Test the value 'initial' for flex containers
PASS element.style.webkitAlignItems is "right true"
PASS window.getComputedStyle(element, '').getPropertyValue('-webkit-align-items') is "right true"
PASS element.style.webkitAlignItems is "initial"
PASS window.getComputedStyle(element, '').getPropertyValue('-webkit-align-items') is "stretch"

Test the value 'inherit'
PASS element.style.webkitAlignItems is "end"
PASS window.getComputedStyle(element, '').getPropertyValue('-webkit-align-items') is "end"
PASS element.style.webkitAlignItems is "inherit"
PASS window.getComputedStyle(element, '').getPropertyValue('-webkit-align-items') is "end"
PASS element.style.webkitAlignItems is "left safe"
PASS window.getComputedStyle(element, '').getPropertyValue('-webkit-align-items') is "left safe"
PASS element.style.webkitAlignItems is "inherit"
PASS window.getComputedStyle(element, '').getPropertyValue('-webkit-align-items') is "left safe"
PASS element.style.webkitAlignItems is "center true"
PASS window.getComputedStyle(element, '').getPropertyValue('-webkit-align-items') is "center true"
PASS element.style.webkitAlignItems is "inherit"
PASS window.getComputedStyle(element, '').getPropertyValue('-webkit-align-items') is "center true"
PASS successfullyParsed is true

TEST COMPLETE

0 comments on commit a8b3002

Please sign in to comment.