You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 6bb1ff8
Browse filesBrowse the repository at this point in the historyBrowse files
fix(ios): read a placed window's snapshot frames at their screen place (#3899)
XCUIElement.frame reports a placed window's content in screen space, but
XCUIElementSnapshot.frame reports it in the window's own content space,
so the text-input probe saw two spaces on an iPad Windowed Apps window
and refused a fill whose point was on the screen. The probe, the focus
tap, and the typing reader now read the same SnapshotContentTranslation
vector the capture reads, from the two live boxes that name it.
Refs #3899
Copy file name to clipboardExpand all lines: docs/adr/0004-ios-snapshot-backend-strategy.md
+3-2Lines changed: 3 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -660,8 +660,9 @@ Translation is the one rule that reads an origin, so it is the only place the fi
660
660
Capture is half of the promise; dispatch is the other half.
661
661
The measured dispatch spaces for a placed window are both screen-anchored: the synthesized path lands a point at its screen position, and XCTest's own `XCUICoordinate` on the app anchors at the screen's origin too.
662
662
`interactionCoordinate` therefore passes the caller's screen point through, and `resolveRunnerWindow` keeps naming the window a foldable's tap resolves its display on (ADR 0025).
663
-
The live `XCUIElement.frame` reads that the tap path already compares — the selector match, the input probe, the tree's sweep candidates — report screen space on a placed window, as the ref-tap path proved on the device.
664
-
Only the snapshot channel arrives window-relative, and only that channel converts.
663
+
The live `XCUIElement.frame` property reports screen space on a placed window, as the selector-tap path proved on the device: it measured the `Add` button at (641,321) for a window at (324,307).
664
+
The one live read that does not is `XCUIElementSnapshot.frame`, which reports the window's content space like the capture channel does.
665
+
So the snapshot capture converts in `SnapshotGeometrySpace.normalized`, and the text-input probe converts its snapshot reads through the same `SnapshotContentTranslation` rule read from the two live boxes (`app.frame` against the resolved window's frame); every other live read needs no conversion.
665
666
666
667
## Amendment: modal containment in the presentation cut
0 commit comments