<?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>306569</bug_id>
          
          <creation_ts>2026-01-29 14:36:18 -0800</creation_ts>
          <short_desc>[Form Controls][iOS] Form controls in cross-origin subframes have incorrect interaction rects</short_desc>
          <delta_ts>2026-04-14 13:54:00 -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>New Bugs</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="zak ridouh">zakr</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2176336</commentid>
    <comment_count>0</comment_count>
    <who name="zak ridouh">zakr</who>
    <bug_when>2026-01-29 14:36:18 -0800</bug_when>
    <thetext>When a form control (such as a &lt;select&gt; or &lt;input&gt;) is focused inside a site-isolated  cross-origin iframe, the `FocusedElementInformation` struct sent from the WebContent Process contains coordinates relative to that subframe&apos;s viewport.

On iOS, `WebPageProxy` passes this information to `PageClient` (and eventually `WKContentView`)  to manage native UI overlays such as the form accessory bar, keyboard interactions, and  selection handles. Because the UIProcess expects these coordinates to be relative to the  main frame, the UI elements are positioned incorrectly. They are usually offset by the iframe&apos;s position within the main page, causing the form assistant to appear  in the wrong location or not appear at all.

This patch introduces `convertFocusedElementInformationRectsToMainFrameCoordinates` in  `WebPageProxy`. This helper asynchronously converts the `interactionRect`, `nextNodeRect`,  and `previousNodeRect` from the focused frame&apos;s coordinate space to the main frame&apos;s  coordinate space using the existing geometry mapping logic in `WebFrameProxy`.

We now wait for this conversion to complete before calling `pageClient-&gt;elementDidFocus`  or `pageClient-&gt;updateFocusedElementInformation`.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2176337</commentid>
    <comment_count>1</comment_count>
    <who name="zak ridouh">zakr</who>
    <bug_when>2026-01-29 14:36:37 -0800</bug_when>
    <thetext>&lt;rdar://168716669&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2176339</commentid>
    <comment_count>2</comment_count>
    <who name="zak ridouh">zakr</who>
    <bug_when>2026-01-29 14:39:06 -0800</bug_when>
    <thetext>Pull request: https://github.com/WebKit/WebKit/pull/57510</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2200345</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2026-04-14 13:53:58 -0700</bug_when>
    <thetext>Committed 311229@main (4597139ad795): &lt;https://commits.webkit.org/311229@main&gt;

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

    </bug>

</bugzilla>