Skip to content

feat(webkit): match Safari for device orientation, motion and push#41660

Open
yury-s wants to merge 3 commits into
microsoft:mainfrom
yury-s:deviceorientation-push-api
Open

feat(webkit): match Safari for device orientation, motion and push#41660
yury-s wants to merge 3 commits into
microsoft:mainfrom
yury-s:deviceorientation-push-api

Conversation

@yury-s

@yury-s yury-s commented Jul 7, 2026

Copy link
Copy Markdown
Member

Summary

  • Expose DeviceMotionEvent/DeviceOrientationEvent and the ondevicemotion/ondeviceorientation window handlers on desktop WebKit, matching Safari (drop the forced DeviceOrientationEventEnabled override and the bootstrap deletions).
  • Enable Push API on desktop so window.PushManager is exposed like Safari, via a new PushAPIEnabled inspector setting.
  • Update Modernizr expectations to the Safari 26 values (renamed from safari-18). fontdisplay stays overridden because open-source WebKit exposes font-display only as a @font-face descriptor, unlike shipping Safari.

Requires the matching WebKit change: microsoft/playwright-browsers#2400

@yury-s yury-s requested a review from dgozman July 7, 2026 01:22
@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@yury-s yury-s force-pushed the deviceorientation-push-api branch from 9156ff7 to 6004ebb Compare July 7, 2026 04:13
@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

yury-s added 3 commits July 8, 2026 09:07
Stop hiding DeviceMotionEvent/DeviceOrientationEvent and the window
on-handlers on desktop WebKit (drop the forced DeviceOrientationEventEnabled
override and the bootstrap deletions), and enable Push API on desktop so
window.PushManager matches real Safari. Update Modernizr expectations and
remove the corresponding per-feature overrides from the spec.
Shipping Safari exposes font-display as a settable CSS property, but
open-source WebKit keeps it a @font-face descriptor only, so
element.style.fontDisplay is undefined and Modernizr reports it false.
Keep the JSON snapshot at the real Safari value and override in the spec.
Reflect the Safari version the snapshots were captured from.
@yury-s yury-s force-pushed the deviceorientation-push-api branch from 6004ebb to 39f5ac4 Compare July 8, 2026 16:20
@yury-s yury-s added the CQ1 label Jul 8, 2026
@github-actions

github-actions Bot commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

Test results for "tests 1"

7 flaky ⚠️ [chromium-library] › library/chromium/chromium.spec.ts:371 › should produce network events, routing, and annotations for Service Worker `@realtime-time-library-chromium-linux`
⚠️ [chromium-library] › library/screenshot.spec.ts:213 › page screenshot › should not hang when event loop is blocked `@realtime-time-library-chromium-linux`
⚠️ [chromium-library] › library/video.spec.ts:275 › screencast › should capture navigation `@realtime-time-library-chromium-linux`
⚠️ [chromium-library] › library/video.spec.ts:680 › screencast › should capture full viewport on hidpi `@realtime-time-library-chromium-linux`
⚠️ [chromium-library] › library/video.spec.ts:476 › screencast › should capture static page in persistent context @smoke `@chromium-ubuntu-22.04-node24`
⚠️ [chromium-library] › library/video.spec.ts:645 › screencast › should capture full viewport `@chromium-ubuntu-22.04-node24`
⚠️ [playwright-test] › ui-mode-trace.spec.ts:189 › should show snapshots for steps `@windows-latest-node22`

49500 passed, 1162 skipped


Merge workflow run.

@github-actions

github-actions Bot commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

Test results for "MCP"

1 failed
❌ [chrome] › mcp/dashboard.spec.ts:125 › daemon show: closing page exits the process @mcp-macos-latest-chrome

7714 passed, 1242 skipped


Merge workflow run.

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.

2 participants