Changeset 96203 in webkit


Ignore:
Timestamp:
Sep 28, 2011 1:06:48 AM (13 years ago)
Author:
timothy_horton@apple.com
Message:

Fix potential SVG performance regression (over-invalidation of caches) from 96052
https://bugs.webkit.org/show_bug.cgi?id=68941
<rdar://problem/10196224>

Reviewed by Zoltan Herczeg.

Only invalidate the cache of a filter when target style changes, as of the different types of cached
resources, only filters make use of the style of the target element and thus need to be invalidated
when the target style changes.

No new tests, performance improvement.

  • rendering/svg/SVGResourcesCache.cpp:

(WebCore::SVGResourcesCache::clientUpdatedFromElement):

Location:
trunk/Source/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r96196 r96203  
     12011-09-28  Tim Horton  <timothy_horton@apple.com>
     2
     3        Fix potential SVG performance regression (over-invalidation of caches) from 96052
     4        https://bugs.webkit.org/show_bug.cgi?id=68941
     5        <rdar://problem/10196224>
     6
     7        Reviewed by Zoltan Herczeg.
     8
     9        Only invalidate the cache of a filter when target style changes, as of the different types of cached
     10        resources, only filters make use of the style of the target element and thus need to be invalidated
     11        when the target style changes.
     12
     13        No new tests, performance improvement.
     14
     15        * rendering/svg/SVGResourcesCache.cpp:
     16        (WebCore::SVGResourcesCache::clientUpdatedFromElement):
     17
    1182011-09-28  Adenilson Cavalcanti  <adenilson.silva@openbossa.org>
    219
  • trunk/Source/WebCore/rendering/svg/SVGResourcesCache.cpp

    r96052 r96203  
    147147
    148148    SVGResources* resources = SVGResourcesCache::cachedResourcesForRenderObject(renderer);
    149     if (!resources)
    150         return;
    151 
    152     resources->removeClientFromCache(renderer);
     149    if (resources && resources->filter())
     150        resources->removeClientFromCache(renderer);
    153151}
    154152
Note: See TracChangeset for help on using the changeset viewer.