WebCore:
authormitz@apple.com <mitz@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 29 Apr 2008 16:50:58 +0000 (16:50 +0000)
committermitz@apple.com <mitz@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 29 Apr 2008 16:50:58 +0000 (16:50 +0000)
2008-04-29  Anatoli Papirovski  <apapirovski@mac.com>

        Reviewed by Darin Adler.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=18355
        Fixed RGB and RGBA parsing to ignore the declaration when the value is not
        "either three integer values or three percentage values."

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

LayoutTests:

2008-04-29  Anatoli Papirovski  <apapirovski@mac.com>

        Reviewed by Darin Adler.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=18355
        Updated the results of the layout test for "RGB color syntax error handling".

        * platform/mac/css2.1/t040306-syntax-01-f-expected.checksum:
        * platform/mac/css2.1/t040306-syntax-01-f-expected.png:
        * platform/mac/css2.1/t040306-syntax-01-f-expected.txt:

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

LayoutTests/ChangeLog
LayoutTests/platform/mac/css2.1/t040306-syntax-01-f-expected.checksum
LayoutTests/platform/mac/css2.1/t040306-syntax-01-f-expected.png
LayoutTests/platform/mac/css2.1/t040306-syntax-01-f-expected.txt
WebCore/ChangeLog
WebCore/css/CSSParser.cpp

index 81f33ab65b8ee00560e32c91923f16335138ed62..b186d87f5c197aef96cb0106aee9f46048f2311e 100644 (file)
@@ -1,3 +1,14 @@
+2008-04-29  Anatoli Papirovski  <apapirovski@mac.com>
+
+        Reviewed by Darin Adler.
+
+        Fix for https://bugs.webkit.org/show_bug.cgi?id=18355
+        Updated the results of the layout test for "RGB color syntax error handling".
+
+        * platform/mac/css2.1/t040306-syntax-01-f-expected.checksum:
+        * platform/mac/css2.1/t040306-syntax-01-f-expected.png:
+        * platform/mac/css2.1/t040306-syntax-01-f-expected.txt:
+
 2008-04-29  Simon Hausmann  <hausmann@webkit.org>
 
         Rubber-stamped by Holger.
index 844a0b084517db46501e3ba59856585b3223b76f..8e4e85b61051b82581c9ce04952c72636074d5e3 100644 (file)
@@ -1 +1 @@
-831251d1d0e41688668aaffaa16010e5
\ No newline at end of file
+0748ef4c0fec59b0941e53410de649eb
\ No newline at end of file
index 2aac51f011162903633e3031738ea50a2b3963ff..d97f51bf92e2ed826d9fd56473ae17ec9e537b7c 100644 (file)
Binary files a/LayoutTests/platform/mac/css2.1/t040306-syntax-01-f-expected.png and b/LayoutTests/platform/mac/css2.1/t040306-syntax-01-f-expected.png differ
index 7e55f091723a4cb303e319c506dd3c1f0f6525c0..04cf66eafd96b55c4234e3333fc9d764c2fdf60d 100644 (file)
@@ -3,16 +3,16 @@ layer at (0,0) size 800x600
 layer at (0,0) size 800x322
   RenderBlock {HTML} at (0,0) size 800x322
     RenderBody {BODY} at (8,16) size 784x290
-      RenderBlock {P} at (0,0) size 784x18 [color=#FF0000]
+      RenderBlock {P} at (0,0) size 784x18 [color=#008000]
         RenderText {#text} at (0,0) size 132x18
           text run at (0,0) width 132: "This should be green"
-      RenderBlock {P} at (0,34) size 784x18 [color=#FF0000]
+      RenderBlock {P} at (0,34) size 784x18 [color=#008000]
         RenderText {#text} at (0,0) size 132x18
           text run at (0,0) width 132: "This should be green"
-      RenderBlock {P} at (0,68) size 784x18 [color=#FF0000]
+      RenderBlock {P} at (0,68) size 784x18 [color=#008000]
         RenderText {#text} at (0,0) size 132x18
           text run at (0,0) width 132: "This should be green"
-      RenderBlock {P} at (0,102) size 784x18 [color=#FF0000]
+      RenderBlock {P} at (0,102) size 784x18 [color=#008000]
         RenderText {#text} at (0,0) size 132x18
           text run at (0,0) width 132: "This should be green"
       RenderBlock {P} at (0,136) size 784x18 [color=#008000]
index b6f5a989960a1b3be0002fc65655ee6f055f1fbe..19f04a863fbcf7fc45bb3f3a4ff9cd82d7ba9142 100644 (file)
@@ -1,3 +1,14 @@
+2008-04-29  Anatoli Papirovski  <apapirovski@mac.com>
+
+        Reviewed by Darin Adler.
+
+        Fix for https://bugs.webkit.org/show_bug.cgi?id=18355
+        Fixed RGB and RGBA parsing to ignore the declaration when the value is not
+        "either three integer values or three percentage values."
+
+        * css/CSSParser.cpp:
+        (WebCore::CSSParser::parseColorParameters):
+
 2008-04-29  Holger Hans Peter Freyther  <zecke@selfish.org>
 
         Reviewed by Simon.
index 0e26d1563650194daac1bb65a640fa2c4ba0aeb1..8b5c1eedf6a455eaa2500ca5f68334c6b6b0c019 100644 (file)
@@ -2951,8 +2951,13 @@ bool CSSParser::parseColorParameters(Value* value, int* colorArray, bool parseAl
 {
     ValueList* args = value->function->args;
     Value* v = args->current();
-    // Get the first value
-    if (!validUnit(v, FInteger | FPercent, true))
+    Units unitType = FUnknown;
+    // Get the first value and its type
+    if (validUnit(v, FInteger, true))
+        unitType = FInteger;
+    else if (validUnit(v, FPercent, true))
+        unitType = FPercent;
+    else
         return false;
     colorArray[0] = static_cast<int>(v->fValue * (v->unit == CSSPrimitiveValue::CSS_PERCENTAGE ? 256.0 / 100.0 : 1.0));
     for (int i = 1; i < 3; i++) {
@@ -2960,7 +2965,7 @@ bool CSSParser::parseColorParameters(Value* value, int* colorArray, bool parseAl
         if (v->unit != Value::Operator && v->iValue != ',')
             return false;
         v = args->next();
-        if (!validUnit(v, FInteger | FPercent, true))
+        if (!validUnit(v, unitType, true))
             return false;
         colorArray[i] = static_cast<int>(v->fValue * (v->unit == CSSPrimitiveValue::CSS_PERCENTAGE ? 256.0 / 100.0 : 1.0));
     }