Skip to content

fix(chromium): stop disabling BoundaryEventDispatchTracksNodeRemoval - #42294

Merged
Yury Semikhatsky (yury-s) merged 2 commits into
microsoft:mainfrom
yury-s:fix-42270
Aug 18, 2026
Merged

fix(chromium): stop disabling BoundaryEventDispatchTracksNodeRemoval#42294
Yury Semikhatsky (yury-s) merged 2 commits into
microsoft:mainfrom
yury-s:fix-42270

Conversation

@yury-s

@yury-s Yury Semikhatsky (yury-s) commented Aug 18, 2026

Copy link
Copy Markdown
Member

Summary

  • Stop disabling the Chrome 144 BoundaryEventDispatchTracksNodeRemoval feature, so pages under test get the same boundary event semantics as real Chrome.
  • Mark cli-codegen-1.spec.ts "should record slider" as fixme on linux chromium, where it stays ~10% flaky with the feature enabled.

Chromium does not restore a node's hover claim when it is re-attached in the same task, so a node re-appended out from under the pointer never gets its mouseout. Filed upstream as https://crbug.com/548251131.

The feature was originally disabled in 622ddd8 for #38568, which is the slider recording flake now marked fixme.

Fixes #42270

Playwright disabled this Chrome 144 feature, so pages under test got
pre-144 boundary event semantics and could not observe behavior their
users hit in real Chrome.

Chromium does not restore a node's hover claim when it is re-attached in
the same task, so a node re-appended out from under the pointer never
gets its mouseout. Filed upstream as https://crbug.com/548251131.

Fixes: microsoft#42270
Comment thread tests/page/page-mouse.spec.ts Outdated
The boundary events test asserted browser behavior rather than anything
playwright-related.

"should record slider" is still ~10% flaky on linux chromium with the
feature enabled.
@github-actions

This comment has been minimized.

@yury-s
Yury Semikhatsky (yury-s) merged commit 5f8e7ea into microsoft:main Aug 18, 2026
36 of 43 checks passed
@yury-s
Yury Semikhatsky (yury-s) deleted the fix-42270 branch August 18, 2026 17:52
@github-actions

Copy link
Copy Markdown
Contributor

Test results for "MCP"

3 failed
❌ [chrome] › mcp/config.spec.ts:203 › chromiumSandbox › --sandbox enables the sandbox @mcp-ubuntu-latest-chrome
❌ [chrome] › mcp/annotate.spec.ts:349 › should annotate when context has no fixed viewport @mcp-windows-latest-chrome
❌ [msedge] › mcp/annotate.spec.ts:137 › should abort MCP annotation when last screenshot is removed @mcp-windows-latest-msedge

8107 passed, 1341 skipped


Merge workflow run.

@github-actions

Copy link
Copy Markdown
Contributor

Hi, I'm the Playwright bot and I took a first look at the CI failures here.

🟢 All three failures are pre-existing flakes — this PR looks clear

The MCP report has 3 failures, all in areas this PR doesn't touch. This PR only stops disabling the Chromium BoundaryEventDispatchTracksNodeRemoval feature (pointer/boundary-event semantics) and marks the slider codegen test fixme — none of the failing tests exercise that path. Each one also fails on SHAs this PR can't be responsible for.

Details

Pre-existing flake / infra

  • [chrome] › mcp/config.spec.ts:203 › chromiumSandbox › --sandbox enables the sandbox (mcp-ubuntu-latest-chrome) — Linux-only flake, unrelated to the diff. In the test-results DB the exact same test on the same bot also failed on main (push, sha b856094e, this PR's base) and on PR feat(browserContext): add windowState option #42286 (fix-1086, sha 548642df), while every windows/macos chrome run passed. Sandbox startup on Linux has nothing to do with boundary-event dispatch.
  • [chrome] › mcp/annotate.spec.ts:349 › should annotate when context has no fixed viewport — pre-existing flake. Across the DB it flips verdict on unrelated SHAs: chrome 1/734, firefox 3/721, msedge 1/587, with retries rescuing several runs; chromium and webkit are green. Viewport/annotation flow, untouched by this PR.
  • [msedge] › mcp/annotate.spec.ts:137 › should abort MCP annotation when last screenshot is removed — pre-existing flake. Same story: msedge 4/587, chrome 1/734, firefox 1/720 failing on unrelated SHAs (some rescued on retry), chromium and webkit green.

The triggering "tests 1" run was also cancelled, so those counts are incomplete — but nothing there points at this PR either.

Triaged by the Playwright bot - agent run

@github-actions

Copy link
Copy Markdown
Contributor

Test results for "tests 1"

Warning

The triggering workflow run ended with status cancelled. Results below may be incomplete — blob reports from cancelled or timed-out shards are missing, so passing/failing counts do not reflect the full test suite.

12 flaky ⚠️ [chromium-library] › library/global-fetch.spec.ts:293 › should return security details from response `@chromium-ubuntu-22.04-arm-node20`
⚠️ [chromium-library] › library/har.spec.ts:639 › should have security details `@chromium-ubuntu-22.04-arm-node20`
⚠️ [chromium-library] › library/global-fetch.spec.ts:293 › should return security details from response `@realtime-time-library-chromium-linux`
⚠️ [chromium-library] › library/har.spec.ts:639 › should have security details `@realtime-time-library-chromium-linux`
⚠️ [chromium-library] › library/global-fetch.spec.ts:293 › should return security details from response `@chromium-ubuntu-22.04-node20`
⚠️ [chromium-library] › library/har.spec.ts:639 › should have security details `@chromium-ubuntu-22.04-node20`
⚠️ [chromium-library] › library/global-fetch.spec.ts:293 › should return security details from response `@chromium-ubuntu-22.04-node22`
⚠️ [chromium-library] › library/har.spec.ts:639 › should have security details `@chromium-ubuntu-22.04-node22`
⚠️ [firefox-library] › library/global-fetch.spec.ts:293 › should return security details from response `@firefox-ubuntu-22.04-node20`
⚠️ [firefox-library] › library/har.spec.ts:639 › should have security details `@firefox-ubuntu-22.04-node20`
⚠️ [webkit-library] › library/global-fetch.spec.ts:293 › should return security details from response `@webkit-ubuntu-22.04-node20`
⚠️ [webkit-library] › library/har.spec.ts:639 › should have security details `@webkit-ubuntu-22.04-node20`

39790 passed, 857 skipped


Merge workflow run.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Synthetic mouse input dispatches mouseout to a node re-appended while hovered; real Chrome does not

2 participants