Add DEBUG logging for browser omnibar/content focus handoff (#910)
* Add browser focus debug logging around omnibar/content handoff * Avoid release-only unused-value warnings in focus debug logs * Add omnibar focus writer trace logs * Fix omnibar tap focus race * Stabilize omnibar focus state transitions * Propagate event context into responder guard * Fix webview pointer hit testing in focus guard * Stop omnibar reacquire on pointer blur intent * Blur omnibar on webview click intent * Preserve pointer intent through webview focus handoff * Restore page input focus after omnibar escape * Fix omnibar escape focus handoff and restore retry * Track editable focus for omnibar restore and improve test diagnostics * Add omnibar focus tracker telemetry to failing UI test * Wait for page readiness before seeding focused input in UI test setup * Strengthen omnibar escape focus regression with post-click assertion * Use deterministic window offsets for post-escape web input click test * Always enforce webview responder on omnibar escape * Harden omnibar focus restore and address PR review feedback --------- Co-authored-by: tiffanysun1 <tiffanysun8@gmail.com>
This commit is contained in:
parent
58bcc929b2
commit
e680f1de55
6 changed files with 1659 additions and 71 deletions
|
|
@ -11553,10 +11553,10 @@ final class TerminalControllerSocketTextChunkTests: XCTestCase {
|
|||
}
|
||||
|
||||
final class BrowserOmnibarFocusPolicyTests: XCTestCase {
|
||||
func testReacquiresFocusWhenWebViewSuppressionIsActiveAndNextResponderIsNotAnotherTextField() {
|
||||
func testReacquiresFocusWhenOmnibarStillWantsFocusAndNextResponderIsNotAnotherTextField() {
|
||||
XCTAssertTrue(
|
||||
browserOmnibarShouldReacquireFocusAfterEndEditing(
|
||||
suppressWebViewFocus: true,
|
||||
desiredOmnibarFocus: true,
|
||||
nextResponderIsOtherTextField: false
|
||||
)
|
||||
)
|
||||
|
|
@ -11565,16 +11565,16 @@ final class BrowserOmnibarFocusPolicyTests: XCTestCase {
|
|||
func testDoesNotReacquireFocusWhenAnotherTextFieldAlreadyTookFocus() {
|
||||
XCTAssertFalse(
|
||||
browserOmnibarShouldReacquireFocusAfterEndEditing(
|
||||
suppressWebViewFocus: true,
|
||||
desiredOmnibarFocus: true,
|
||||
nextResponderIsOtherTextField: true
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
func testDoesNotReacquireFocusWhenWebViewSuppressionIsInactive() {
|
||||
func testDoesNotReacquireFocusWhenOmnibarNoLongerWantsFocus() {
|
||||
XCTAssertFalse(
|
||||
browserOmnibarShouldReacquireFocusAfterEndEditing(
|
||||
suppressWebViewFocus: false,
|
||||
desiredOmnibarFocus: false,
|
||||
nextResponderIsOtherTextField: false
|
||||
)
|
||||
)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue