<html>
<head>
<base href="https://bugs.webkit.org/" />
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW - SVG polyline and polygon leak page"
href="https://bugs.webkit.org/show_bug.cgi?id=152759#c4">Comment # 4</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW - SVG polyline and polygon leak page"
href="https://bugs.webkit.org/show_bug.cgi?id=152759">bug 152759</a>
from <span class="vcard"><a class="email" href="mailto:chris.vno@outlook.com" title="Chris Vienneau <chris.vno@outlook.com>"> <span class="fn">Chris Vienneau</span></a>
</span></b>
<pre>I’ve attached a repro page, which is pretty basic, I think the real trick here is recognizing that anything is leaking. I suggest you ensure that page caching and memory cache are off, this will make the leak more predictable and apparent. Breakpoints on SVGAnimatedProperty
and ~SVGAnimatedProperty will show the basic problem. On my local build I have quite a lot of instrumentation at the moment; for example, I enabled DUMP_NODE_STATISTICS and tweaked the code a bit, with breakpoints in:
WebCore\dom\Node.cpp
{code}
#if DUMP_NODE_STATISTICS
if (this->m_nodeFlags & IsSVGFlag)
{
DbgPrint("Added svg node:%p\n", this);
}
liveNodeSet.add(this);
#endif
}
{code}
{code}
#if DUMP_NODE_STATISTICS
if (this->m_nodeFlags & IsSVGFlag)
{
DbgPrint("Removed svg node:%p\n", this);
}
liveNodeSet.remove(this);
#endif
{code}
You’ll be able to see two svg nodes added when you visit the page, and one svg node removed when you navigate away from the page.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>