webkit crashes on debug builds when running IETC flexbox-ordinal-group-001.htm
authortony@chromium.org <tony@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 6 Jun 2012 21:41:45 +0000 (21:41 +0000)
committertony@chromium.org <tony@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 6 Jun 2012 21:41:45 +0000 (21:41 +0000)
https://bugs.webkit.org/show_bug.cgi?id=85832

Reviewed by Ojan Vafai.

Source/WebCore:

We were using a HashSet<unsigned>, which can't hold the value of 0.
According to the spec, 0 isn't a valid value, so at CSS parse time,
reject the value 0. This lets us pass the test, although that's kind
of by accident.

We could allow 0 for box-ordinal-group, but there are some perf implications
to having allowing a value below the initial value (1 in this case).

We still allow 0 for box-flex-group, because that's what the existing code
does and there are tests expecting this behavior.

No new tests, covered by ietestcenter/css3/flexbox/flexbox-ordinal-group-001.htm
which was crashing.

* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue): Reject 0 for -webkit-box-ordinal-group.

LayoutTests:

* platform/chromium/TestExpectations: Remove test that passes.
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac/TestExpectations:
* platform/qt/TestExpectations:
* platform/win/Skipped:

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

LayoutTests/ChangeLog
LayoutTests/platform/chromium/TestExpectations
LayoutTests/platform/efl/TestExpectations
LayoutTests/platform/gtk/TestExpectations
LayoutTests/platform/mac/TestExpectations
LayoutTests/platform/qt/TestExpectations
LayoutTests/platform/win/Skipped
Source/WebCore/ChangeLog
Source/WebCore/css/CSSParser.cpp

index e7d0509..7d893b1 100644 (file)
@@ -1,3 +1,17 @@
+2012-06-06  Tony Chang  <tony@chromium.org>
+
+        webkit crashes on debug builds when running IETC flexbox-ordinal-group-001.htm
+        https://bugs.webkit.org/show_bug.cgi?id=85832
+
+        Reviewed by Ojan Vafai.
+
+        * platform/chromium/TestExpectations: Remove test that passes.
+        * platform/efl/TestExpectations:
+        * platform/gtk/TestExpectations:
+        * platform/mac/TestExpectations:
+        * platform/qt/TestExpectations:
+        * platform/win/Skipped:
+
 2012-06-06  Ojan Vafai  <ojan@chromium.org>
 
         Remove some magic from the -webkit-flex shorthand parsing to match the changes in the spec
index 9a3402a..67189dd 100644 (file)
@@ -3542,7 +3542,6 @@ BUGWK84778 : ietestcenter/css3/multicolumn/column-width-negative-001.htm = IMAGE
 // IETC flexbox failures
 BUGWK85211 : ietestcenter/css3/flexbox/flexbox-align-stretch-001.htm = IMAGE
 BUGWK85212 : ietestcenter/css3/flexbox/flexbox-layout-002.htm = IMAGE
-BUGWK85213 BUGWK85832 : ietestcenter/css3/flexbox/flexbox-ordinal-group-001.htm = CRASH IMAGE
 // IETC CSS units
 BUGWK85308 DEBUG : ietestcenter/css3/valuesandunits/units-000.htm = CRASH
 BUGWK85308 RELEASE : ietestcenter/css3/valuesandunits/units-000.htm = IMAGE
index 531d969..bbd0bd4 100644 (file)
@@ -540,7 +540,6 @@ BUGWK66873:  http/tests/loading/redirect-methods.html = TEXT
 // IETC flexbox failures
 BUGWK85211 : ietestcenter/css3/flexbox/flexbox-align-stretch-001.htm = IMAGE
 BUGWK85212 : ietestcenter/css3/flexbox/flexbox-layout-002.htm = IMAGE
-BUGWK85213 BUGWK85832 : ietestcenter/css3/flexbox/flexbox-ordinal-group-001.htm = CRASH IMAGE
 
 // Issue related to hit testing
 BUGWK86971 : svg/hittest/svg-shapes-non-scale-stroke.html = FAIL
index ecbf1b6..6f95fb4 100644 (file)
@@ -301,7 +301,6 @@ BUGWK78801 : touchadjustment = FAIL
 // IETC flexbox failures
 BUGWK85211 : ietestcenter/css3/flexbox/flexbox-align-stretch-001.htm = IMAGE
 BUGWK85212 : ietestcenter/css3/flexbox/flexbox-layout-002.htm = IMAGE
-BUGWK85213 BUGWK85832 : ietestcenter/css3/flexbox/flexbox-ordinal-group-001.htm = CRASH IMAGE
 
 // These tests require subpixel layout to be enabled
 BUGWK60318 : fast/sub-pixel = FAIL
index 25419af..264977b 100644 (file)
@@ -211,7 +211,6 @@ BUGWK79682 : svg/repaint/text-mask-update.svg = MISSING IMAGE+TEXT IMAGE TEXT PA
 // IETC flexbox failures
 BUGWK85211 : ietestcenter/css3/flexbox/flexbox-align-stretch-001.htm = IMAGE
 BUGWK85212 : ietestcenter/css3/flexbox/flexbox-layout-002.htm = IMAGE
-BUGWK85213 BUGWK85832 : ietestcenter/css3/flexbox/flexbox-ordinal-group-001.htm = CRASH IMAGE
 
 // Requires rebaseline after bug 85031
 BUGWK85565 : fast/block/float/016.html = IMAGE
index bb78513..75fa2af 100644 (file)
@@ -53,7 +53,6 @@ BUGWK85203 : ietestcenter/css3/multicolumn/column-containing-block-003.htm = IMA
 // IETC flexbox failures
 BUGWK85211 : ietestcenter/css3/flexbox/flexbox-align-stretch-001.htm = IMAGE
 BUGWK85212 : ietestcenter/css3/flexbox/flexbox-layout-002.htm = IMAGE
-BUGWK85213 BUGWK85832 : ietestcenter/css3/flexbox/flexbox-ordinal-group-001.htm = CRASH IMAGE
 
 // Generate results for your platform(s)
 BUGWK85567 : fast/images/png-suite/test.html = IMAGE
index 8e97e52..ef9b241 100644 (file)
@@ -1790,10 +1790,6 @@ platform/win/accessibility/detached-object-notification-crash.html
 editing/selection/selection-plugin-clear-crash.html
 plugins/destroy-during-npp-new-object-with-fallback-content.html
 
-# Crashes on debug builds
-# https://bugs.webkit.org/show_bug.cgi?id=85832
-ietestcenter/css3/flexbox/flexbox-ordinal-group-001.htm
-
 # Asserts on debug builds
 # https://bugs.webkit.org/show_bug.cgi?id=86176
 ietestcenter/css3/valuesandunits/units-000.htm
index 3b744cc..0d7f9c3 100644 (file)
@@ -1,3 +1,27 @@
+2012-06-06  Tony Chang  <tony@chromium.org>
+
+        webkit crashes on debug builds when running IETC flexbox-ordinal-group-001.htm
+        https://bugs.webkit.org/show_bug.cgi?id=85832
+
+        Reviewed by Ojan Vafai.
+
+        We were using a HashSet<unsigned>, which can't hold the value of 0.
+        According to the spec, 0 isn't a valid value, so at CSS parse time,
+        reject the value 0. This lets us pass the test, although that's kind
+        of by accident.
+
+        We could allow 0 for box-ordinal-group, but there are some perf implications
+        to having allowing a value below the initial value (1 in this case).
+
+        We still allow 0 for box-flex-group, because that's what the existing code
+        does and there are tests expecting this behavior.
+
+        No new tests, covered by ietestcenter/css3/flexbox/flexbox-ordinal-group-001.htm
+        which was crashing.
+
+        * css/CSSParser.cpp:
+        (WebCore::CSSParser::parseValue): Reject 0 for -webkit-box-ordinal-group.
+
 2012-06-06  Ojan Vafai  <ojan@chromium.org>
 
         Remove some magic from the -webkit-flex shorthand parsing to match the changes in the spec
index eae7e68..3247b20 100644 (file)
@@ -2071,9 +2071,11 @@ bool CSSParser::parseValue(CSSPropertyID propId, bool important)
         validPrimitive = validUnit(value, FNumber);
         break;
     case CSSPropertyWebkitBoxFlexGroup:
-    case CSSPropertyWebkitBoxOrdinalGroup:
         validPrimitive = validUnit(value, FInteger | FNonNeg, CSSStrictMode);
         break;
+    case CSSPropertyWebkitBoxOrdinalGroup:
+        validPrimitive = validUnit(value, FInteger | FNonNeg, CSSStrictMode) && value->fValue;
+        break;
 #if ENABLE(CSS_FILTERS)
     case CSSPropertyWebkitFilter:
         if (id == CSSValueNone)