Title: [111458] trunk
Revision
111458
Author
[email protected]
Date
2012-03-20 16:03:42 -0700 (Tue, 20 Mar 2012)

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

Removed Paths

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')tEXtchecksum1938f5125b87a23c432f1fe8536b9f9f\xA3\xBD\x87
-\xE5IDATx\x9C\xED\xDC1n\x840EA\xED\xCD9\xA5\xD3gI\xB3z-\x9A)q\xF3\xCB'[b\xCC97:?wx\x81X1\x81X1\x81{\x9D~=\x8E\xE3\xE2\xC0;Q\xF8R灵m\xDBZ\xEB\xCA\xC0c\x8C\xBB'\xF0!O\x841\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X\xB1\xD7c\x8C+w<\xC6y`\xAD\xB5.\xDE\xBC\xDB\xF7\xFD\xEE	|\xC2!@L`\xC4@l\xCC9\xEF\xDE\xF0(n\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b \xF6\xB1ɢB~\x8FIEND\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')tEXtchecksumaebe383ca6efdf3e0b347cd43d1aec21\xC6\x9B
-\xCEIDATx\x9C\xED\xDC1
-\xC30A_\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

Reply via email to