Changeset 58804 in webkit


Ignore:
Timestamp:
May 5, 2010 12:31:40 AM (14 years ago)
Author:
krit@webkit.org
Message:

2010-05-05 Dirk Schulze <krit@webkit.org>

Reviewed by Nikolas Zimmermann.

SVG hit testing is *way* too slow
https://bugs.webkit.org/show_bug.cgi?id=19312

Use the cached stroke and fill boundaries in RenderPath as a heuristik to
speed up SVG's hit testing.

No new tests added.

  • rendering/RenderPath.cpp: (WebCore::RenderPath::fillContains): (WebCore::RenderPath::strokeContains):
Location:
trunk/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/ChangeLog

    r58801 r58804  
     12010-05-05  Dirk Schulze  <krit@webkit.org>
     2
     3        Reviewed by Nikolas Zimmermann.
     4
     5        SVG hit testing is *way* too slow
     6        https://bugs.webkit.org/show_bug.cgi?id=19312
     7
     8        Use the cached stroke and fill boundaries in RenderPath as a heuristik to
     9        speed up SVG's hit testing.
     10
     11        No new tests added.
     12
     13        * rendering/RenderPath.cpp:
     14        (WebCore::RenderPath::fillContains):
     15        (WebCore::RenderPath::strokeContains):
     16
    1172010-05-04  Dumitru Daniliuc  <dumi@chromium.org>
    218
  • trunk/WebCore/rendering/RenderPath.cpp

    r58570 r58804  
    7474bool RenderPath::fillContains(const FloatPoint& point, bool requiresFill) const
    7575{
    76     if (m_path.isEmpty())
     76    if (!m_fillBoundingBox.contains(point))
    7777        return false;
    7878
     
    8585bool RenderPath::strokeContains(const FloatPoint& point, bool requiresStroke) const
    8686{
    87     if (m_path.isEmpty())
     87    if (!m_strokeAndMarkerBoundingBox.contains(point))
    8888        return false;
    8989
Note: See TracChangeset for help on using the changeset viewer.