Title: [93359] trunk
Revision
93359
Author
[email protected]
Date
2011-08-18 15:23:08 -0700 (Thu, 18 Aug 2011)

Log Message

Unreviewed, rolling out r93354.
http://trac.webkit.org/changeset/93354
https://bugs.webkit.org/show_bug.cgi?id=66503

"consensus was not reached" (Requested by senorblanco on
#webkit).

Patch by Sheriff Bot <[email protected]> on 2011-08-18

Source/WebCore:

* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::drawImage):
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::drawNativeImage):

LayoutTests:

* fast/canvas/drawImage-clipped-source-expected.txt: Removed.
* fast/canvas/drawImage-clipped-source.html: Removed.
* fast/canvas/drawImage-clipped-source.js: Removed.
* fast/canvas/drawImage-with-invalid-args-expected.txt:
* fast/canvas/drawImage-with-invalid-args.html:
* platform/chromium/test_expectations.txt:
* platform/mac/Skipped:

Modified Paths

Removed Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (93358 => 93359)


--- trunk/LayoutTests/ChangeLog	2011-08-18 22:19:23 UTC (rev 93358)
+++ trunk/LayoutTests/ChangeLog	2011-08-18 22:23:08 UTC (rev 93359)
@@ -1,3 +1,20 @@
+2011-08-18  Sheriff Bot  <[email protected]>
+
+        Unreviewed, rolling out r93354.
+        http://trac.webkit.org/changeset/93354
+        https://bugs.webkit.org/show_bug.cgi?id=66503
+
+        "consensus was not reached" (Requested by senorblanco on
+        #webkit).
+
+        * fast/canvas/drawImage-clipped-source-expected.txt: Removed.
+        * fast/canvas/drawImage-clipped-source.html: Removed.
+        * fast/canvas/drawImage-clipped-source.js: Removed.
+        * fast/canvas/drawImage-with-invalid-args-expected.txt:
+        * fast/canvas/drawImage-with-invalid-args.html:
+        * platform/chromium/test_expectations.txt:
+        * platform/mac/Skipped:
+
 2011-08-18  Ryosuke Niwa  <[email protected]>
 
         Fix r93349.

Deleted: trunk/LayoutTests/fast/canvas/drawImage-clipped-source-expected.txt (93358 => 93359)


--- trunk/LayoutTests/fast/canvas/drawImage-clipped-source-expected.txt	2011-08-18 22:19:23 UTC (rev 93358)
+++ trunk/LayoutTests/fast/canvas/drawImage-clipped-source-expected.txt	2011-08-18 22:23:08 UTC (rev 93359)
@@ -1,867 +0,0 @@
-Series of tests to ensure correct behaviour of drawImage with partially out of bounds source rectangles
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-Canvas to canvas draw
-- clipped by left edge
--- red square, x = 0, y = 0, w = 30, h = 30
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
--- test pattern, x = 30, y = 0
-PASS imgdata[0] is 255
-PASS imgdata[1] is 255
-PASS imgdata[2] is 0
-PASS imgdata[0] is 0
-PASS imgdata[1] is 255
-PASS imgdata[2] is 255
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-PASS imgdata[0] is 0
-PASS imgdata[1] is 255
-PASS imgdata[2] is 0
-PASS imgdata[0] is 0
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-PASS imgdata[0] is 0
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-- clipped by right edge
--- red square, x = 90, y = 0, w = 30, h = 30
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
--- test pattern, x = 60, y = 0
-PASS imgdata[0] is 255
-PASS imgdata[1] is 255
-PASS imgdata[2] is 0
-PASS imgdata[0] is 0
-PASS imgdata[1] is 255
-PASS imgdata[2] is 255
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-PASS imgdata[0] is 0
-PASS imgdata[1] is 255
-PASS imgdata[2] is 0
-PASS imgdata[0] is 0
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-PASS imgdata[0] is 0
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-- clipped by top edge
--- red square, x = 0, y = 30, w = 30, h = 30
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
--- test pattern, x = 0, y = 60
-PASS imgdata[0] is 255
-PASS imgdata[1] is 255
-PASS imgdata[2] is 0
-PASS imgdata[0] is 0
-PASS imgdata[1] is 255
-PASS imgdata[2] is 255
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-PASS imgdata[0] is 0
-PASS imgdata[1] is 255
-PASS imgdata[2] is 0
-PASS imgdata[0] is 0
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-PASS imgdata[0] is 0
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-- clipped by bottom edge
--- red square, x = 30, y = 60, w = 30, h = 30
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
--- test pattern, x = 30, y = 30
-PASS imgdata[0] is 255
-PASS imgdata[1] is 255
-PASS imgdata[2] is 0
-PASS imgdata[0] is 0
-PASS imgdata[1] is 255
-PASS imgdata[2] is 255
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-PASS imgdata[0] is 0
-PASS imgdata[1] is 255
-PASS imgdata[2] is 0
-PASS imgdata[0] is 0
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-PASS imgdata[0] is 0
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-- clipped by all edges
--- red square, x = 60, y = 30, w = 60, h = 60
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
--- red square, x = 74, y = 44, w = 32, h = 32
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
--- test pattern, x = 75, y = 45
-PASS imgdata[0] is 255
-PASS imgdata[1] is 255
-PASS imgdata[2] is 0
-PASS imgdata[0] is 0
-PASS imgdata[1] is 255
-PASS imgdata[2] is 255
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-PASS imgdata[0] is 0
-PASS imgdata[1] is 255
-PASS imgdata[2] is 0
-PASS imgdata[0] is 0
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-PASS imgdata[0] is 0
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-Canvas to canvas draw with negative source dimensions
-- clipped by left edge
--- red square, x = 0, y = 0, w = 30, h = 30
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
--- test pattern, x = 30, y = 0
-PASS imgdata[0] is 255
-PASS imgdata[1] is 255
-PASS imgdata[2] is 0
-PASS imgdata[0] is 0
-PASS imgdata[1] is 255
-PASS imgdata[2] is 255
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-PASS imgdata[0] is 0
-PASS imgdata[1] is 255
-PASS imgdata[2] is 0
-PASS imgdata[0] is 0
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-PASS imgdata[0] is 0
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-- clipped by right edge
--- red square, x = 90, y = 0, w = 30, h = 30
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
--- test pattern, x = 60, y = 0
-PASS imgdata[0] is 255
-PASS imgdata[1] is 255
-PASS imgdata[2] is 0
-PASS imgdata[0] is 0
-PASS imgdata[1] is 255
-PASS imgdata[2] is 255
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-PASS imgdata[0] is 0
-PASS imgdata[1] is 255
-PASS imgdata[2] is 0
-PASS imgdata[0] is 0
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-PASS imgdata[0] is 0
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-- clipped by top edge
--- red square, x = 0, y = 30, w = 30, h = 30
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
--- test pattern, x = 0, y = 60
-PASS imgdata[0] is 255
-PASS imgdata[1] is 255
-PASS imgdata[2] is 0
-PASS imgdata[0] is 0
-PASS imgdata[1] is 255
-PASS imgdata[2] is 255
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-PASS imgdata[0] is 0
-PASS imgdata[1] is 255
-PASS imgdata[2] is 0
-PASS imgdata[0] is 0
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-PASS imgdata[0] is 0
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-- clipped by bottom edge
--- red square, x = 30, y = 60, w = 30, h = 30
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
--- test pattern, x = 30, y = 30
-PASS imgdata[0] is 255
-PASS imgdata[1] is 255
-PASS imgdata[2] is 0
-PASS imgdata[0] is 0
-PASS imgdata[1] is 255
-PASS imgdata[2] is 255
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-PASS imgdata[0] is 0
-PASS imgdata[1] is 255
-PASS imgdata[2] is 0
-PASS imgdata[0] is 0
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-PASS imgdata[0] is 0
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-- clipped by all edges
--- red square, x = 60, y = 30, w = 60, h = 60
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
--- red square, x = 74, y = 44, w = 32, h = 32
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
--- test pattern, x = 75, y = 45
-PASS imgdata[0] is 255
-PASS imgdata[1] is 255
-PASS imgdata[2] is 0
-PASS imgdata[0] is 0
-PASS imgdata[1] is 255
-PASS imgdata[2] is 255
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-PASS imgdata[0] is 0
-PASS imgdata[1] is 255
-PASS imgdata[2] is 0
-PASS imgdata[0] is 0
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-PASS imgdata[0] is 0
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-Image to canvas draw
-- clipped by left edge
--- red square, x = 0, y = 0, w = 30, h = 30
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
--- test pattern, x = 30, y = 0
-PASS imgdata[0] is 255
-PASS imgdata[1] is 255
-PASS imgdata[2] is 0
-PASS imgdata[0] is 0
-PASS imgdata[1] is 255
-PASS imgdata[2] is 255
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-PASS imgdata[0] is 0
-PASS imgdata[1] is 255
-PASS imgdata[2] is 0
-PASS imgdata[0] is 0
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-PASS imgdata[0] is 0
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-- clipped by right edge
--- red square, x = 90, y = 0, w = 30, h = 30
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
--- test pattern, x = 60, y = 0
-PASS imgdata[0] is 255
-PASS imgdata[1] is 255
-PASS imgdata[2] is 0
-PASS imgdata[0] is 0
-PASS imgdata[1] is 255
-PASS imgdata[2] is 255
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-PASS imgdata[0] is 0
-PASS imgdata[1] is 255
-PASS imgdata[2] is 0
-PASS imgdata[0] is 0
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-PASS imgdata[0] is 0
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-- clipped by top edge
--- red square, x = 0, y = 30, w = 30, h = 30
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
--- test pattern, x = 0, y = 60
-PASS imgdata[0] is 255
-PASS imgdata[1] is 255
-PASS imgdata[2] is 0
-PASS imgdata[0] is 0
-PASS imgdata[1] is 255
-PASS imgdata[2] is 255
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-PASS imgdata[0] is 0
-PASS imgdata[1] is 255
-PASS imgdata[2] is 0
-PASS imgdata[0] is 0
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-PASS imgdata[0] is 0
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-- clipped by bottom edge
--- red square, x = 30, y = 60, w = 30, h = 30
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
--- test pattern, x = 30, y = 30
-PASS imgdata[0] is 255
-PASS imgdata[1] is 255
-PASS imgdata[2] is 0
-PASS imgdata[0] is 0
-PASS imgdata[1] is 255
-PASS imgdata[2] is 255
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-PASS imgdata[0] is 0
-PASS imgdata[1] is 255
-PASS imgdata[2] is 0
-PASS imgdata[0] is 0
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-PASS imgdata[0] is 0
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-- clipped by all edges
--- red square, x = 60, y = 30, w = 60, h = 60
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
--- red square, x = 74, y = 44, w = 32, h = 32
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
--- test pattern, x = 75, y = 45
-PASS imgdata[0] is 255
-PASS imgdata[1] is 255
-PASS imgdata[2] is 0
-PASS imgdata[0] is 0
-PASS imgdata[1] is 255
-PASS imgdata[2] is 255
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-PASS imgdata[0] is 0
-PASS imgdata[1] is 255
-PASS imgdata[2] is 0
-PASS imgdata[0] is 0
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-PASS imgdata[0] is 0
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-Image to canvas draw with negative source dimensions
-- clipped by left edge
--- red square, x = 0, y = 0, w = 30, h = 30
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
--- test pattern, x = 30, y = 0
-PASS imgdata[0] is 255
-PASS imgdata[1] is 255
-PASS imgdata[2] is 0
-PASS imgdata[0] is 0
-PASS imgdata[1] is 255
-PASS imgdata[2] is 255
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-PASS imgdata[0] is 0
-PASS imgdata[1] is 255
-PASS imgdata[2] is 0
-PASS imgdata[0] is 0
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-PASS imgdata[0] is 0
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-- clipped by right edge
--- red square, x = 90, y = 0, w = 30, h = 30
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
--- test pattern, x = 60, y = 0
-PASS imgdata[0] is 255
-PASS imgdata[1] is 255
-PASS imgdata[2] is 0
-PASS imgdata[0] is 0
-PASS imgdata[1] is 255
-PASS imgdata[2] is 255
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-PASS imgdata[0] is 0
-PASS imgdata[1] is 255
-PASS imgdata[2] is 0
-PASS imgdata[0] is 0
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-PASS imgdata[0] is 0
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-- clipped by top edge
--- red square, x = 0, y = 30, w = 30, h = 30
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
--- test pattern, x = 0, y = 60
-PASS imgdata[0] is 255
-PASS imgdata[1] is 255
-PASS imgdata[2] is 0
-PASS imgdata[0] is 0
-PASS imgdata[1] is 255
-PASS imgdata[2] is 255
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-PASS imgdata[0] is 0
-PASS imgdata[1] is 255
-PASS imgdata[2] is 0
-PASS imgdata[0] is 0
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-PASS imgdata[0] is 0
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-- clipped by bottom edge
--- red square, x = 30, y = 60, w = 30, h = 30
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
--- test pattern, x = 30, y = 30
-PASS imgdata[0] is 255
-PASS imgdata[1] is 255
-PASS imgdata[2] is 0
-PASS imgdata[0] is 0
-PASS imgdata[1] is 255
-PASS imgdata[2] is 255
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-PASS imgdata[0] is 0
-PASS imgdata[1] is 255
-PASS imgdata[2] is 0
-PASS imgdata[0] is 0
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-PASS imgdata[0] is 0
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-- clipped by all edges
--- red square, x = 60, y = 30, w = 60, h = 60
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
--- red square, x = 74, y = 44, w = 32, h = 32
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
--- test pattern, x = 75, y = 45
-PASS imgdata[0] is 255
-PASS imgdata[1] is 255
-PASS imgdata[2] is 0
-PASS imgdata[0] is 0
-PASS imgdata[1] is 255
-PASS imgdata[2] is 255
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-PASS imgdata[0] is 0
-PASS imgdata[1] is 255
-PASS imgdata[2] is 0
-PASS imgdata[0] is 0
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-PASS imgdata[0] is 0
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-Image to canvas draw with 2x scale
-- clipped by left edge
--- red square, x = 0, y = 0, w = 30, h = 30
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
--- test pattern, x = 30, y = 0
-PASS imgdata[0] is 255
-PASS imgdata[1] is 255
-PASS imgdata[2] is 0
-PASS imgdata[0] is 0
-PASS imgdata[1] is 255
-PASS imgdata[2] is 255
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-PASS imgdata[0] is 0
-PASS imgdata[1] is 255
-PASS imgdata[2] is 0
-PASS imgdata[0] is 0
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-PASS imgdata[0] is 0
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-- clipped by right edge
--- red square, x = 90, y = 0, w = 30, h = 30
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
--- test pattern, x = 60, y = 0
-PASS imgdata[0] is 255
-PASS imgdata[1] is 255
-PASS imgdata[2] is 0
-PASS imgdata[0] is 0
-PASS imgdata[1] is 255
-PASS imgdata[2] is 255
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-PASS imgdata[0] is 0
-PASS imgdata[1] is 255
-PASS imgdata[2] is 0
-PASS imgdata[0] is 0
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-PASS imgdata[0] is 0
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-- clipped by top edge
--- red square, x = 0, y = 30, w = 30, h = 30
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
--- test pattern, x = 0, y = 60
-PASS imgdata[0] is 255
-PASS imgdata[1] is 255
-PASS imgdata[2] is 0
-PASS imgdata[0] is 0
-PASS imgdata[1] is 255
-PASS imgdata[2] is 255
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-PASS imgdata[0] is 0
-PASS imgdata[1] is 255
-PASS imgdata[2] is 0
-PASS imgdata[0] is 0
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-PASS imgdata[0] is 0
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-- clipped by bottom edge
--- red square, x = 30, y = 60, w = 30, h = 30
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
--- test pattern, x = 30, y = 30
-PASS imgdata[0] is 255
-PASS imgdata[1] is 255
-PASS imgdata[2] is 0
-PASS imgdata[0] is 0
-PASS imgdata[1] is 255
-PASS imgdata[2] is 255
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-PASS imgdata[0] is 0
-PASS imgdata[1] is 255
-PASS imgdata[2] is 0
-PASS imgdata[0] is 0
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-PASS imgdata[0] is 0
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-- clipped by all edges
--- red square, x = 60, y = 30, w = 60, h = 60
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
--- red square, x = 74, y = 44, w = 32, h = 32
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
--- test pattern, x = 75, y = 45
-PASS imgdata[0] is 255
-PASS imgdata[1] is 255
-PASS imgdata[2] is 0
-PASS imgdata[0] is 0
-PASS imgdata[1] is 255
-PASS imgdata[2] is 255
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-PASS imgdata[0] is 0
-PASS imgdata[1] is 255
-PASS imgdata[2] is 0
-PASS imgdata[0] is 0
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-PASS imgdata[0] is 0
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-Image to canvas draw with negative source dimensions and 2x scale
-- clipped by left edge
--- red square, x = 0, y = 0, w = 30, h = 30
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
--- test pattern, x = 30, y = 0
-PASS imgdata[0] is 255
-PASS imgdata[1] is 255
-PASS imgdata[2] is 0
-PASS imgdata[0] is 0
-PASS imgdata[1] is 255
-PASS imgdata[2] is 255
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-PASS imgdata[0] is 0
-PASS imgdata[1] is 255
-PASS imgdata[2] is 0
-PASS imgdata[0] is 0
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-PASS imgdata[0] is 0
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-- clipped by right edge
--- red square, x = 90, y = 0, w = 30, h = 30
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
--- test pattern, x = 60, y = 0
-PASS imgdata[0] is 255
-PASS imgdata[1] is 255
-PASS imgdata[2] is 0
-PASS imgdata[0] is 0
-PASS imgdata[1] is 255
-PASS imgdata[2] is 255
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-PASS imgdata[0] is 0
-PASS imgdata[1] is 255
-PASS imgdata[2] is 0
-PASS imgdata[0] is 0
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-PASS imgdata[0] is 0
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-- clipped by top edge
--- red square, x = 0, y = 30, w = 30, h = 30
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
--- test pattern, x = 0, y = 60
-PASS imgdata[0] is 255
-PASS imgdata[1] is 255
-PASS imgdata[2] is 0
-PASS imgdata[0] is 0
-PASS imgdata[1] is 255
-PASS imgdata[2] is 255
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-PASS imgdata[0] is 0
-PASS imgdata[1] is 255
-PASS imgdata[2] is 0
-PASS imgdata[0] is 0
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-PASS imgdata[0] is 0
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-- clipped by bottom edge
--- red square, x = 30, y = 60, w = 30, h = 30
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
--- test pattern, x = 30, y = 30
-PASS imgdata[0] is 255
-PASS imgdata[1] is 255
-PASS imgdata[2] is 0
-PASS imgdata[0] is 0
-PASS imgdata[1] is 255
-PASS imgdata[2] is 255
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-PASS imgdata[0] is 0
-PASS imgdata[1] is 255
-PASS imgdata[2] is 0
-PASS imgdata[0] is 0
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-PASS imgdata[0] is 0
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-- clipped by all edges
--- red square, x = 60, y = 30, w = 60, h = 60
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
--- red square, x = 74, y = 44, w = 32, h = 32
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 0
--- test pattern, x = 75, y = 45
-PASS imgdata[0] is 255
-PASS imgdata[1] is 255
-PASS imgdata[2] is 0
-PASS imgdata[0] is 0
-PASS imgdata[1] is 255
-PASS imgdata[2] is 255
-PASS imgdata[0] is 255
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-PASS imgdata[0] is 0
-PASS imgdata[1] is 255
-PASS imgdata[2] is 0
-PASS imgdata[0] is 0
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-PASS imgdata[0] is 0
-PASS imgdata[1] is 0
-PASS imgdata[2] is 255
-PASS successfullyParsed is true
-
-TEST COMPLETE
-

Deleted: trunk/LayoutTests/fast/canvas/drawImage-clipped-source.html (93358 => 93359)


--- trunk/LayoutTests/fast/canvas/drawImage-clipped-source.html	2011-08-18 22:19:23 UTC (rev 93358)
+++ trunk/LayoutTests/fast/canvas/drawImage-clipped-source.html	2011-08-18 22:23:08 UTC (rev 93359)
@@ -1,16 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<!-- Test that verified the correct clipping of of the drawn rectangle when the source rectangle is out of bounds
-  -->
-<html>
-<head>
-<link rel="stylesheet" href=""
-<script src=""
-</head>
-<body>
-<p id="description"></p>
-<div id="console"></div>
-<canvas id="canvas" width="240" height="540"></canvas>
-<script src=""
-<script src=""
-</body>
-</html>

Deleted: trunk/LayoutTests/fast/canvas/drawImage-clipped-source.js (93358 => 93359)


--- trunk/LayoutTests/fast/canvas/drawImage-clipped-source.js	2011-08-18 22:19:23 UTC (rev 93358)
+++ trunk/LayoutTests/fast/canvas/drawImage-clipped-source.js	2011-08-18 22:23:08 UTC (rev 93359)
@@ -1,131 +0,0 @@
-description("Series of tests to ensure correct behaviour of drawImage with partially out of bounds source rectangles");
-var canvas2 = document.createElement('canvas');
-canvas2.width = 30;
-canvas2.height = 30;
-var ctx2 = canvas2.getContext('2d');
-
-function patternTest(canvas) {
-
-    this.testPixel = function(x, y, color) {
-        var imageData = this.canvas.getImageData(this.xOffset + x * this.scale, this.yOffset + y * this.scale, 1, 1);
-        imgdata = imageData.data;
-        shouldBe("imgdata[0]", color[0].toString());
-        shouldBe("imgdata[1]", color[1].toString());
-        shouldBe("imgdata[2]", color[2].toString());
-    }
-
-    this.testRedSquare = function(x, y, w, h) {
-        var red = new Array(255, 0, 0);
-        debug("-- red square, x = " + x + ", y = " + y + ", w = " + w + ", h = " + h);
-        this.testPixel(x, y, red);
-        this.testPixel(x + w - 1, y + h - 1, red);
-    }
-
-    this.testPattern = function(x, y, filterPadding) {
-        var yellow = new Array(255, 255, 0);
-        var cyan = new Array(0, 255, 255);
-        var magenta = new Array(255, 0, 255);
-        var green = new Array(0, 255, 0);
-        var blue = new Array(0, 0, 255);
-        debug("-- test pattern, x = " + x + ", y = " + y);
-        this.testPixel(x + 9, y + 9, yellow);
-        this.testPixel(x + 20 + filterPadding, y + 9, cyan);
-        this.testPixel(x + 9, y + 20 + filterPadding, magenta);
-        this.testPixel(x + 20 + filterPadding, y + 20 + filterPadding, green);
-        this.testPixel(x + 10 + filterPadding, y + 10 + filterPadding, blue);
-        this.testPixel(x + 19, y + 19, blue); 
-    }
-
-    this.testAggregatePattern = function(x, y, scale, filterPadding){
-        this.scale = scale;
-        this.xOffset = x;
-        this.yOffset = y;
-        debug("- clipped by left edge");
-        this.testRedSquare(0, 0, 30, 30);
-        this.testPattern(30, 0, filterPadding);
-        debug("- clipped by right edge");
-        this.testRedSquare(90, 0, 30, 30);
-        this.testPattern(60, 0, filterPadding);
-        debug("- clipped by top edge");
-        this.testRedSquare(0, 30, 30, 30);
-        this.testPattern(0, 60, filterPadding);
-        debug("- clipped by bottom edge");
-        this.testRedSquare(30, 60, 30, 30);
-        this.testPattern(30, 30, filterPadding);
-        debug("- clipped by all edges");
-        this.testRedSquare(60, 30, 60, 60);
-        this.testRedSquare(74, 44, 32, 32);
-        this.testPattern(75, 45, filterPadding);
-    }
-
-    this.canvas = canvas;
-}
-
-var drawTestPattern = function(canvas, srcImage) {
-    canvas.drawImage(srcImage, -30, 0, 60, 30, 0, 0, 60, 30); // left edge clip
-    canvas.drawImage(srcImage, 0, 0, 60, 30, 60, 0, 60, 30); // right edge clip
-    canvas.drawImage(srcImage, 0, -30, 30, 60, 0, 30, 30, 60); // top edge clip
-    canvas.drawImage(srcImage, 0, 0, 30, 60, 30, 30, 30, 60); // bottom edge clip
-    canvas.drawImage(srcImage, -15, -15, 60, 60, 60, 30, 60, 60); // all edge clip
-    // repeat with negative source dimensions
-    canvas.drawImage(srcImage, 30, 30, -60, -30, 0, 90, 60, 30); // left edge clip
-    canvas.drawImage(srcImage, 60, 30, -60, -30, 60, 90, 60, 30); // right edge clip
-    canvas.drawImage(srcImage, 30, 30, -30, -60, 0, 120, 30, 60); // top edge clip
-    canvas.drawImage(srcImage, 30, 60, -30, -60, 30, 120, 30, 60); // bottom edge clip
-    canvas.drawImage(srcImage, 45, 45, -60, -60, 60, 120, 60, 60); // all edge clip
-}
-
-var executeTest = function() {
-    var canvas = document.getElementById('canvas').getContext('2d');
-    canvas.fillStyle = '#f00';
-    canvas.fillRect(0, 0, 240, 540);
-
-    try {
-        canvas.save();
-        drawTestPattern(canvas, canvas2);
-        canvas.translate(120, 0);
-        drawTestPattern(canvas, imageSource);
-        canvas.restore();
-        canvas.scale(2, 2);
-        canvas.translate(0, 90);
-        drawTestPattern(canvas, imageSource);
-    } catch(err) {
-        testFailed("Unexpected Exception: " + err.message);
-    }
-
-    var test = new patternTest(canvas);
-    debug("Canvas to canvas draw")
-    test.testAggregatePattern(0, 0, 1, 0);
-    debug("Canvas to canvas draw with negative source dimensions");
-    test.testAggregatePattern(0, 90, 1, 0);
-    debug("Image to canvas draw");
-    test.testAggregatePattern(120, 0, 1, 0);
-    debug("Image to canvas draw with negative source dimensions");
-    test.testAggregatePattern(120, 90, 1, 0);
-    debug("Image to canvas draw with 2x scale");
-    test.testAggregatePattern(0, 180, 2, 1);
-    debug("Image to canvas draw with negative source dimensions and 2x scale");
-    test.testAggregatePattern(0, 360, 2, 1);
-    finishJSTest();
-}
-
-// The following test pattern is designed to make it easy to verify
-// scale, position and orientation
-ctx2.fillStyle = '#ff0';
-ctx2.fillRect(0, 0, 15, 15);
-ctx2.fillStyle = '#f0f';
-ctx2.fillRect(0, 15, 15, 15);
-ctx2.fillStyle = '#0ff';
-ctx2.fillRect(15, 0, 15, 15);
-ctx2.fillStyle = '#0f0';
-ctx2.fillRect(15, 15, 15, 15);
-ctx2.fillStyle = '#00f';
-ctx2.fillRect(10, 10, 10, 10);
-
-var imageSource = new Image();
-imageSource._onload_ = executeTest;
-imageSource.src = ""
-
-jsTestIsAsync = true;
-
-var successfullyParsed = true;

Modified: trunk/LayoutTests/fast/canvas/drawImage-with-invalid-args-expected.txt (93358 => 93359)


--- trunk/LayoutTests/fast/canvas/drawImage-with-invalid-args-expected.txt	2011-08-18 22:19:23 UTC (rev 93358)
+++ trunk/LayoutTests/fast/canvas/drawImage-with-invalid-args-expected.txt	2011-08-18 22:23:08 UTC (rev 93359)
@@ -15,16 +15,16 @@
 PASS: null image, got exception as expected
 PASS: null image, got exception as expected
 PASS: null image, got exception as expected
-PASS: imageRect does not contain sourceRect on the left side
-PASS: imageRect does not contain sourceRect on the right side
-PASS: imageRect does not contain sourceRect on top
-PASS: imageRect does not contain sourceRect on bottom
-PASS: sourceRect is bigger than imageSource on every side
-PASS: negative size of source, imageRect does not contain sourceRect on the left side
-PASS: negative size of source, imageRect does not contain sourceRect on the right side
-PASS: negative size of source, imageRect does not contain sourceRect on top
-PASS: negative size of source, imageRect does not contain sourceRect on bottom
-PASS: negative size of source, imageRect does not contain sourceRect on every side
+PASS: imageRect does not contain sourceRect on the left side, got exception as expected
+PASS: imageRect does not contain sourceRect on the right side, got exception as expected
+PASS: imageRect does not contain sourceRect on top, got exception as expected
+PASS: imageRect does not contain sourceRect on bottom, got exception as expected
+PASS: sourceRect is bigger than imageSource on every side, got exception as expected
+PASS: negative size of source, imageRect does not contain sourceRect on the left side, got exception as expected
+PASS: negative size of source, imageRect does not contain sourceRect on the right side, got exception as expected
+PASS: negative size of source, imageRect does not contain sourceRect on top, got exception as expected
+PASS: negative size of source, imageRect does not contain sourceRect on bottom, got exception as expected
+PASS: negative size of source, imageRect does not contain sourceRect on every side, got exception as expected
 Test complete.
 
 

Modified: trunk/LayoutTests/fast/canvas/drawImage-with-invalid-args.html (93358 => 93359)


--- trunk/LayoutTests/fast/canvas/drawImage-with-invalid-args.html	2011-08-18 22:19:23 UTC (rev 93358)
+++ trunk/LayoutTests/fast/canvas/drawImage-with-invalid-args.html	2011-08-18 22:23:08 UTC (rev 93359)
@@ -114,63 +114,63 @@
         }
         try{
             ctx.drawImage(myImage, -10, 0, 52, 64, 0, 0, 20, 20);
-            print("PASS: imageRect does not contain sourceRect on the left side");
+            print("FAIL");
         } catch (e) {
-            print("FAIL");
+            print("PASS: imageRect does not contain sourceRect on the left side, got exception as expected");
         }
         try{
             ctx.drawImage(myImage, 10, 0, 52, 64, 0, 0, 20, 20);
-            print("PASS: imageRect does not contain sourceRect on the right side");
+            print("FAIL");
         } catch (e) {
-            print("FAIL");
+            print("PASS: imageRect does not contain sourceRect on the right side, got exception as expected");
         }
         try{
             ctx.drawImage(myImage, 0, -10, 52, 64, 0, 0, 20, 20);
-            print("PASS: imageRect does not contain sourceRect on top");
+            print("FAIL");
         } catch (e) {
-            print("FAIL");
+            print("PASS: imageRect does not contain sourceRect on top, got exception as expected");
         }
         try{
             ctx.drawImage(myImage, 0, 10, 52, 64, 0, 0, 20, 20);
-            print("PASS: imageRect does not contain sourceRect on bottom");
+            print("FAIL");
         } catch (e) {
-            print("FAIL");
+            print("PASS: imageRect does not contain sourceRect on bottom, got exception as expected");
         }
         try{
             ctx.drawImage(myImage, -10, -10, 72, 84, 0, 0, 20, 20);
-            print("PASS: sourceRect is bigger than imageSource on every side");
+            print("FAIL");
         } catch (e) {
-            print("FAIL");
+            print("PASS: sourceRect is bigger than imageSource on every side, got exception as expected");
         }
         try{
             ctx.drawImage(myImage, 42, 64, -52, -64, 0, 0, 20, 20);
-            print("PASS: negative size of source, imageRect does not contain sourceRect on the left side");
+            print("FAIL");
         } catch (e) {
-            print("FAIL");
+            print("PASS: negative size of source, imageRect does not contain sourceRect on the left side, got exception as expected");
         }
         try{
             ctx.drawImage(myImage, 62, 64, -52, -64, 0, 0, 20, 20);
-            print("PASS: negative size of source, imageRect does not contain sourceRect on the right side");
+            print("FAIL");
         } catch (e) {
-            print("FAIL");
+            print("PASS: negative size of source, imageRect does not contain sourceRect on the right side, got exception as expected");
         }
         try{
             ctx.drawImage(myImage, 52, 54, -52, -64, 0, 0, 20, 20);
-            print("PASS: negative size of source, imageRect does not contain sourceRect on top");
+            print("FAIL");
         } catch (e) {
-            print("FAIL");
+            print("PASS: negative size of source, imageRect does not contain sourceRect on top, got exception as expected");
         }
         try{
             ctx.drawImage(myImage, 52, 74, -52, -64, 0, 0, 20, 20);
-            print("PASS: negative size of source, imageRect does not contain sourceRect on bottom");
+            print("FAIL");
         } catch (e) {
-            print("FAIL");
+            print("PASS: negative size of source, imageRect does not contain sourceRect on bottom, got exception as expected");
         }
         try{
             ctx.drawImage(myImage, 62, 74, -72, -84, 0, 0, 20, 20);
-            print("PASS: negative size of source, imageRect does not contain sourceRect on every side");
+            print("FAIL");
         } catch (e) {
-            print("FAIL");
+            print("PASS: negative size of source, imageRect does not contain sourceRect on every side, got exception as expected");
         }
         ctx.fillStyle = 'green';
         ctx.fillRect(0,0,150,150);

Modified: trunk/LayoutTests/platform/chromium/test_expectations.txt (93358 => 93359)


--- trunk/LayoutTests/platform/chromium/test_expectations.txt	2011-08-18 22:19:23 UTC (rev 93358)
+++ trunk/LayoutTests/platform/chromium/test_expectations.txt	2011-08-18 22:23:08 UTC (rev 93359)
@@ -222,11 +222,6 @@
 // We don't let anyone set status in the browser.
 WONTFIX : plugins/set-status.html = TEXT
 
-// This test is out of date with respect to the latest version of the HTML5 spec
-// Test had to be decommissioned to fix https://bugs.webkit.org/show_bug.cgi?id=65709
-// We can re-enable the test when it gets changed upstream to become spec-compliant
-WONTFIX : canvas/philip/tests/2d.drawImage.outsidesource.html = TEXT
-
 // We don't care about dashboard compatibility mode.
 WONTFIX SKIP : http/tests/xmlhttprequest/default-content-type-dashboard.html = FAIL
 WONTFIX SKIP : http/tests/xmlhttprequest/svg-created-by-xhr-disallowed-in-dashboard.html = FAIL

Modified: trunk/LayoutTests/platform/mac/Skipped (93358 => 93359)


--- trunk/LayoutTests/platform/mac/Skipped	2011-08-18 22:19:23 UTC (rev 93358)
+++ trunk/LayoutTests/platform/mac/Skipped	2011-08-18 22:23:08 UTC (rev 93359)
@@ -166,12 +166,6 @@
 canvas/philip/tests/2d.imageData.object.round.html
 canvas/philip/tests/2d.imageData.object.wrap.html
 
-# This canvas test is skipped because it is out of date with respect to
-# the current spec, and the fix for https://bugs.webkit.org/show_bug.cgi?id=65709
-# which complies with the current spec, makes this test fail by no longer throwing
-# exceptions that were previously expected
-canvas/philip/tests/2d.drawImage.outsidesource.html
-
 # IndexedDB is not yet enabled.
 storage/indexeddb
 

Modified: trunk/Source/WebCore/ChangeLog (93358 => 93359)


--- trunk/Source/WebCore/ChangeLog	2011-08-18 22:19:23 UTC (rev 93358)
+++ trunk/Source/WebCore/ChangeLog	2011-08-18 22:23:08 UTC (rev 93359)
@@ -1,3 +1,17 @@
+2011-08-18  Sheriff Bot  <[email protected]>
+
+        Unreviewed, rolling out r93354.
+        http://trac.webkit.org/changeset/93354
+        https://bugs.webkit.org/show_bug.cgi?id=66503
+
+        "consensus was not reached" (Requested by senorblanco on
+        #webkit).
+
+        * html/canvas/CanvasRenderingContext2D.cpp:
+        (WebCore::CanvasRenderingContext2D::drawImage):
+        * platform/graphics/cg/GraphicsContextCG.cpp:
+        (WebCore::GraphicsContext::drawNativeImage):
+
 2011-08-18  Sadrul Habib Chowdhury  <[email protected]>
 
         GestureRecognizer: Update how gesture-scroll works.

Modified: trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp (93358 => 93359)


--- trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp	2011-08-18 22:19:23 UTC (rev 93358)
+++ trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp	2011-08-18 22:23:08 UTC (rev 93359)
@@ -1269,12 +1269,10 @@
     FloatRect normalizedDstRect = normalizeRect(dstRect);
 
     FloatRect imageRect = FloatRect(FloatPoint(), size(image));
-    if (!srcRect.width() || !srcRect.height()) {
+    if (!imageRect.contains(normalizedSrcRect) || !srcRect.width() || !srcRect.height()) {
         ec = INDEX_SIZE_ERR;
         return;
     }
-    if (!imageRect.intersects(normalizedSrcRect))
-        return;
 
     GraphicsContext* c = drawingContext();
     if (!c)
@@ -1333,15 +1331,14 @@
         return;
     }
 
-    if (!srcRect.width() || !srcRect.height()) {
+    if (!srcCanvasRect.contains(normalizeRect(srcRect)) || !srcRect.width() || !srcRect.height()) {
         ec = INDEX_SIZE_ERR;
         return;
     }
 
     ec = 0;
 
-    FloatRect normalizedSrcRect = normalizeRect(srcRect);
-    if (!srcCanvasRect.intersects(normalizedSrcRect) || !dstRect.width() || !dstRect.height())
+    if (!dstRect.width() || !dstRect.height())
         return;
 
     GraphicsContext* c = drawingContext();
@@ -1368,7 +1365,7 @@
     sourceCanvas->makeRenderingResultsAvailable();
 #endif
 
-    c->drawImageBuffer(buffer, ColorSpaceDeviceRGB, normalizeRect(dstRect), normalizedSrcRect, state().m_globalComposite);
+    c->drawImageBuffer(buffer, ColorSpaceDeviceRGB, dstRect, srcRect, state().m_globalComposite);
     didDraw(dstRect);
 }
 
@@ -1415,14 +1412,12 @@
         return;
 
     FloatRect videoRect = FloatRect(FloatPoint(), size(video));
-    if (!srcRect.width() || !srcRect.height()) {
+    if (!videoRect.contains(normalizeRect(srcRect)) || !srcRect.width() || !srcRect.height()) {
         ec = INDEX_SIZE_ERR;
         return;
     }
 
-    FloatRect normalizedSrcRect = normalizeRect(srcRect);
-    FloatRect normalizedDstRect = normalizeRect(dstRect);
-    if (!videoRect.intersects(normalizedSrcRect) || !dstRect.width() || !dstRect.height())
+    if (!dstRect.width() || !dstRect.height())
         return;
 
     GraphicsContext* c = drawingContext();
@@ -1434,13 +1429,13 @@
     checkOrigin(video);
 
     GraphicsContextStateSaver stateSaver(*c);
-    c->clip(normalizedDstRect);
-    c->translate(normalizedDstRect.x(), normalizedDstRect.y());
-    c->scale(FloatSize(normalizedDstRect.width() / normalizedSrcRect.width(), normalizedDstRect.height() / normalizedSrcRect.height()));
-    c->translate(-normalizedSrcRect.x(), -normalizedSrcRect.y());
+    c->clip(dstRect);
+    c->translate(dstRect.x(), dstRect.y());
+    c->scale(FloatSize(dstRect.width() / srcRect.width(), dstRect.height() / srcRect.height()));
+    c->translate(-srcRect.x(), -srcRect.y());
     video->paintCurrentFrameInContext(c, IntRect(IntPoint(), size(video)));
     stateSaver.restore();
-    didDraw(normalizedDstRect);
+    didDraw(dstRect);
 }
 #endif
 

Modified: trunk/Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp (93358 => 93359)


--- trunk/Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp	2011-08-18 22:19:23 UTC (rev 93358)
+++ trunk/Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp	2011-08-18 22:23:08 UTC (rev 93359)
@@ -180,20 +180,23 @@
         float yScale = srcRect.height() / destRect.height();
         if (shouldUseSubimage) {
             FloatRect subimageRect = srcRect;
-            float leftPadding = (srcRect.x() >= 0) ? (srcRect.x() - floorf(srcRect.x())) : srcRect.x();
-            float topPadding = (srcRect.y() >= 0) ? (srcRect.y() - floorf(srcRect.y())) : srcRect.y();
+            float leftPadding = srcRect.x() - floorf(srcRect.x());
+            float topPadding = srcRect.y() - floorf(srcRect.y());
 
             subimageRect.move(-leftPadding, -topPadding);
             adjustedDestRect.move(-leftPadding / xScale, -topPadding / yScale);
 
-            subimageRect.setWidth(min(ceilf(subimageRect.width() + leftPadding), CGImageGetWidth(image.get()) - subimageRect.x()));
+            subimageRect.setWidth(ceilf(subimageRect.width() + leftPadding));
             adjustedDestRect.setWidth(subimageRect.width() / xScale);
 
-            subimageRect.setHeight(min(ceilf(subimageRect.height() + topPadding), currHeight - subimageRect.y() ));
+            subimageRect.setHeight(ceilf(subimageRect.height() + topPadding));
             adjustedDestRect.setHeight(subimageRect.height() / yScale);
 
-            ASSERT(CGRectContainsRect(CGRectMake(0, 0, CGImageGetWidth(image.get()), currHeight), subimageRect));
             image.adoptCF(CGImageCreateWithImageInRect(image.get(), subimageRect));
+            if (currHeight < srcRect.maxY()) {
+                ASSERT(CGImageGetHeight(image.get()) == currHeight - CGRectIntegral(srcRect).origin.y);
+                adjustedDestRect.setHeight(CGImageGetHeight(image.get()) / yScale);
+            }
         } else {
             adjustedDestRect.setLocation(FloatPoint(destRect.x() - srcRect.x() / xScale, destRect.y() - srcRect.y() / yScale));
             adjustedDestRect.setSize(FloatSize(imageSize.width() / xScale, imageSize.height() / yScale));
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to