[Webkit-unassigned] [Bug 170981] New: Pinch-zoom should be invisible to the application by default

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Apr 19 00:50:20 PDT 2017


https://bugs.webkit.org/show_bug.cgi?id=170981

            Bug ID: 170981
           Summary: Pinch-zoom should be invisible to the application by
                    default
           Product: WebKit
           Version: Safari 10
          Hardware: Unspecified
                OS: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: HTML DOM
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: rbyers at chromium.org
                CC: cdumez at apple.com

Developers typically expect APIs like MouseEvent.clientX/Y and getBoundingClientRect to use the same co-ordinate system as position:fixed (what we've been calling "layout viewport co-ordinates").  In Safari's new visual viewport model these APIs return visual co-ordinates instead, resulting in some site bugs under pinch-zoom.  As a simple example see https://rbyers.github.io/inputCoords.html - when pinch-zooming in the red box is wrong.

In addition, some sites don't expect scroll offsets to change when panning the pinch zoom viewport, or that changing the scroll position will reset the position of the pinch zoom viewport.  For example on apple.com if you zoom in and click the search button in the top bar the viewport doesn't get centered correctly on the search field because there's a window.scrollTo(0,0) call.

Here's some example sites that are broken in Safari today:
https://docs.google.com/document/d/1jxWEzwOT2XgSsg5k2a_3D7PR0bXnB4bL9rATW-Z6egY/edit

Talking with smfr@ he agrees with the principle that pinch-zoom should be completely transparent to the application by default.  Developers generally are not thinking about the impact of pinch-zoom, and pinch-zoom is primarily a UA/accessibility feature.  He says he'd like to change WebKit to make all these APIs use layout viewport co-ordinates instead of visual viewport ones (i.e. to match Chrome's behavior with the chrome://flags/#inert-visual-viewport flag enabled - see https://crbug.com/489206)

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20170419/ebf8e347/attachment.html>


More information about the webkit-unassigned mailing list