<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&#64;outlook.com" title="Chris Vienneau &lt;chris.vno&#64;outlook.com&gt;"> <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-&gt;m_nodeFlags &amp; IsSVGFlag)
    {
        DbgPrint(&quot;Added svg node:%p\n&quot;, this);
    }
    liveNodeSet.add(this);
#endif
}
{code}

{code}
#if DUMP_NODE_STATISTICS
    if (this-&gt;m_nodeFlags &amp; IsSVGFlag)
    {
        DbgPrint(&quot;Removed svg node:%p\n&quot;, 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>