Skip to content

fix(webkit): hit target check inside nested shadow roots - #43127

Merged
Pavel Feldman (pavelfeldman) merged 1 commit into
microsoft:mainfrom
pavelfeldman:fix-43118
Oct 5, 2026
Merged

Pavel Feldman (pavelfeldman) merged 1 commit into
microsoft:mainfrom
pavelfeldman:fix-43118

Conversation

@pavelfeldman

Copy link
Copy Markdown
Member

Summary

  • WebKit's elementsFromPoint() on a nested shadow root puts the outermost host first when the target is an <input>. Extend the existing workaround to skip the host of any enclosing shadow root, not just the current one.

Fixes #43118

@github-actions

This comment has been minimized.

@github-actions

github-actions Bot commented Oct 5, 2026

Copy link
Copy Markdown
Contributor

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

🟢 Both failures are pre-existing flakes — this PR is clear

The two red tests are test-runner timing failures with independent failures on unrelated PRs. This PR only changes hit-target handling in the injected script and adds coverage for nested shadow roots, so neither failure exercises the changed path.

Details

Pre-existing flake / infra

The seven flaky entries in the report passed on retry and do not change the verdict.

Triaged by the Playwright bot - agent run

@github-actions

github-actions Bot commented Oct 5, 2026

Copy link
Copy Markdown
Contributor

Test results for "tests 1"

8 flaky ⚠️ [chromium-library] › library/chromium/chromium.spec.ts:301 › should report intercepted service worker requests in HAR `@chromium-ubuntu-22.04-arm-node20`
⚠️ [chromium-library] › library/video.spec.ts:725 › screencast › should capture full viewport on hidpi `@chromium-ubuntu-22.04-arm-node20`
⚠️ [chromium-library] › library/video.spec.ts:762 › screencast › should work with video+trace `@realtime-time-library-chromium-linux`
⚠️ [chromium-library] › library/video.spec.ts:762 › screencast › should work with video+trace `@chromium-ubuntu-22.04-node24`
⚠️ [chromium-library] › library/beforeunload.spec.ts:130 › should support dismissing the dialog multiple times `@chromium-ubuntu-22.04-node22`
⚠️ [chromium-library] › library/video.spec.ts:113 › screencast › should capture static page `@chromium-ubuntu-22.04-node22`
⚠️ [firefox-library] › library/browsercontext-cookies-third-party.spec.ts:257 › third party 'Partitioned;' cookies `@firefox-ubuntu-22.04-node20`
⚠️ [firefox-library] › library/browsercontext-cookies-third-party.spec.ts:470 › top level 'Partitioned;' cookie and same origin iframe `@firefox-ubuntu-22.04-node20`

46659 passed, 1180 skipped


Merge workflow run.

@pavelfeldman
Pavel Feldman (pavelfeldman) merged commit c0a167b into microsoft:main Oct 5, 2026
27 of 44 checks passed
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.

[Bug]: WebKit: click() on an element two or more shadow roots deep fails with "<outer-host> intercepts pointer events"

2 participants