Support pinch-viewport on desktop

Bug #1426567 reported by Chris Coulson on 2015-02-27
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Chris Coulson

Bug Description

A change I'm about to push in order to finally get correctly behaving scrollbars on the device breaks overlay scrollbars and pinch-viewport on desktop, so I've reported this to do extra work later on to make them both work.

- The overlay scrollbar thumb style is defined in third_party/WebKit/Source/platform/scroll/ScrollbarThemeAura.cpp to be 10DIPs wide, hit-tested and no margin. I've modified this to be 3DIPs wide with a 3DIP margin and no hit-testing, which is great for the device but sucks on desktop.

- I've modified third_party/WebKit/Source/core/frame/FrameView.cpp to disable scrollbars for the main frame when pinch-viewport is enabled, as we display the pinch-viewport scrollbars all the time because these are the ones that stick to the device viewport (the same as Chrome on Android). Chrome on the desktop still displays non-overlay scrollbars attached to the outer viewport for the main-frame, and then displays the pinch-viewport overlay scrollbars (attached to the device viewport) during pinch, but Oxide would need additional work to support both of these. This makes pinch-viewport unusable on the desktop.

- I've changed third_party/WebKit/Source/core/frame/PinchViewport.cpp to get the pinch-viewport overlay scrollbar style from the ScrollbarTheme, but this assumes that overlay scrollbars are enabled. If they aren't, then it'll get the style from the wrong ScrollbarTheme. This makes pinch-viewport depend on overlay scrollbars.

description: updated
Changed in oxide:
importance: Undecided → Low
status: New → Triaged
Chris Coulson (chrisccoulson) wrote :

As Google have removed the legacy pinch-zoom path from Blink, we have no option but to fix this now. Changing the scope of the bug to just cover pinch-viewport

summary: - Support pinch-viewport and overlay scrollbars on desktop
+ Support pinch-viewport on desktop
Changed in oxide:
importance: Low → High
status: Triaged → In Progress
assignee: nobody → Chris Coulson (chrisccoulson)
milestone: none → branch-1.7
Changed in oxide:
status: In Progress → Fix Committed
Changed in oxide:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers