Title: [86830] trunk
Revision
86830
Author
[email protected]
Date
2011-05-19 02:45:53 -0700 (Thu, 19 May 2011)

Log Message

2011-05-19  David Barr  <[email protected]>

        Reviewed by Simon Fraser.

        CSS3: We fail 'border radius sum of radii' test
        https://bugs.webkit.org/show_bug.cgi?id=38788

        * fast/css/border-radius-non-negative-expected.txt: Added.
        * fast/css/border-radius-non-negative.html: Added.
        * platform/mac/fast/css/border-radius-non-negative-expected.png: Added.
2011-05-19  David Barr  <[email protected]>

        Reviewed by Simon Fraser.

        CSS3: We fail 'border radius sum of radii' test
        https://bugs.webkit.org/show_bug.cgi?id=38788

        Ignore border-radius properties with negative values.

        Test: fast/css/border-radius-non-negative.html

        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseBorderRadius):

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (86829 => 86830)


--- trunk/LayoutTests/ChangeLog	2011-05-19 09:33:12 UTC (rev 86829)
+++ trunk/LayoutTests/ChangeLog	2011-05-19 09:45:53 UTC (rev 86830)
@@ -1,3 +1,14 @@
+2011-05-19  David Barr  <[email protected]>
+
+        Reviewed by Simon Fraser.
+
+        CSS3: We fail 'border radius sum of radii' test
+        https://bugs.webkit.org/show_bug.cgi?id=38788
+
+        * fast/css/border-radius-non-negative-expected.txt: Added.
+        * fast/css/border-radius-non-negative.html: Added.
+        * platform/mac/fast/css/border-radius-non-negative-expected.png: Added.
+
 2011-05-19  Kenichi Ishibashi  <[email protected]>
 
         Reviewed by Kent Tamura.

Added: trunk/LayoutTests/fast/css/border-radius-non-negative-expected.txt (0 => 86830)


--- trunk/LayoutTests/fast/css/border-radius-non-negative-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/fast/css/border-radius-non-negative-expected.txt	2011-05-19 09:45:53 UTC (rev 86830)
@@ -0,0 +1 @@
+

Added: trunk/LayoutTests/fast/css/border-radius-non-negative.html (0 => 86830)


--- trunk/LayoutTests/fast/css/border-radius-non-negative.html	                        (rev 0)
+++ trunk/LayoutTests/fast/css/border-radius-non-negative.html	2011-05-19 09:45:53 UTC (rev 86830)
@@ -0,0 +1,40 @@
+<html>
+<head>
+<style>
+div {
+  border: 10px red solid;
+  width: 80px;
+  height: 80px;
+  margin-top: 10px;
+}
+#test1, #test2 {
+  margin-top: -100px;
+  border-color: black;
+}
+#reference1 {
+  border-radius: 0px 0px 0px 0px;
+}
+#test1 {
+  border-radius: 30px -150px 30px 30px;
+}
+#reference2 {
+  border-radius: 0px 30px 0px 0px;
+}
+#test2 {
+  border-top-left-radius: -120px;
+  border-top-right-radius: 30px;
+}
+</style>
+</head>
+<script>
+if (window.layoutTestController)
+    window.layoutTestController.dumpAsText(true);
+</script>
+<body>
+<div id="reference1"></div>
+<div id="test1"></div>
+<div id="reference2"></div>
+<div id="test2"></div>
+</p>
+</body>
+</html>

Modified: trunk/LayoutTests/platform/chromium/test_expectations.txt (86829 => 86830)


--- trunk/LayoutTests/platform/chromium/test_expectations.txt	2011-05-19 09:33:12 UTC (rev 86829)
+++ trunk/LayoutTests/platform/chromium/test_expectations.txt	2011-05-19 09:45:53 UTC (rev 86830)
@@ -4115,3 +4115,6 @@
 
 // Random crashes started between: http://trac.webkit.org/log/?verbose=on&rev=86756&stop_rev=86755
 BUGWK61103 MAC : fast/canvas/canvas-putImageData.html = CRASH PASS
+
+// New pixel tests added for bug 38788, rebaseline when webkit 38788 rolls.
+BUGWK38788 WIN LINUX: fast/css/border-radius-non-negative.html = IMAGE

Added: trunk/LayoutTests/platform/mac/fast/css/border-radius-non-negative-expected.png (0 => 86830)


--- trunk/LayoutTests/platform/mac/fast/css/border-radius-non-negative-expected.png	                        (rev 0)
+++ trunk/LayoutTests/platform/mac/fast/css/border-radius-non-negative-expected.png	2011-05-19 09:45:53 UTC (rev 86830)
@@ -0,0 +1,16 @@
+\x89PNG
+
+
+IHDR X')tEXtchecksuma95a6c85daa32c0410e96bab4563eab5;\xAB\xBF\xEEiCCPICC Profilex\x85T\xCFkA\xFE6n\xA9\xD0"Zk\xB2x\x90"IY\xABhE\xD46\xFDbk\xDB\xB6E\x90d3I\xD6n6\xEB\xEE&\xB5\xA5\x88\xE4\xE2\xD1*\xDEE\xED\xA1\xFF\x80z\xF0d/J\x85ZE(ޫ(b\xA1-\xF1\xCDnL\xB6\xA5\xEA\xC0\xCE~\xF3\xDE7\xEF}ov\xDF
+r\xD24\xF5\x80\xE4
+\xC7R\xA2il|Bj\xFC\x88\x8E\xA2	A4%U\xDB\xECN$A\x83s\xF9{\xE7\xD8z\x81[V\xC3{\xFBw\xB2w\xAD\x9AҶ\x9A\x84\xFD@\xE0G\x9A\xD9*\xB0\xEFq
+Y\x88<ߡ)\xC7t\xDF\xE3\xD8\xF2\xEC\x8F9Nyx\xC1\xB5+=\xC4Y"|@5-\xCEM\xB8S\xCD%\xD3@\x83H8\x94\xF5qR>\x9C׋\x94\xD7inf\xC6\xC8\xBDO\x90\xA6\xBB\xCC\xEE\xABb\xA1\x9CN\xF6\x90\xBD\x9D\xF4~N\xB3\xDE>\xC2!\xC2\xAD?F\xB8\x8D\x9E\xF5\x8C\xD5?\xE2a\xE1\xA4\xE6Ć=5\xF4\xF8`\xB7\xA9\xF85\xC2_M'\xA2Tq\xD9.
+\xF1\x98\xAE\xFDV\xF2J\x82p\x908\xCAda\x80sZHO\xD7Ln\xF8\xBA\x87}&\xD7\xAF\xE2wVQ\xE1y\x8Fg\xDE\xD4\xDD\xEFE\xDA\xAF0\x9A
+HPEa\x98\xB0P@\x86<14\xB2r?#\xAB\x93{2u$j\xBBtbD\xB1A{6\xDC=\xB7Q\xA4\xDD<\xFE("q\x94C\xB5\x92\xFCA\xFE*\xAF\xC9O\xE5y\xF9\xCB\\xB0\xD8V\x{1D4B5B}\x9A\xBA\xF2\xE0;\xC5噹\xD7\xD3\xC8\xE3sM^|\x95\xD4v\x93WG\x96\xACyz\xBC\x9A\xEC?\xECW\x971\xE6\x825\x8F\xC4s\xB0\xFB\xF1-_\x95̗)\x8C\xC5\xE3U\xF3\xEAK\x84uZ17ߟl;=\xE2.\xCF.\xB5\xD6s\xAD\x89\x8B7V\x9B\x97g\xFDjH\xFB\x93\xE6U\xF9O^\xF5\xF1\xFCg\xCD\xC4c\xE2)1&v\x8A\xE7!\x89\x97\xC5.\xF1\x92\xD8K\xAB\xE2`m\xC7\x9D\x95\x86)\xD2m\x91\xFA$\xD5``\x9A\xBC\xF5/]?[x\xBDF\xF5Q\x94\xCC\xD2T\x89\xF7\xC2*d4\x9D\xB9o\xFA\x8F\xDB\xC7\xFC\xE4\xF7\x8A\xE7\x9F(/l\xE0ș\xBAmSq\xEF\xA1e\xA5ns\xAE\xBF\xD1}\xF0\xB6nk\xA3~8\xFCX<\xAB\xADR5\x9F \xBCv\x87z\xE8)\x98Ӗ\x96\xCD9R\x87,\x9F\x93\xBA\xE9\xCAbR\xCCP\xDBCRR\xD7%\xD7eK\xB3\x99Ub\xE9vؙ\xD3n\xA19B\xF7ħJe\x93\xFA\xAF\xF1\xB0\xFD\xB0R\xF9\xF9\xACR\xD9~Nց\x97\xFAo\xC0\xBC\xFDE\xC0x\x8B\x89zIDATx\xDA\xED\xDDah\x94u\xC0\xF1\xE7\xC9c\xB8\xDCv\xAC\x86\xE7DR\xBB`\xA7Bl\xA6\x95\x93\xBD\x88H\xA2zI/}*\xBEX/N\xEFu\x81\xA9\xBD\xF2e\xB8\x82\xA0\x82\x94e\xA6\x84{#;\xB0\xA1\x9B\xC9&\xAD\xE4\xE6\xEA\xF5\xA6\xAB\xDD=\xF7<ズ}>o\x9F\xE7܏\xFF\x8B/\xFF\xE7\.\xD4\xCFF \xB0\x80\xC0@`,\x81\x80\xC0X\xFF\xA9j\xC204\x9D\x98\x9C\x86\xCCg@`,\x81\x80\xC0X\x81 \xB0@jq\x8F-\xB5\xB3˝k\xC4g@`,\x81\x80\xC0X\x81 \xB0@`,\x81\x80\xC0X\x81 \xB0@`,\x80\xC0X\x81 \xB0@`,\x80\xC0X,\x81 \xB0@`,\x80\xC0X,\x81 \xB0X@`,\x80\xC0X,\x81 \xB0X@`,\x80\xC0X,\x81 \xB0X@` \xB0\x80\xC0X,\x81 \xB0H,\xB5\xB8\xC7\xC204;\x80\x8A\xEC`,\x81 \xB0X@` \xB0@\xCB\xE5\xB2)ԑ,\x81 \xB0@`,\x80\xC0h\xA9j\xC20l\xB0\x8F\xDA\xADaغl٪\xE5˳\x99Lv\xFD\xFA\xEE;^ܷ\xEFɎ\xEB\xA8\xA3\xAA\xFF*\xA7\xF1\xABZu\xBD\x90N\xBF\xD9\xDB\xFBV\xA1\xB0\xB2\xAB˂Vݤ\x82\xE0\xD5L\xE6\xDDÇ_:xвV=mok+;\xF6\xF2\xA1C \xB0\xEAi\xEF\xBAu\xEF\xAFڼ\xD9\x92\xF2+\xC2\xCAΌ\x8F?\xB7e\xCBg\xFD\xFDF$e\xAB\x86\xFD\xB9\xDC\x97/7\xB5\xB4 \xB0\xEAfg{\xFB\xE7\xC5b\xEB\xEA\xD5F\xC4\xE1am_߽\xFBʆ
+\xBF^\xBBf@v\xB0\xE2z\xBE\xB9\xF9\xDB7\xECc\xFFV`U{\xEA\xBFlnv\xF6\xDE\xE4\xE4d\xB18v\xE9\xD2\xC8ŋߌ\x8E\x8Eܿ\xFF8\xC9_\xD8\xD9\xDE\xFE\xD5Ą\xEFc\xAB\xAA_\xAE\\xF9x`\xE0\xE4\xB9s\xB7\xC7
+\xAD\xFD\xB9\xDC\xC9\xD1Q\xEB\x88\xB0\xA4\xBF\x83\xB5\xA6\xA7罳g.\x95N\xED\xD9\xF3T\xBCW\xA2\xA7\x8AEg7і\xF4\xD6|\xD3cc\xFA\xFA>\xBDu\xAB\xE6\x9D\xE9 \xF8\xE9\xEAUg\x90\xD5\xF8\xE1_:\xB2\xD9O&&>\xCA\xE7S\xB5\xEE,A\xFF\xAE]&\xACX\xDE\xFA\xE2ȑ\xE6Z\xB7\x9D\xFF\xEE\xF8q\xE3*򊰂/\xDF8z\xF4a\xE4=\xDB\xDB\xDA.\x94J\xB0\x90\xAC
+^\xFC0\x9F\x8F\xBE\xE7\xFB\x99\x99'N\x98\xB0\x90\xAC\xAA\xF2k\xD7F\xE7\xFD\xF5Lfxj\xCAV\\xBF]\xBF\xFEl6\xFB{\xF5O\x9A
+\x82\xDB\xC5\xE2ʮ.\xCB\x98\xCF+ª\x9E޸\xB1\xB0{w\xC4
+\x83`h`\xC0\xA0\x80\xB0\x83env\xF6\x99t:\xE2\x9Cw_u\xB2\x83\xA5\xA9\xA5\xE5@__\xC4
+?\xCE\xCC\xFC1=mP\x80\xC0J\xE0\xEDB!bFsA\xF0\xC3\xE9Ӧ\xAC\xD6\xF4\xF4t\xAFXq\xC3\xC8\xF9\xF3\xA6\xACdz7m\x8A\xB8:v\xF3\xA6+\x99\xEEmۢ\xEB\xCE#V2٭[#\xAEN=x`D\x80\xC0J\xA63\x97\x8B\xB8z\xEF\xD1##V2\xAD\x9D\x9DQ\x81\xB54\x8E\xE2s\xD0h\xBC1\x99\x9B,\x81 \xB0@`,\x80\xC0X,\x81 \xB0@`,\x80\xC0X,\x81 \xB0X@`,\x80\xC0X,\x81 \xB0X@` \xB0\x80\xC0X,\x81 \xB0X@` \xB0\x80\xC0@`,\x81 \xB0X@` \xB0\x80\xC0`\x81\xD4\xE2\xC3\xD0\xEC*\xB2\x83 \xB0\x80\xC0@`,\x81\x80\xC0X
+ ,\x97˦PGv\xB0\x80\xC0X,\x81 \xB0X@` \xB0\x80\xC0X,\x81 \xB0X@` \xB0\x80\xC0@`,\x81 \xB0X@` \xB0\x80\xC0@`,\x81\x80\xC0X@` \xB0\x80\xC0@`,\x81\x80\xC0X\x81 \xB0\x80\xC0@`,\x81\x80\xC0X\x81 \xB0\x80\xC0@`,\x81\x80\xC0X\x81 \xB0@`,\x81\x80\xC0X\x81 \xB0@`,\x80\xC0X\x81 \xB0@`,\x80\xC0X,\x81 \xB0@`,\x80\xC0X,\x81 \xB0@`,\x80\xC0X,\x81 \xB0X@`,\x80\xC0X,\x81 \xB0X@` \xB0\x80\xC0X,\x81 \xB0X@` \xB0\x80\xC0@`,\x81 \xB0X@` \xB0\x80\xC0@`,\x81 \xB0X@` \xB0\x80\xC0@`,\x81\x80\xC0X@` \xB0\x80\xC0@`,\x81\x80\xC0X\x81 \xB0\x80\xC0@`,\x81\x80\xC0X\x81 \xB0@`,\x81\x80\xC0X\x81 \xB0@`,\x81e@`,\x80\xC0X,\x81 \xB0X@`,\x80\xC0X,\x81 \xB0X@` \xB0\x80\xC0X,\x81 \xB0X@` \xB0\x80\xC0@`,\x81 \xB0X@` \xB0\x80\xC0@`,\x81\x80\xC0X@` \xB0\x80\xC0@`,\x81\x80\xC0X@` \xB0\x80\xC0@`,\x81\x80\xC0X\x81 \xB0\x80\xC0@`,\x81\x80\xC0X\x81 \xB0@`,\x81\x80\xC0X\x81 \xB0@`,\x80\xC0X\x81 \xB0@`,\x80\xC0X\x81 \xB0@`,\x80\xC0X,\x81 \xB0@`,\x80\xC0X,\x81 \xB0X@`,\x80\xC0X,\x81 \xB0X@` \xB0\x80\xC0X,\x81 \xB0X@` \xB0\x80\xC0X,\x81 \xB0X@` \xB0\x80\xC0\xE0o\xFEm	\xB9*\x92\xFC>IEND\xAEB`\x82
\ No newline at end of file

Modified: trunk/Source/WebCore/ChangeLog (86829 => 86830)


--- trunk/Source/WebCore/ChangeLog	2011-05-19 09:33:12 UTC (rev 86829)
+++ trunk/Source/WebCore/ChangeLog	2011-05-19 09:45:53 UTC (rev 86830)
@@ -1,3 +1,19 @@
+2011-05-19  David Barr  <[email protected]>
+
+        Reviewed by Simon Fraser.
+
+        CSS3: We fail 'border radius sum of radii' test
+        https://bugs.webkit.org/show_bug.cgi?id=38788
+
+        Ignore border-radius properties with negative values.
+
+        Test: fast/css/border-radius-non-negative.html
+
+        * WebCore.xcodeproj/project.pbxproj:
+        * css/CSSParser.cpp:
+        (WebCore::CSSParser::parseValue):
+        (WebCore::CSSParser::parseBorderRadius):
+
 2011-05-19  Yuta Kitamura  <[email protected]>
 
         Reviewed by Kent Tamura.

Modified: trunk/Source/WebCore/css/CSSParser.cpp (86829 => 86830)


--- trunk/Source/WebCore/css/CSSParser.cpp	2011-05-19 09:33:12 UTC (rev 86829)
+++ trunk/Source/WebCore/css/CSSParser.cpp	2011-05-19 09:45:53 UTC (rev 86830)
@@ -1391,14 +1391,14 @@
     case CSSPropertyBorderBottomRightRadius: {
         if (num != 1 && num != 2)
             return false;
-        validPrimitive = validUnit(value, FLength | FPercent, m_strict);
+        validPrimitive = validUnit(value, FLength | FPercent | FNonNeg, m_strict);
         if (!validPrimitive)
             return false;
         RefPtr<CSSPrimitiveValue> parsedValue1 = primitiveValueCache()->createValue(value->fValue, (CSSPrimitiveValue::UnitTypes)value->unit);
         RefPtr<CSSPrimitiveValue> parsedValue2;
         if (num == 2) {
             value = m_valueList->next();
-            validPrimitive = validUnit(value, FLength | FPercent, m_strict);
+            validPrimitive = validUnit(value, FLength | FPercent | FNonNeg, m_strict);
             if (!validPrimitive)
                 return false;
             parsedValue2 = primitiveValueCache()->createValue(value->fValue, (CSSPrimitiveValue::UnitTypes)value->unit);
@@ -4965,7 +4965,7 @@
         if (i - indexAfterSlash >= 4)
             return false;
 
-        if (!validUnit(value, FLength | FPercent, m_strict))
+        if (!validUnit(value, FLength | FPercent | FNonNeg, m_strict))
             return false;
 
         RefPtr<CSSPrimitiveValue> radius = primitiveValueCache()->createValue(value->fValue, static_cast<CSSPrimitiveValue::UnitTypes>(value->unit));
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to