[Webkit-unassigned] [Bug 116469] New: Invalidate SVG filter results in SVGResourcesCache::clientLayoutChanged()

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon May 20 15:43:39 PDT 2013


https://bugs.webkit.org/show_bug.cgi?id=116469

           Summary: Invalidate SVG filter results in
                    SVGResourcesCache::clientLayoutChanged()
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: Unspecified
        OS/Version: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: SVG
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: rniwa at webkit.org
                CC: zimmermann at kde.org, krit at webkit.org,
                    timothy_horton at apple.com


We should probably merge
https://chromium.googlesource.com/chromium/blink/+/25d72ebd50bec9a4caa426e735e5ee7292c4da69

Invalidate SVG filter results in SVGResourcesCache::clientLayoutChanged().

This is a regression introduced by http://trac.webkit.org/changeset/103539.

For the SVG tree, filter result invalidation is handled by
RenderSVGResource::markForLayoutAndParentResourceInvalidation. But non-SVG content (such as
a <foreignObject> HTML subtree) does not call markForLayoutAndParentResourceInvalidation and
instead uses the regular setNeedsLayout() invalidation path.

Hence, changes in the HTML subtree do not invalidate cached results for filters applied on
ancestor SVG elements. In order to cover this case, clientLayoutChanged() needs to invalidate
filter results even if the SVG element itself does not need a re-layout. Note that prior to
http://trac.webkit.org/changeset/103539 the method used to do exactly that, but the branch was
removed on the assumption that markForLayoutAndParentResourceInvalidation() is already taking care
of it. Obviously, the assumption doesn’t hold for non-SVG content.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


More information about the webkit-unassigned mailing list