[wpt-sync] Sync PR 58805 - paint: Use viewport meta tag's `min-scale` and `max-scale` to clamp pinch zoom
Categories
(Core :: Layout, task, P4)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox151 | --- | fixed |
People
(Reporter: wpt-sync, Unassigned)
References
()
Details
(Whiteboard: [wptsync downstream])
Sync web-platform-tests PR 58805 into mozilla-central (this bug is closed when the sync is complete).
PR: https://github.com/web-platform-tests/wpt/pull/58805
Details from upstream follow.
Shubham Gupta <shubham.gupta@chromium.org> wrote:
paint: Use viewport meta tag's
min-scaleandmax-scaleto clamp pinch zoomNote: Targeting Mobile devices only.
Clamp Pinch Zoom factor using
viewport' scale range parsed from<meta>tag.Behavior in Servo with this PR
Zoom Type Device Type Meta Supported Range Pinch Zoom Mobile Yes Parsed from <meta> Pinch Zoom Desktop No Default Observed behavior in Chrome:
Device Type Viewport Meta Support (pref) Pinch Zoom (No Reflow) Zoom (using keyboard) Mobile (Android) Yes Clamped within Viewport Meta Range Applied to Pinch Zoom* Desktop (Touch Screen) No Clamped within Default Range Same as Zoom (using menu) References from Chromium:
- Defination of page_scale_delta;
- WebViewImpl::ApplyViewportChanges -> SetPageScaleFactorAndLocation -> SetScaleAndLocation -> DidSetScaleOrLocation -> ClampToConstraints
Testing: New WPT Test Added:
wpt/visual-viewport/viewport-scale-clamped.htmlFixes: #<!-- nolink -->40390 (Observed Inconsistent behavior with Chrome Android)
Reviewed in servo/servo#40098
| Assignee | ||
Updated•3 months ago
|
| Assignee | ||
Comment 1•3 months ago
|
||
| Assignee | ||
Comment 2•3 months ago
|
||
CI Results
Ran 9 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI
Total 20 tests
Status Summary
Firefox
OK : 1[GitHub] 18[Gecko-android-em-14-x86_64-debug-geckoview, Gecko-android-em-14-x86_64-lite-opt-geckoview, Gecko-android-em-14-x86_64-opt-geckoview, Gecko-linux2404-64-debug, Gecko-linux2404-64-opt, Gecko-windows11-32-24h2-debug, Gecko-windows11-32-24h2-opt, Gecko-windows11-64-24h2-debug, Gecko-windows11-64-24h2-opt]
PASS: 1[GitHub] 29[Gecko-android-em-14-x86_64-debug-geckoview, Gecko-android-em-14-x86_64-lite-opt-geckoview, Gecko-android-em-14-x86_64-opt-geckoview] 30[Gecko-windows11-32-24h2-debug] 31[Gecko-linux2404-64-debug, Gecko-linux2404-64-opt, Gecko-windows11-32-24h2-opt, Gecko-windows11-64-24h2-debug, Gecko-windows11-64-24h2-opt]
FAIL: 3[Gecko-linux2404-64-debug, Gecko-linux2404-64-opt, Gecko-windows11-32-24h2-opt, Gecko-windows11-64-24h2-debug, Gecko-windows11-64-24h2-opt] 4[Gecko-windows11-32-24h2-debug] 5[Gecko-android-em-14-x86_64-debug-geckoview, Gecko-android-em-14-x86_64-lite-opt-geckoview, Gecko-android-em-14-x86_64-opt-geckoview]
Chrome
OK : 1
FAIL: 1
Safari
OK : 1
PASS: 1
Links
Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base
Details
New Tests That Don't Pass
- /visual-viewport/viewport-resize-event-on-load-overflowing-page.html [wpt.fyi]:
SKIP - /visual-viewport/page-and-offset-in-iframe.html [wpt.fyi]
- VisualViewport page and offset values in iframe:
FAIL
- VisualViewport page and offset values in iframe:
- /visual-viewport/resize-event-order.html [wpt.fyi]
- Popup: DOMWindow resize fired before VisualViewport.:
FAIL[Gecko-android-em-14-x86_64-debug-geckoview,Gecko-android-em-14-x86_64-opt-geckoview,Gecko-windows11-32-24h2-debug],PASS[Gecko-android-em-14-x86_64-lite-opt-geckoview,Gecko-linux2404-64-debug,Gecko-linux2404-64-opt,Gecko-windows11-32-24h2-opt,Gecko-windows11-64-24h2-debug,Gecko-windows11-64-24h2-opt] - iframe: DOMWindow resize fired before VisualViewport.:
FAIL
- Popup: DOMWindow resize fired before VisualViewport.:
- /visual-viewport/scroll-event-order.html [wpt.fyi]
- Scroll event ordering:
FAIL
- Scroll event ordering:
- /visual-viewport/viewport-scrollbars-cause-resize-in-iframe.html [wpt.fyi]
- the appearance of classic scrollbars will fire a resize eventat window.visualViewport in iframe:
FAIL[Gecko-android-em-14-x86_64-debug-geckoview,Gecko-android-em-14-x86_64-lite-opt-geckoview,Gecko-android-em-14-x86_64-opt-geckoview],PASS[Gecko-linux2404-64-debug,Gecko-linux2404-64-opt,Gecko-windows11-32-24h2-debug,Gecko-windows11-32-24h2-opt,Gecko-windows11-64-24h2-debug,Gecko-windows11-64-24h2-opt]
- the appearance of classic scrollbars will fire a resize eventat window.visualViewport in iframe:
- /visual-viewport/viewport-scrollbars-cause-resize.html [wpt.fyi]
- Resize event was fired at window.visualViewport if, and only if, scrollbars are classic (i.e. affect flow):
FAIL[Gecko-android-em-14-x86_64-lite-opt-geckoview],PASS[Gecko-android-em-14-x86_64-debug-geckoview,Gecko-android-em-14-x86_64-opt-geckoview,Gecko-linux2404-64-debug,Gecko-linux2404-64-opt,Gecko-windows11-32-24h2-debug,Gecko-windows11-32-24h2-opt,Gecko-windows11-64-24h2-debug,Gecko-windows11-64-24h2-opt]
- Resize event was fired at window.visualViewport if, and only if, scrollbars are classic (i.e. affect flow):
- /visual-viewport/viewport-apply-initial-scale-after-navigation.html [wpt.fyi]:
SKIP
Description
•