<?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>284125</bug_id>
          
          <creation_ts>2024-12-05 13:46:16 -0800</creation_ts>
          <short_desc>AX: For every clearChildren-addChildren cycle, we create new AccessibilityImageMapLink instances and never clean them up, causing a memory leak</short_desc>
          <delta_ts>2025-04-04 15:23:31 -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>Accessibility</component>
          <version>Safari 18</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>
          <dependson>282117</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tyler Wilcock">tyler_w</reporter>
          <assigned_to name="Tyler Wilcock">tyler_w</assigned_to>
          <cc>andresg_22</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2079466</commentid>
    <comment_count>0</comment_count>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2024-12-05 13:46:16 -0800</bug_when>
    <thetext>This happens because AccessibilityImageMapLink subclasses AccessibilityMockObject. This class _should_ subclass AccessibilityNodeObject, which would inherently ensure we only ever create one instance per area element, and clean it up when the area element is destroyed.

The reason this was made to be an AccessibilityMockObject is because area elements do not generate renderers, which was troublesome considering we used to build the accessibility tree by walking the render tree. However, after https://bugs.webkit.org/show_bug.cgi?id=281749, we walk the DOM to build the accessibility tree, so this is now easily solvable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2079516</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2024-12-05 16:19:30 -0800</bug_when>
    <thetext>&lt;rdar://problem/141013232&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2107905</commentid>
    <comment_count>2</comment_count>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2025-04-01 13:58:34 -0700</bug_when>
    <thetext>Pull request: https://github.com/WebKit/WebKit/pull/43403</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2109009</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2025-04-04 15:23:30 -0700</bug_when>
    <thetext>Committed 293278@main (eed31338f551): &lt;https://commits.webkit.org/293278@main&gt;

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

    </bug>

</bugzilla>