<html>
    <head>
      <base href="https://bugs.webkit.org/">
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - ResizeObserver / IntersectionObserver memory leak on detached & out of reference elements"
   href="https://bugs.webkit.org/show_bug.cgi?id=227194#c3">Comment # 3</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - ResizeObserver / IntersectionObserver memory leak on detached & out of reference elements"
   href="https://bugs.webkit.org/show_bug.cgi?id=227194">bug 227194</a>
              from <span class="vcard"><a class="email" href="mailto:rniwa@webkit.org" title="Ryosuke Niwa <rniwa@webkit.org>"> <span class="fn">Ryosuke Niwa</span></a>
</span></b>
        <pre>Oh, intersting. I think I misunderstood the semantics of ResizeObserver / InteractionObserver when I was advising Cathie to keep JS wrapper alive for these objects. We can't use GCReachableRef in these observers since m_pendingTargets aren't really transient entires but rather persistent entires that are always there while an element is being observed. Instead, we need to make visitChildren of JSResizeObserver and JSInteractionObserver each visit the opaque root of the observed nodes. This in turn implies that we need a lock for these data structures since visitChildren will be called concurrently to the main thread.</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>