Log Message
Unreviewed, rolling out r111442. http://trac.webkit.org/changeset/111442 https://bugs.webkit.org/show_bug.cgi?id=81711
Causes crashes and image mismatches in canvas tests (Requested by leviw on #webkit). Patch by Sheriff Bot <[email protected]> on 2012-03-20 Source/WebCore: * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::HTMLCanvasElement): (WebCore::HTMLCanvasElement::reset): (WebCore::HTMLCanvasElement::createImageBuffer): (WebCore::HTMLCanvasElement::clearCopiedImage): * html/HTMLCanvasElement.h: (HTMLCanvasElement): * html/canvas/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D): (WebCore::CanvasRenderingContext2D::unwindStateStack): (WebCore::CanvasRenderingContext2D::reset): LayoutTests: * fast/canvas/canvas-resize-after-paint-without-layout-expected.txt: Removed. * fast/canvas/canvas-resize-after-paint-without-layout.html: Removed. * platform/chromium-linux/fast/canvas/canvas-resize-after-paint-without-layout-expected.png: Removed. * platform/chromium-linux/fast/canvas/setWidthResetAfterForcedRender-expected.png: * platform/chromium-linux/platform/chromium/virtual/gpu/fast/canvas/canvas-resize-after-paint-without-layout-expected.png: Removed.
Modified Paths
- trunk/LayoutTests/ChangeLog
- trunk/LayoutTests/platform/chromium-linux/fast/canvas/setWidthResetAfterForcedRender-expected.png
- trunk/Source/WebCore/ChangeLog
- trunk/Source/WebCore/html/HTMLCanvasElement.cpp
- trunk/Source/WebCore/html/HTMLCanvasElement.h
- trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp
Removed Paths
- trunk/LayoutTests/fast/canvas/canvas-resize-after-paint-without-layout-expected.txt
- trunk/LayoutTests/fast/canvas/canvas-resize-after-paint-without-layout.html
- trunk/LayoutTests/platform/chromium-linux/fast/canvas/canvas-resize-after-paint-without-layout-expected.png
- trunk/LayoutTests/platform/chromium-linux/platform/chromium/virtual/gpu/fast/canvas/canvas-resize-after-paint-without-layout-expected.png
Diff
Modified: trunk/LayoutTests/ChangeLog (111457 => 111458)
--- trunk/LayoutTests/ChangeLog 2012-03-20 23:01:52 UTC (rev 111457)
+++ trunk/LayoutTests/ChangeLog 2012-03-20 23:03:42 UTC (rev 111458)
@@ -1,3 +1,18 @@
+2012-03-20 Sheriff Bot <[email protected]>
+
+ Unreviewed, rolling out r111442.
+ http://trac.webkit.org/changeset/111442
+ https://bugs.webkit.org/show_bug.cgi?id=81711
+
+ Causes crashes and image mismatches in canvas tests (Requested
+ by leviw on #webkit).
+
+ * fast/canvas/canvas-resize-after-paint-without-layout-expected.txt: Removed.
+ * fast/canvas/canvas-resize-after-paint-without-layout.html: Removed.
+ * platform/chromium-linux/fast/canvas/canvas-resize-after-paint-without-layout-expected.png: Removed.
+ * platform/chromium-linux/fast/canvas/setWidthResetAfterForcedRender-expected.png:
+ * platform/chromium-linux/platform/chromium/virtual/gpu/fast/canvas/canvas-resize-after-paint-without-layout-expected.png: Removed.
+
2012-03-20 Adrienne Walker <[email protected]>
RenderLayerCompositor doesn't properly clip graphics layer sizes
Deleted: trunk/LayoutTests/fast/canvas/canvas-resize-after-paint-without-layout-expected.txt (111457 => 111458)
--- trunk/LayoutTests/fast/canvas/canvas-resize-after-paint-without-layout-expected.txt 2012-03-20 23:01:52 UTC (rev 111457)
+++ trunk/LayoutTests/fast/canvas/canvas-resize-after-paint-without-layout-expected.txt 2012-03-20 23:03:42 UTC (rev 111458)
@@ -1 +0,0 @@
-
Deleted: trunk/LayoutTests/fast/canvas/canvas-resize-after-paint-without-layout.html (111457 => 111458)
--- trunk/LayoutTests/fast/canvas/canvas-resize-after-paint-without-layout.html 2012-03-20 23:01:52 UTC (rev 111457)
+++ trunk/LayoutTests/fast/canvas/canvas-resize-after-paint-without-layout.html 2012-03-20 23:03:42 UTC (rev 111458)
@@ -1,38 +0,0 @@
-<!DOCTYPE html>
-<!-- Check that resizing a (potentially accelerated) canvas properly clears its
- contents even if the layout size of the canvas does not change. Expected
- output is a blank canvas.
- https://bugs.webkit.org/show_bug.cgi?id=80871 -->
-<html>
- <head>
- <style>
- #canvas {
- outline: solid 1px black;
- width: 300px;
- height: 300px;
- }
- </style>
- <script src=""
- <script>
- if (window.layoutTestController)
- layoutTestController.dumpAsText(true);
-
- function runTest() {
- var canvas = document.getElementById('canvas');
- var ctx = canvas.getContext('2d');
- ctx.fillStyle = 'red';
- ctx.fillRect(0, 0, 300, 300);
- runRepaintTest();
- }
-
- function repaintTest() {
- var canvas = document.getElementById('canvas');
- // This changes the resolution of the canvas but keeps its layout size constant.
- canvas.width = canvas.width / 2;
- }
- </script>
- </head>
- <body _onload_="runTest();">
- <canvas id="canvas" width="300" height="300"/>
- </body>
-</html>
Deleted: trunk/LayoutTests/platform/chromium-linux/fast/canvas/canvas-resize-after-paint-without-layout-expected.png (111457 => 111458)
--- trunk/LayoutTests/platform/chromium-linux/fast/canvas/canvas-resize-after-paint-without-layout-expected.png 2012-03-20 23:01:52 UTC (rev 111457)
+++ trunk/LayoutTests/platform/chromium-linux/fast/canvas/canvas-resize-after-paint-without-layout-expected.png 2012-03-20 23:03:42 UTC (rev 111458)
@@ -1,5 +0,0 @@
-\x89PNG
-
-
-IHDR X ' )tEXtchecksum 1938f5125b87a23c432f1fe8536b9f9f\xA3\xBD\x87
-\xE5IDATx\x9C\xED\xDC1n\x840 EA\xED\xCD9\xA5\xD3gI\xB3z-\x9A)q\xF3\xCB'[b\xCC97 :?w x\x81 X 1\x81 X 1\x81 {\x9D~=\x8E\xE3\xE2\xC0;Q\xF8R灵m\xDBZ\xEB\xCA\xC0c\x8C\xBB' \xF0!O\x84 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X \xB1\xD7c\x8C+w <\xC6y`\xAD\xB5.\xDE\xBC\xDB\xF7\xFD\xEE |\xC2! @L` \xC4 @l\xCC9\xEF\xDE \xF0(n\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b \xF6\xB1ɢB~\x8F IEND\xAEB`\x82
\ No newline at end of file
Modified: trunk/LayoutTests/platform/chromium-linux/fast/canvas/setWidthResetAfterForcedRender-expected.png
(Binary files differ)
Deleted: trunk/LayoutTests/platform/chromium-linux/platform/chromium/virtual/gpu/fast/canvas/canvas-resize-after-paint-without-layout-expected.png (111457 => 111458)
--- trunk/LayoutTests/platform/chromium-linux/platform/chromium/virtual/gpu/fast/canvas/canvas-resize-after-paint-without-layout-expected.png 2012-03-20 23:01:52 UTC (rev 111457)
+++ trunk/LayoutTests/platform/chromium-linux/platform/chromium/virtual/gpu/fast/canvas/canvas-resize-after-paint-without-layout-expected.png 2012-03-20 23:03:42 UTC (rev 111458)
@@ -1,6 +0,0 @@
-\x89PNG
-
-
-IHDR X ' )tEXtchecksum aebe383ca6efdf3e0b347cd43d1aec21\xC6\x9B
-\xCEIDATx\x9C\xED\xDC1
-\xC30 A_\xF0\xFF\xBF\xAC< N\xB7X\xD8̔Rs\x95X!Ь\xB5 :\x9F\xDD \xBC\x8D\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88\x9D\x97\xAB3s\xF3\xC0/\xBF\xA8 <\xD4u`Nv\xD8\xCD=\xE0\xB9< \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4\xCE3s\xE7 \xAF1k\xAD\xDD3 \xBC\x8A'B \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88 , \x80\x98\xC0 \x88}\xC9O\xB2Z\xF9[ IEND\xAEB`\x82
\ No newline at end of file
Modified: trunk/Source/WebCore/ChangeLog (111457 => 111458)
--- trunk/Source/WebCore/ChangeLog 2012-03-20 23:01:52 UTC (rev 111457)
+++ trunk/Source/WebCore/ChangeLog 2012-03-20 23:03:42 UTC (rev 111458)
@@ -1,3 +1,24 @@
+2012-03-20 Sheriff Bot <[email protected]>
+
+ Unreviewed, rolling out r111442.
+ http://trac.webkit.org/changeset/111442
+ https://bugs.webkit.org/show_bug.cgi?id=81711
+
+ Causes crashes and image mismatches in canvas tests (Requested
+ by leviw on #webkit).
+
+ * html/HTMLCanvasElement.cpp:
+ (WebCore::HTMLCanvasElement::HTMLCanvasElement):
+ (WebCore::HTMLCanvasElement::reset):
+ (WebCore::HTMLCanvasElement::createImageBuffer):
+ (WebCore::HTMLCanvasElement::clearCopiedImage):
+ * html/HTMLCanvasElement.h:
+ (HTMLCanvasElement):
+ * html/canvas/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
+ (WebCore::CanvasRenderingContext2D::unwindStateStack):
+ (WebCore::CanvasRenderingContext2D::reset):
+
2012-03-20 Adrienne Walker <[email protected]>
RenderLayerCompositor doesn't properly clip graphics layer sizes
Modified: trunk/Source/WebCore/html/HTMLCanvasElement.cpp (111457 => 111458)
--- trunk/Source/WebCore/html/HTMLCanvasElement.cpp 2012-03-20 23:01:52 UTC (rev 111457)
+++ trunk/Source/WebCore/html/HTMLCanvasElement.cpp 2012-03-20 23:03:42 UTC (rev 111458)
@@ -92,7 +92,6 @@
#endif
, m_originClean(true)
, m_hasCreatedImageBuffer(false)
- , m_didClearImageBuffer(false)
{
ASSERT(hasTagName(canvasTag));
}
@@ -254,14 +253,7 @@
}
IntSize oldSize = size();
- // If the size of an existing buffer matches, we can just clear it instead of reallocating.
- // This optimization is only done for 2D canvases for now.
- if (m_hasCreatedImageBuffer && oldSize == IntSize(w, h) && (!m_context || m_context->is2d())) {
- if (!m_didClearImageBuffer)
- clearImageBuffer();
- return;
- }
- setSurfaceSize(IntSize(w, h));
+ setSurfaceSize(IntSize(w, h)); // The image buffer gets cleared here.
#if ENABLE(WEBGL)
if (m_context && m_context->is3d() && oldSize != size())
@@ -270,13 +262,8 @@
if (RenderObject* renderer = this->renderer()) {
if (m_rendererIsCanvas) {
- if (oldSize != size()) {
+ if (oldSize != size())
toRenderHTMLCanvas(renderer)->canvasSizeChanged();
-#if USE(ACCELERATED_COMPOSITING)
- if (renderBox() && renderBox()->hasLayer() && renderBox()->layer()->hasAcceleratedCompositing())
- renderBox()->layer()->contentChanged(RenderLayer::CanvasChanged);
-#endif
- }
if (hadImageBuffer)
renderer->repaint();
}
@@ -511,7 +498,6 @@
ASSERT(!m_imageBuffer);
m_hasCreatedImageBuffer = true;
- m_didClearImageBuffer = true;
FloatSize logicalSize = size();
FloatSize deviceSize = convertLogicalToDevice(logicalSize);
@@ -587,27 +573,9 @@
return m_copiedImage.get();
}
-void HTMLCanvasElement::clearImageBuffer() const
-{
- ASSERT(m_hasCreatedImageBuffer);
- ASSERT(!m_didClearImageBuffer);
-
- if (!m_context)
- return;
-
- m_didClearImageBuffer = true;
-
- if (m_context->is2d()) {
- CanvasRenderingContext2D* context2D = static_cast<CanvasRenderingContext2D*>(m_context.get());
- // No need to undo transforms/clip/etc. because we are called right after the context is reset.
- context2D->clearRect(0, 0, width(), height());
- }
-}
-
void HTMLCanvasElement::clearCopiedImage()
{
m_copiedImage.clear();
- m_didClearImageBuffer = false;
}
AffineTransform HTMLCanvasElement::baseTransform() const
Modified: trunk/Source/WebCore/html/HTMLCanvasElement.h (111457 => 111458)
--- trunk/Source/WebCore/html/HTMLCanvasElement.h 2012-03-20 23:01:52 UTC (rev 111457)
+++ trunk/Source/WebCore/html/HTMLCanvasElement.h 2012-03-20 23:03:42 UTC (rev 111458)
@@ -143,7 +143,6 @@
void reset();
void createImageBuffer() const;
- void clearImageBuffer() const;
void setSurfaceSize(const IntSize&);
@@ -167,7 +166,6 @@
// m_createdImageBuffer means we tried to malloc the buffer. We didn't necessarily get it.
mutable bool m_hasCreatedImageBuffer;
- mutable bool m_didClearImageBuffer;
mutable OwnPtr<ImageBuffer> m_imageBuffer;
mutable RefPtr<Image> m_presentedImage;
Modified: trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp (111457 => 111458)
--- trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp 2012-03-20 23:01:52 UTC (rev 111457)
+++ trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp 2012-03-20 23:03:42 UTC (rev 111458)
@@ -124,8 +124,6 @@
#if !ENABLE(DASHBOARD_SUPPORT)
ASSERT_UNUSED(usesDashboardCompatibilityMode, !usesDashboardCompatibilityMode);
#endif
- if (GraphicsContext* context = canvas->drawingContext())
- context->save();
}
void CanvasRenderingContext2D::unwindStateStack()
@@ -135,7 +133,7 @@
// GraphicsContext dtor.
if (size_t stackSize = m_stateStack.size()) {
if (GraphicsContext* context = canvas()->existingDrawingContext()) {
- while (stackSize--)
+ while (--stackSize)
context->restore();
}
}
@@ -163,8 +161,11 @@
m_stateStack.resize(1);
m_stateStack.first() = State();
m_path.clear();
- if (GraphicsContext* context = canvas()->drawingContext())
- context->save();
+#if USE(ACCELERATED_COMPOSITING)
+ RenderBox* renderBox = canvas()->renderBox();
+ if (renderBox && renderBox->hasLayer() && renderBox->layer()->hasAcceleratedCompositing())
+ renderBox->layer()->contentChanged(RenderLayer::CanvasChanged);
+#endif
}
CanvasRenderingContext2D::State::State()
_______________________________________________ webkit-changes mailing list [email protected] http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes
