[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