<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>312929</bug_id>
          
          <creation_ts>2026-04-21 13:03:28 -0700</creation_ts>
          <short_desc>Tests should not be relying on the Opportunistic Task Scheduler.</short_desc>
          <delta_ts>2026-04-28 23:23:13 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Lam">mark.lam</reporter>
          <assigned_to name="Mark Lam">mark.lam</assigned_to>
          <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2202878</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2026-04-21 13:03:28 -0700</bug_when>
    <thetext>By definition, the Opportunistic Task Scheduler is opportunistic.  Hence, any work it does is discretionary and optional.  Even if OTS behaves somewhat deterministic today, it is not guaranteed to in perpetuity.  Hence, any tests relying on it being deterministic would be brittle at best.

The fast/dom/gc-dom-tree-lifetime-shadow-tree.html and fast/dom/gc-dom-tree-lifetime.html tests were erroneously relying on OTS being deterministic.  What these tests really wanted was for DOM nodes to be released after a GC runs.  Instead of relying on OTS, we&apos;re introducing internals.releaseMemoryNow() to be used instead.  internals.releaseMemoryNow() will run the same clean up code as when we receive a critical memory warning, and will aggressively clean up as much memory as it can, including the DOM nodes that are no longer used.  Hence, internals.releaseMemoryNow() is the right tool to use for these tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2202879</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2026-04-21 13:03:35 -0700</bug_when>
    <thetext>&lt;rdar://problem/175276913&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2202895</commentid>
    <comment_count>2</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2026-04-21 13:25:16 -0700</bug_when>
    <thetext>Pull request: https://github.com/WebKit/WebKit/pull/63262</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2202919</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2026-04-21 14:52:51 -0700</bug_when>
    <thetext>Committed 311722@main (854e80f931d2): &lt;https://commits.webkit.org/311722@main&gt;

Reviewed commits have been landed. Closing PR #63262 and removing active labels.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2205659</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2026-04-28 23:23:13 -0700</bug_when>
    <thetext>Committed 305413.754@safari-7624-branch (c637b709ee18): &lt;https://commits.webkit.org/305413.754@safari-7624-branch&gt;

Reviewed commits have been landed. Closing PR #5088 and removing active labels.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>