Skip to content

test(webkit): hang on Navigation API same-document intercept#41129

Merged
yury-s merged 1 commit into
microsoft:mainfrom
yury-s:fix-41125
Jun 11, 2026
Merged

test(webkit): hang on Navigation API same-document intercept#41129
yury-s merged 1 commit into
microsoft:mainfrom
yury-s:fix-41125

Conversation

@yury-s

@yury-s yury-s commented Jun 3, 2026

Copy link
Copy Markdown
Member

Summary

  • Adds a regression test: a Navigation API intercept() that commits a same-document navigation must not hang locator.click() on WebKit.

The browser-side fix is in microsoft/playwright-browsers#2305; this test passes once that build is rolled in.

Fixes #41125

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

…document

A Navigation API intercept() that commits a same-document navigation
should not hang locator.click().

Fixes microsoft#41125
@yury-s yury-s added CQ1 and removed CQ1 labels Jun 10, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Test results for "MCP"

1 failed
❌ [webkit] › mcp/sse.spec.ts:88 › sse transport browser lifecycle (isolated) @mcp-macos-latest-webkit

7278 passed, 1119 skipped


Merge workflow run.

@github-actions

Copy link
Copy Markdown
Contributor

Test results for "tests 1"

1 flaky ⚠️ [chromium-page] › page/workers.spec.ts:190 › should attribute network activity for worker inside iframe to the iframe `@chromium-ubuntu-22.04-node22`

39496 passed, 771 skipped


Merge workflow run.

@github-actions

Copy link
Copy Markdown
Contributor

Test results for "tests others"

19947 passed, 670 skipped


Merge workflow run.

@github-actions

Copy link
Copy Markdown
Contributor

Test results for "tests 2"

12 failed
❌ [chromium-library] › library/browsertype-connect.spec.ts:189 › launchServer › should ignore page.pause when headed @chromium-macos-14-xlarge
❌ [firefox-library] › library/defaultbrowsercontext-2.spec.ts:111 › should restore state from userDataDir @firefox-macos-15-large
❌ [firefox-library] › library/defaultbrowsercontext-2.spec.ts:232 › should support har option @firefox-macos-15-large
❌ [firefox-library] › library/inspector/cli-codegen-csharp.spec.ts:202 › should not print context options method override in xunit if no options were passed @firefox-macos-15-large
❌ [firefox-library] › library/proxy.spec.ts:235 › should exclude patterns @firefox-macos-15-large
❌ [android-page] › page/page-autowaiting-basic.spec.ts:94 › should work with noWaitAfter: true
❌ [android-page] › page/page-autowaiting-basic.spec.ts:100 › should work with dblclick without noWaitAfter when navigation is stalled
❌ [android-page] › page/page-dialog.spec.ts:67 › should be able to close context with open alert
❌ [android-page] › page/page-goto.spec.ts:371 › should fail when exceeding maximum navigation timeout
❌ [android-page] › page/page-goto.spec.ts:439 › should prioritize default navigation timeout over default timeout
❌ [android-page] › page/page-request-continue.spec.ts:125 › should not allow changing protocol when overriding url
❌ [android-page] › page/page-set-content.spec.ts:153 › should handle timeout properly 2

28 flaky ⚠️ [chromium-library] › library/har-websocket.spec.ts:217 › should attach websocket messages for a still open websocket after stopping `@tracing-chromium`
⚠️ [chromium-library] › library/popup.spec.ts:261 › should not throw when click closes popup `@chrome-ubuntu-22.04`
⚠️ [chromium-page] › page/page-request-continue.spec.ts:756 › propagate headers cross origin redirect after interception `@chrome-ubuntu-22.04`
⚠️ [chromium-library] › library/trace-viewer.spec.ts:681 › should capture attribute mutations inside a popup window `@msedge-windows-latest`
⚠️ [chromium-page] › page/page-click.spec.ts:521 › should wait for stable position `@msedge-windows-latest`
⚠️ [chromium-library] › library/chromium/connect-over-cdp.spec.ts:659 › should get title and URL of existing page `@chromium-windows-latest`
⚠️ [chromium-library] › library/video.spec.ts:717 › screencast › should work with video+trace `@chromium-windows-latest`
⚠️ [chromium-library] › library/browsertype-connect.spec.ts:189 › launchServer › should ignore page.pause when headed `@chromium-macos-15-large`
⚠️ [chromium-library] › library/chromium/chromium.spec.ts:371 › should produce network events, routing, and annotations for Service Worker `@chromium-macos-15-large`
⚠️ [chromium-library] › library/heap.spec.ts:87 › should not leak fixtures w/ page `@chromium-macos-15-large`
⚠️ [chromium-library] › library/heap.spec.ts:203 › cycle handles `@chromium-macos-15-large`
⚠️ [chromium-library] › library/video.spec.ts:680 › screencast › should capture full viewport on hidpi `@chromium-macos-15-xlarge`
⚠️ [chromium-library] › library/browsertype-connect.spec.ts:141 › launchServer › should be able to reconnect to a browser `@chrome-macos-latest`
⚠️ [chromium-library] › library/browsertype-connect.spec.ts:294 › launchServer › disconnected event should be emitted when browser is closed or server is closed `@chrome-macos-latest`
⚠️ [chromium-library] › library/browsertype-connect.spec.ts:1117 › launchServer only › should be able to reconnect to a browser 12 times without warnings `@chrome-macos-latest`
⚠️ [chromium-library] › library/beforeunload.spec.ts:130 › should support dismissing the dialog multiple times `@driver`
⚠️ [firefox-page] › page/page-emulate-media.spec.ts:144 › should keep reduced motion and color emulation after reload `@tracing-firefox`
⚠️ [firefox-library] › library/defaultbrowsercontext-2.spec.ts:138 › should create userDataDir if it does not exist `@firefox-macos-15-large`
⚠️ [firefox-library] › library/defaultbrowsercontext-2.spec.ts:250 › dialog.accept should work `@firefox-macos-15-large`
⚠️ [firefox-library] › library/inspector/cli-codegen-3.spec.ts:224 › cli codegen › should generate frame locators (4) `@firefox-macos-15-large`
⚠️ [firefox-library] › library/inspector/cli-codegen-csharp.spec.ts:202 › should not print context options method override in nunit if no options were passed `@firefox-macos-15-large`
⚠️ [firefox-library] › library/inspector/cli-codegen-java.spec.ts:125 › should print a valid basic program in junit `@firefox-macos-15-large`
⚠️ [firefox-library] › library/inspector/cli-codegen-javascript.spec.ts:84 › should save the codegen output to a file if specified `@firefox-macos-15-large`
⚠️ [firefox-library] › library/proxy.spec.ts:165 › should reconnect with credentials after CONNECT 407 closes the socket `@firefox-macos-15-large`
⚠️ [webkit-library] › library/page-event-crash.spec.ts:49 › should throw on any action after page crashes `@tracing-webkit`
⚠️ [webkit-library] › library/proxy.spec.ts:369 › should use SOCKS proxy for websocket requests `@tracing-webkit`
⚠️ [android-page] › page/page-autowaiting-no-hang.spec.ts:93 › clicking in the middle of navigation that commits
⚠️ [android-page] › page/page-request-fallback.spec.ts:123 › should amend HTTP headers

93351 passed, 4198 skipped


Merge workflow run.

@yury-s yury-s merged commit 8af0d25 into microsoft:main Jun 11, 2026
76 of 80 checks passed
@yury-s yury-s deleted the fix-41125 branch June 11, 2026 17:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: WebKit — locator.click() hangs on a Navigation API same-document intercept

2 participants