[CherryPick] flex-grow should be 1 when flex:auto
authortony@chromium.org <tony@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 24 Sep 2012 21:35:13 +0000 (21:35 +0000)
committerGerrit Code Review <gerrit2@kim11>
Wed, 22 May 2013 00:43:24 +0000 (09:43 +0900)
[Title] [CherryPick] flex-grow should be 1 when flex:auto
[Issue] TWEB-1141
[Problem] 'flex:auto' is equivalent to 'flex: 1 1 auto' but got 'fiex: 0 1 auto'
[Cause] The flex-grow value was set to 0 when 'flex:auto'. It should be 1.
[Solution] Cherry-pick the opensource patch.
[Cherry-Picker] KyungTae Kim <ktf.kim@samsung.com>

flex-grow should be 1 when omitted from flex shorthand
https://bugs.webkit.org/show_bug.cgi?id=97480

Reviewed by Ojan Vafai.

Source/WebCore:

We were using 0, based on an outdated version of the spec.

Tests: css3/flexbox/flex-property-parsing.html
       css3/flexbox/flex-algorithm.html: New test case.

* css/CSSParser.cpp:
(WebCore::CSSParser::parseFlex):

LayoutTests:

Update tests due to default CSS value changes.

* css3/flexbox/flex-algorithm-expected.txt:
* css3/flexbox/flex-algorithm.html: Add test case using -webkit-flex: auto.
* css3/flexbox/flex-property-parsing-expected.txt:
* css3/flexbox/flex-property-parsing.html:

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

Conflicts:

LayoutTests/ChangeLog
Source/WebCore/ChangeLog

Change-Id: I9085db2b10a723c8a1efd3050f2087ab7e8751cd

LayoutTests/ChangeLog
LayoutTests/css3/flexbox/flex-algorithm-expected.txt
LayoutTests/css3/flexbox/flex-algorithm.html
LayoutTests/css3/flexbox/flex-property-parsing-expected.txt
LayoutTests/css3/flexbox/flex-property-parsing.html
Source/WebCore/ChangeLog
Source/WebCore/css/CSSParser.cpp

index ff23020..8160869 100644 (file)
@@ -1,3 +1,17 @@
+2012-09-24  Tony Chang  <tony@chromium.org>
+
+        flex-grow should be 1 when omitted from flex shorthand
+        https://bugs.webkit.org/show_bug.cgi?id=97480
+
+        Reviewed by Ojan Vafai.
+
+        Update tests due to default CSS value changes.
+
+        * css3/flexbox/flex-algorithm-expected.txt:
+        * css3/flexbox/flex-algorithm.html: Add test case using -webkit-flex: auto.
+        * css3/flexbox/flex-property-parsing-expected.txt:
+        * css3/flexbox/flex-property-parsing.html:
+
 2013-03-18  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
 
         [EFL] Cancel mark on search field is not displayed
index 8d155f3..808f8b6 100644 (file)
@@ -175,6 +175,16 @@ if (window.testRunner)
   <div data-expected-width="200" style="-webkit-flex: 1"></div>
 </div>
 
+<div class="flexbox">
+  <div data-expected-width="200" style="-webkit-flex: auto">
+      <div style="width: 100px;"></div>
+  </div>
+  <div data-expected-width="100" style="-webkit-flex: auto"></div>
+  <div data-expected-width="300" style="-webkit-flex: auto">
+      <div style="width: 200px;"></div>
+  </div>
+</div>
+
 <!-- Test border/padding/margin on the flexbox itself. -->
 <div data-expected-width="830" style="border: 10px solid; display: inline-block;">
     <div data-expected-width="700" style="display: -webkit-flex; padding-left: 10px; padding-right: 20px; border-left: 30px solid; border-right: 40px solid; margin-left: 50px; margin-right:60px;" class="flexbox ">
index 63c8b80..ab8cbdf 100644 (file)
@@ -15,14 +15,14 @@ PASS flexitem.style.webkitFlex is "0 1 0px"
 PASS getComputedStyle(flexitem).webkitFlex is "0 1 0px"
 PASS flexitem.style.webkitFlex is "1.5 1 0px"
 PASS getComputedStyle(flexitem).webkitFlex is "1.5 1 0px"
-PASS flexitem.style.webkitFlex is "0 1 auto"
-PASS getComputedStyle(flexitem).webkitFlex is "0 1 auto"
-PASS flexitem.style.webkitFlex is "0 1 1px"
-PASS getComputedStyle(flexitem).webkitFlex is "0 1 1px"
-PASS flexitem.style.webkitFlex is "0 1 2em"
-PASS getComputedStyle(flexitem).webkitFlex is "0 1 32px"
-PASS flexitem.style.webkitFlex is "0 1 0px"
-PASS getComputedStyle(flexitem).webkitFlex is "0 1 0px"
+PASS flexitem.style.webkitFlex is "1 1 auto"
+PASS getComputedStyle(flexitem).webkitFlex is "1 1 auto"
+PASS flexitem.style.webkitFlex is "1 1 1px"
+PASS getComputedStyle(flexitem).webkitFlex is "1 1 1px"
+PASS flexitem.style.webkitFlex is "1 1 2em"
+PASS getComputedStyle(flexitem).webkitFlex is "1 1 32px"
+PASS flexitem.style.webkitFlex is "1 1 0px"
+PASS getComputedStyle(flexitem).webkitFlex is "1 1 0px"
 PASS flexitem.style.webkitFlex is "0 0 auto"
 PASS getComputedStyle(flexitem).webkitFlex is "0 0 auto"
 PASS flexitem.style.webkitFlex is "0 0 0px"
index 3f301dd..abb6324 100644 (file)
@@ -40,20 +40,20 @@ shouldBeEqualToString('flexitem.style.webkitFlex', '1.5 1 0px');
 shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '1.5 1 0px');
 
 flexitem.style.webkitFlex = 'auto';
-shouldBeEqualToString('flexitem.style.webkitFlex', '0 1 auto');
-shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '0 1 auto');
+shouldBeEqualToString('flexitem.style.webkitFlex', '1 1 auto');
+shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '1 1 auto');
 
 flexitem.style.webkitFlex = '1px';
-shouldBeEqualToString('flexitem.style.webkitFlex', '0 1 1px');
-shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '0 1 1px');
+shouldBeEqualToString('flexitem.style.webkitFlex', '1 1 1px');
+shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '1 1 1px');
 
 flexitem.style.webkitFlex = '2em';
-shouldBeEqualToString('flexitem.style.webkitFlex', '0 1 2em');
-shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '0 1 32px');
+shouldBeEqualToString('flexitem.style.webkitFlex', '1 1 2em');
+shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '1 1 32px');
 
 flexitem.style.webkitFlex = '0px';
-shouldBeEqualToString('flexitem.style.webkitFlex', '0 1 0px');
-shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '0 1 0px');
+shouldBeEqualToString('flexitem.style.webkitFlex', '1 1 0px');
+shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '1 1 0px');
 
 flexitem.style.webkitFlex = 'none';
 flexitem.style.webkitFlex = '-2'; // Invalid, return previous value.
index 4bca8e5..7c3be98 100644 (file)
@@ -1,3 +1,18 @@
+2012-09-24  Tony Chang  <tony@chromium.org>
+
+        flex-grow should be 1 when omitted from flex shorthand
+        https://bugs.webkit.org/show_bug.cgi?id=97480
+
+        Reviewed by Ojan Vafai.
+
+        We were using 0, based on an outdated version of the spec.
+
+        Tests: css3/flexbox/flex-property-parsing.html
+               css3/flexbox/flex-algorithm.html: New test case.
+
+        * css/CSSParser.cpp:
+        (WebCore::CSSParser::parseFlex):
+
 2013-03-18  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
 
         [EFL] Cancel mark on search field is not displayed
index 3320ee9..adc478f 100644 (file)
@@ -5893,7 +5893,7 @@ bool CSSParser::parseFlex(CSSParserValueList* args, bool important)
     }
 
     if (flexGrow == unsetValue)
-        flexGrow = 0;
+        flexGrow = 1;
     if (flexShrink == unsetValue)
         flexShrink = 1;
     if (!flexBasis)