Changeset 132545 in webkit


Ignore:
Timestamp:
Oct 25, 2012 5:04:53 PM (11 years ago)
Author:
mitz@apple.com
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.

Location:
trunk/Source/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r132543 r132545  
     12012-10-25  Dan Bernstein  <mitz@apple.com>
     2
     3        <rdar://problem/12544626> [cg] RenderBlock::selectionGaps() is extremely slow when there are many floats
     4        https://bugs.webkit.org/show_bug.cgi?id=100413
     5
     6        Reviewed by Anders Carlsson.
     7
     8        RenderBlock::selectionGaps() calls GraphicsContext::clipOut(const IntRect&) for each float.
     9        Sped up the Core Graphics implementation of this function considerably by removing an
     10        unnecessary call to CGContextGetClipBoundingBox.
     11
     12        * platform/graphics/cg/GraphicsContextCG.cpp:
     13        (WebCore::GraphicsContext::clipOut): Changed to use CGRectInfinite rather than the bounding
     14        box of the current clip.
     15
    1162012-10-25  Tim Horton  <timothy_horton@apple.com>
    217
  • trunk/Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp

    r132525 r132545  
    10581058        return;
    10591059
    1060     CGRect rects[2] = { CGContextGetClipBoundingBox(platformContext()), rect };
     1060    CGRect rects[2] = { CGRectInfinite, rect };
    10611061    CGContextBeginPath(platformContext());
    10621062    CGContextAddRects(platformContext(), rects, 2);
Note: See TracChangeset for help on using the changeset viewer.