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.

Source/WebCore:

Broaden justify-self's parsing name as a 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::valueForItemPositionWithOverflowAlignment): Added. Builds the CSSValue for the for the alignment properties.
(WebCore::ComputedStyleExtractor::propertyValue):
* css/CSSParser.cpp:
(WebCore::isKeywordPropertyID): Removed align-items and align-self from the list.
(WebCore::isValidKeywordPropertyAndValue): Removed align-items and align-self from the list.
(WebCore::CSSParser::parseValue): Added align-items and align-self to the list and call to the generic parsing fuction for the alignment properties.
(WebCore::isBaselinePositionKeyword): Utility function added to identify Baseline keyword values.
(WebCore::CSSParser::parseItemPositionOverflowPosition): Generic parsing fuction for the alignment properties.
(WebCore::CSSParser::parseJustifySelf): Deleted.
* css/CSSParser.h:
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Refactoring some mapping functions.
       (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/StyleResolver.cpp:
(WebCore::StyleResolver::adjustRenderStyle): Added a new adjustment to resolve the "auto" vale on the alignment properties.
(WebCore::StyleResolver::adjustStyleForAlignment): Added. Function to resolve the "auto" vale on the alignment properties.
(WebCore::StyleResolver::applyProperty):
(WebCore::isDisplayFlexibleBox): Deleted. Moved to the RenderStyle.
(WebCore::isDisplayGridBox): Deleted. Moved to the RenderStyle.
(WebCore::isDisplayFlexibleOrGridBox): Deleted. Moved to the RenderStyle.
* css/StyleResolver.h:
* rendering/RenderBox.cpp:
(WebCore::flexItemHasStretchAlignment): Adapted to the new ItemPosition enum.
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::firstLineBaseline): Adapted to the new ItemPosition enum.
(WebCore::resolveAlignment): Consider also that align-items could be "auto", since it's the default now.
(WebCore::RenderFlexibleBox::styleDidChange): Adapted to the new ItemPosition enum.
(WebCore::RenderFlexibleBox::alignmentForChild): Adapted to the new ItemPosition enum.
(WebCore::RenderFlexibleBox::needToStretchChild): Adapted to the new ItemPosition enum.
(WebCore::RenderFlexibleBox::layoutAndPlaceChildren): Adapted to the new ItemPosition enum.
(WebCore::RenderFlexibleBox::alignChildren): Adapted to the new ItemPosition enum.
* rendering/RenderFlexibleBox.h:
* rendering/RenderFullScreen.cpp:
(WebCore::createFullScreenStyle): Adapted to the new ItemPosition enum.
* rendering/RenderMenuList.cpp:
(WebCore::RenderMenuList::adjustInnerStyle): Adapted to the new ItemPosition enum.
* rendering/mathml/RenderMathMLRoot.cpp:
(WebCore::RenderMathMLRoot::updateStyle): Adapted to the new ItemPosition enum.
* rendering/mathml/RenderMathMLScripts.cpp:
(WebCore::RenderMathMLScripts::fixAnonymousStyleForSubSupPair): Adapted to the new ItemPosition enum.
(WebCore::RenderMathMLScripts::fixAnonymousStyles): Adapted to the new ItemPosition enum.
* rendering/style/RenderStyle.h: Adapted to the new ItemPosition enum.
* rendering/style/RenderStyleConstants.h: Adapted to the new ItemPosition enum.
* rendering/style/StyleRareNonInheritedData.cpp: Adapted to the new ItemPosition enum.
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): Adapted to the new ItemPosition enum.
(WebCore::StyleRareNonInheritedData::operator==): Adapted to the new ItemPosition enum.
* rendering/style/StyleRareNonInheritedData.h: Adapted to the new ItemPosition enum.
* style/StyleResolveTree.cpp:
(WebCore::Style::determineChange): Changes in the alignItems property will cause a Detach.

LayoutTests:

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.

* 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:
* svg/css/getComputedStyle-basic-expected.txt:
* platform/gtk/TestExpectations: Report new failures and update expectations.


Canonical link: https://commits.webkit.org/156654@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@176218 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  • Loading branch information
javifernandez committed Nov 17, 2014
1 parent 2aebdec commit 0cda4e19cae860f05c6c2386989a1a33a5ba2913
Showing with 1,349 additions and 223 deletions.
  1. +30 −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. +12 −8 LayoutTests/svg/css/getComputedStyle-basic-expected.txt
  14. +83 −0 Source/WebCore/ChangeLog
  15. +23 −15 Source/WebCore/css/CSSComputedStyleDeclaration.cpp
  16. +26 −5 Source/WebCore/css/CSSParser.cpp
  17. +1 −1 Source/WebCore/css/CSSParser.h
  18. +41 −90 Source/WebCore/css/CSSPrimitiveValueMappings.h
  19. +4 −3 Source/WebCore/css/CSSPropertyNames.in
  20. +2 −0 Source/WebCore/css/CSSValueKeywords.in
  21. +74 −27 Source/WebCore/css/StyleResolver.cpp
  22. +1 −0 Source/WebCore/css/StyleResolver.h
  23. +1 −1 Source/WebCore/rendering/RenderBox.cpp
  24. +46 −25 Source/WebCore/rendering/RenderFlexibleBox.cpp
  25. +1 −1 Source/WebCore/rendering/RenderFlexibleBox.h
  26. +1 −1 Source/WebCore/rendering/RenderFullScreen.cpp
  27. +2 −2 Source/WebCore/rendering/RenderMenuList.cpp
  28. +2 −2 Source/WebCore/rendering/mathml/RenderMathMLRoot.cpp
  29. +3 −3 Source/WebCore/rendering/mathml/RenderMathMLScripts.cpp
  30. +39 −12 Source/WebCore/rendering/style/RenderStyle.h
  31. +2 −3 Source/WebCore/rendering/style/RenderStyleConstants.h
  32. +6 −0 Source/WebCore/rendering/style/StyleRareNonInheritedData.cpp
  33. +6 −4 Source/WebCore/rendering/style/StyleRareNonInheritedData.h
  34. +2 −0 Source/WebCore/style/StyleResolveTree.cpp
@@ -1,3 +1,33 @@
2014-11-17 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.

* 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:
* svg/css/getComputedStyle-basic-expected.txt:
* platform/gtk/TestExpectations: Report new failures and update expectations.

2014-11-17 Shivakumar JM <shiva.jm@samsung.com>

Attribute text in HTMLAnchorElement should behave as per specification.
@@ -67,6 +67,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 "auto"
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 "start"
PASS window.getComputedStyle(flexitem, null).webkitAlignSelf is "start"
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', 'auto');

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', 'start');
shouldBeEqualToString('window.getComputedStyle(flexitem, null).webkitAlignSelf', 'start');
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 0cda4e1

Please sign in to comment.