Title: [132545] trunk/Source/WebCore
- Revision
- 132545
- Author
- m...@apple.com
- Date
- 2012-10-25 17:04:53 -0700 (Thu, 25 Oct 2012)
Log Message
<rdar://problem/12544626> [cg] RenderBlock::selectionGaps() is extremely slow when there are many floats
https://bugs.webkit.org/show_bug.cgi?id=100413
Reviewed by Anders Carlsson.
RenderBlock::selectionGaps() calls GraphicsContext::clipOut(const IntRect&) for each float.
Sped up the Core Graphics implementation of this function considerably by removing an
unnecessary call to CGContextGetClipBoundingBox.
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::clipOut): Changed to use CGRectInfinite rather than the bounding
box of the current clip.
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (132544 => 132545)
--- trunk/Source/WebCore/ChangeLog 2012-10-25 23:32:09 UTC (rev 132544)
+++ trunk/Source/WebCore/ChangeLog 2012-10-26 00:04:53 UTC (rev 132545)
@@ -1,3 +1,18 @@
+2012-10-25 Dan Bernstein <m...@apple.com>
+
+ <rdar://problem/12544626> [cg] RenderBlock::selectionGaps() is extremely slow when there are many floats
+ https://bugs.webkit.org/show_bug.cgi?id=100413
+
+ Reviewed by Anders Carlsson.
+
+ RenderBlock::selectionGaps() calls GraphicsContext::clipOut(const IntRect&) for each float.
+ Sped up the Core Graphics implementation of this function considerably by removing an
+ unnecessary call to CGContextGetClipBoundingBox.
+
+ * platform/graphics/cg/GraphicsContextCG.cpp:
+ (WebCore::GraphicsContext::clipOut): Changed to use CGRectInfinite rather than the bounding
+ box of the current clip.
+
2012-10-25 Tim Horton <timothy_hor...@apple.com>
REGRESSION (132422): Tiles don't move when the Find dialog causes programmatic scrolls
Modified: trunk/Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp (132544 => 132545)
--- trunk/Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp 2012-10-25 23:32:09 UTC (rev 132544)
+++ trunk/Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp 2012-10-26 00:04:53 UTC (rev 132545)
@@ -1057,7 +1057,7 @@
if (paintingDisabled())
return;
- CGRect rects[2] = { CGContextGetClipBoundingBox(platformContext()), rect };
+ CGRect rects[2] = { CGRectInfinite, rect };
CGContextBeginPath(platformContext());
CGContextAddRects(platformContext(), rects, 2);
CGContextEOClip(platformContext());
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes