Title: [95193] trunk/Source/WebCore
- Revision
- 95193
- Author
- commit-qu...@webkit.org
- Date
- 2011-09-15 09:09:59 -0700 (Thu, 15 Sep 2011)
Log Message
Don't bother calculating dirty rect for accelerated 2D canvases.
https://bugs.webkit.org/show_bug.cgi?id=68158
Patch by Andreas Kling <kl...@webkit.org> on 2011-09-15
Reviewed by Kenneth Rohde Christiansen.
For accelerated CanvasRenderingContext2D, didDraw() simply calls out
to RenderLayer::contentChanged(). Move this to the top of didDraw()
so we don't waste time calculating a precise dirty rect.
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::didDraw):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (95192 => 95193)
--- trunk/Source/WebCore/ChangeLog 2011-09-15 15:13:15 UTC (rev 95192)
+++ trunk/Source/WebCore/ChangeLog 2011-09-15 16:09:59 UTC (rev 95193)
@@ -1,3 +1,17 @@
+2011-09-15 Andreas Kling <kl...@webkit.org>
+
+ Don't bother calculating dirty rect for accelerated 2D canvases.
+ https://bugs.webkit.org/show_bug.cgi?id=68158
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ For accelerated CanvasRenderingContext2D, didDraw() simply calls out
+ to RenderLayer::contentChanged(). Move this to the top of didDraw()
+ so we don't waste time calculating a precise dirty rect.
+
+ * html/canvas/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::didDraw):
+
2011-09-15 Brian Salomon <bsalo...@google.com>
[Skia/Chrome] Cleanup unneeded code now that GrGLInterface is used to set GL ctx per GL call.
Modified: trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp (95192 => 95193)
--- trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp 2011-09-15 15:13:15 UTC (rev 95192)
+++ trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp 2011-09-15 16:09:59 UTC (rev 95193)
@@ -1621,6 +1621,17 @@
if (!state().m_invertibleCTM)
return;
+#if ENABLE(ACCELERATED_2D_CANVAS) && USE(ACCELERATED_COMPOSITING)
+ // If we are drawing to hardware and we have a composited layer, just call contentChanged().
+ if (isAccelerated()) {
+ RenderBox* renderBox = canvas()->renderBox();
+ if (renderBox && renderBox->hasLayer() && renderBox->layer()->hasAcceleratedCompositing()) {
+ renderBox->layer()->contentChanged(RenderLayer::CanvasChanged);
+ return;
+ }
+ }
+#endif
+
FloatRect dirtyRect = r;
if (options & CanvasDidDrawApplyTransform) {
AffineTransform ctm = state().m_transform;
@@ -1641,14 +1652,7 @@
// we'd have to keep the clip path around.
}
-#if ENABLE(ACCELERATED_2D_CANVAS) && USE(ACCELERATED_COMPOSITING)
- // If we are drawing to hardware and we have a composited layer, just call contentChanged().
- RenderBox* renderBox = canvas()->renderBox();
- if (isAccelerated() && renderBox && renderBox->hasLayer() && renderBox->layer()->hasAcceleratedCompositing())
- renderBox->layer()->contentChanged(RenderLayer::CanvasChanged);
- else
-#endif
- canvas()->didDraw(dirtyRect);
+ canvas()->didDraw(dirtyRect);
}
GraphicsContext* CanvasRenderingContext2D::drawingContext() const
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes