<html>
    <head>
      <base href="https://bugs.webkit.org/">
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - AX: Improve performance of addChildren()/childrenChanged()"
   href="https://bugs.webkit.org/show_bug.cgi?id=171443#c3">Comment # 3</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - AX: Improve performance of addChildren()/childrenChanged()"
   href="https://bugs.webkit.org/show_bug.cgi?id=171443">bug 171443</a>
              from <span class="vcard"><a class="email" href="mailto:n_wang@apple.com" title="Nan Wang <n_wang@apple.com>"> <span class="fn">Nan Wang</span></a>
</span></b>
        <pre>Comment on <span class=""><a href="attachment.cgi?id=308572&action=diff" name="attach_308572" title="patch">attachment 308572</a> <a href="attachment.cgi?id=308572&action=edit" title="patch">[details]</a></span>
patch

View in context: <a href="https://bugs.webkit.org/attachment.cgi?id=308572&action=review">https://bugs.webkit.org/attachment.cgi?id=308572&action=review</a>

<span class="quote">>> Source/WebCore/ChangeLog:22
>> +        No new tests since this didn't change any functionality. 

> I think we could add a test for this by getting a reference to an axObject, marking a subtree dirty, then verifying that reference (in the test) is still valid

> in the old case, that element would have become invalid because it was thrown away and recreated. In the new case it should still be there even after the sub tree was cleared (likewise, we can probably get a reference to a dirty subtree object and ensure that it is indeed invalid after the update)</span >

I think in the old case, the element is still valid since its children list is being cleared instead of itself being thrown away. Here we just reduce the work that is traversing the non affected subtree and retrieving the element that supposed to be a child.

<span class="quote">>> Source/WebCore/ChangeLog:38
>> +        (WebCore::AccessibilityObject::setNeedsToUpdateSubTree):

> I suspect SubTree should be Subtree (pls check if there are other instances in WebKit code)</span >

Right, it's Subtree</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>