Title: [101311] trunk/Source/WebCore
Revision
101311
Author
[email protected]
Date
2011-11-28 17:38:32 -0800 (Mon, 28 Nov 2011)

Log Message

Synchronization problem in Canvas/WebGLRenderingContext when listener asks for image
https://bugs.webkit.org/show_bug.cgi?id=73228

Patch by Dana Jansens <[email protected]> on 2011-11-28
Reviewed by Kenneth Russell.

* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::markContextChanged):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (101310 => 101311)


--- trunk/Source/WebCore/ChangeLog	2011-11-29 01:31:36 UTC (rev 101310)
+++ trunk/Source/WebCore/ChangeLog	2011-11-29 01:38:32 UTC (rev 101311)
@@ -1,3 +1,13 @@
+2011-11-28  Dana Jansens  <[email protected]>
+
+        Synchronization problem in Canvas/WebGLRenderingContext when listener asks for image
+        https://bugs.webkit.org/show_bug.cgi?id=73228
+
+        Reviewed by Kenneth Russell.
+
+        * html/canvas/WebGLRenderingContext.cpp:
+        (WebCore::WebGLRenderingContext::markContextChanged):
+
 2011-11-28  Rafael Weinstein  <[email protected]>
 
         [MutationObservers] Fix build breakage after CSSInlineDeclaration refactor

Modified: trunk/Source/WebCore/html/canvas/WebGLRenderingContext.cpp (101310 => 101311)


--- trunk/Source/WebCore/html/canvas/WebGLRenderingContext.cpp	2011-11-29 01:31:36 UTC (rev 101310)
+++ trunk/Source/WebCore/html/canvas/WebGLRenderingContext.cpp	2011-11-29 01:38:32 UTC (rev 101311)
@@ -541,16 +541,18 @@
     m_layerCleared = false;
 #if USE(ACCELERATED_COMPOSITING)
     RenderBox* renderBox = canvas()->renderBox();
-    if (renderBox && renderBox->hasLayer() && renderBox->layer()->hasAcceleratedCompositing())
+    if (renderBox && renderBox->hasLayer() && renderBox->layer()->hasAcceleratedCompositing()) {
+        m_markedCanvasDirty = true;
         renderBox->layer()->contentChanged(RenderLayer::CanvasChanged);
-    else {
+    } else {
 #endif
-        if (!m_markedCanvasDirty)
+        if (!m_markedCanvasDirty) {
+            m_markedCanvasDirty = true;
             canvas()->didDraw(FloatRect(0, 0, canvas()->width(), canvas()->height()));
+        }
 #if USE(ACCELERATED_COMPOSITING)
     }
 #endif
-    m_markedCanvasDirty = true;
 }
 
 bool WebGLRenderingContext::clearIfComposited(GC3Dbitfield mask)
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to