RESOLVED FIXED 178567
When destroying a resource, register "only" the clients who are losing their resource as having pending resources
https://bugs.webkit.org/show_bug.cgi?id=178567
Summary When destroying a resource, register "only" the clients who are losing their ...
Said Abou-Hallawa
Reported 2017-10-19 22:11:18 PDT
In <http://trac.webkit.org/changeset/95047>, we tried to fix this issue. But instead of registering the clients of the destroyed resource, we registered all the clients in the cache as having pending resources. In SVGResourcesCache::resourceDestroyed(), we call resourcesCacheFromRenderer() which returns a cache that maps <RenderElement, SVGResources>. We loop through all the elements in the cache and we call SVGResources::resourceDestroyed() which will remove the reference to the destroyed resource if it's one of the resources of SVGResources Then we call SVGDocumentExtensions::addPendingResource() with the ID of the destroyed resource and the Element of the RenderElement. This is wrong if the SVGResources does not have a reference to the destroyed resource. It is waste of time to register the Element of the RenderElement to have a pending resources in this caae.
Attachments
Patch (6.83 KB, patch)
2017-10-19 22:31 PDT, Said Abou-Hallawa
no flags
Patch (14.45 KB, patch)
2017-10-20 12:02 PDT, Said Abou-Hallawa
no flags
Said Abou-Hallawa
Comment 1 2017-10-19 22:31:34 PDT
Said Abou-Hallawa
Comment 2 2017-10-19 22:34:05 PDT
Simon Fraser (smfr)
Comment 3 2017-10-20 11:01:40 PDT
Comment on attachment 324358 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=324358&action=review > Source/WebCore/rendering/svg/SVGResources.cpp:391 > m_clipperFilterMaskerData->masker = 0; These 0 should all be nullptr, right? > Source/WebCore/rendering/svg/SVGResources.h:70 > + bool resourceDestroyed(RenderSVGResourceContainer&); Please add a comment saying what the return value means, or use an enum.
Said Abou-Hallawa
Comment 4 2017-10-20 12:02:19 PDT
WebKit Commit Bot
Comment 5 2017-10-20 13:34:31 PDT
Comment on attachment 324424 [details] Patch Clearing flags on attachment: 324424 Committed r223789: <https://trac.webkit.org/changeset/223789>
WebKit Commit Bot
Comment 6 2017-10-20 13:34:33 PDT
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.