<html>
    <head>
      <base href="https://bugs.webkit.org/" />
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Web Inspector: reduce timer churn when processing many DOM.attributeModified messages"
   href="https://bugs.webkit.org/show_bug.cgi?id=158491">158491</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>Web Inspector: reduce timer churn when processing many DOM.attributeModified messages
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>WebKit
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>WebKit Local Build
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>All
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>All
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Keywords</th>
          <td>InRadar
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>Normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P2
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>Web Inspector
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>webkit-unassigned&#64;lists.webkit.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>bburg&#64;apple.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>bburg&#64;apple.com, graouts&#64;webkit.org, joepeck&#64;webkit.org, mattbaker&#64;apple.com, nvasilyev&#64;apple.com, timothy&#64;apple.com, webkit-bug-importer&#64;group.apple.com
          </td>
        </tr></table>
      <p>
        <div>
        <pre>This patch fixes two issues at play in 142466 and 156250.

We currently use the Object.debounce/Object.soon proxy to try to coalesce calls to DOMTreeUpdater._attributesModified. Unfortunately, this doesn't coalesce very many calls because .soon is equivalent to using setTimeout(0). So we end up setting and clearing a timer for every attribute modification, and only coalesce calls until the timer fires. This means we also update the DOMTreeOutline multiple times per frame because this work is not done on a requestAnimationFrame, and the timer could fire many times in a frame's time slice.</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>