When using touch UI (for example on Win8), zooming shouldn't reflow, but just scale

NEW
Unassigned

Status

()

P3
normal
6 years ago
a month ago

People

(Reporter: smaug, Unassigned)

Tracking

(Depends on: 1 bug, Blocks: 2 bugs, {feature})

unspecified
x86
Windows 10
feature
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox48 unaffected)

Details

(Whiteboard: gfx-noted)

(Reporter)

Description

6 years ago
Right now zoom behavior on Win8+touchscreen is less than optimal.

Updated

6 years ago
OS: Linux → Windows 8

Comment 1

6 years ago
Isn't this basically a dupe of bug 593168?
(Reporter)

Updated

6 years ago
Depends on: 593168
Depends on: 766142
Blocks: 814476
(Reporter)

Updated

6 years ago
Duplicate of this bug: 814476
Blocks: 688990

Updated

6 years ago
No longer depends on: 766142
Duplicate of this bug: 859064

Updated

4 years ago
No longer blocks: 814476

Updated

4 years ago
Blocks: 1013364
No longer blocks: 688990
No longer blocks: 1013364
Depends on: 1013364

Comment 4

4 years ago
Any status update on this bug? This missing feature makes Firefox seem outdated compared to IE 11...especially on PC+ devices like my Surface Pro 2.

Comment 5

4 years ago
Mmhmm... This should be a high-priority improvement -- Make sure to vote for it, at the least...

Comment 6

4 years ago
Wasn't aware of the voting system. I've voted, sure hope this gets addressed…or just bring back the Windows 8 mode you were originally planning. I, like many others, ditched FireFox earlier 'cause the asinine version number race kept breaking compatibility with extensions. That appears to have been fixed, and I'm back to using Firefox.
No longer depends on: 1013364
Duplicate of this bug: 1235551
Component: Layout → Panning and Zooming
Duplicate of this bug: 1092575
Once bug 1180706 gets merged to m-c, you can enable the Android-style pinch-zooming behaviour by setting apz.allow_zoom=true and dom.meta-viewport.enabled=true. However doing that will break the UI in rather bad ways, so we need to fix things up before we can do that by default.

Updated

3 years ago
Blocks: 1158152
Keywords: feature
Whiteboard: gfx-noted
status-firefox48: --- → unaffected

Comment 11

a year ago
Bit surprised at the lack of chatter on a 5 year old bug. :)

Anyway, was reading this post...
https://www.reddit.com/r/firefox/comments/6s7m1f/firefox_needs_actual_touch_support_on_desktop/

Which I think makes a fair point that [it's 2017 and] the other major browsers meet users expectations that touch-zooming scales the entire page (like a tablet or a phone would).

Notably we seem to be taking touch seriously now by adding a Touch Mode to the UI - even automatically invoking it when Windows itself goes into touch mode.

I do hope we can reprioritize this as a result.

Oh, I did try the steps kats outlined in comment 9 to see how things would go. 

They went poorly.
Needinfo for this. kats, do you have an overview of the work items that are left to make this work properly? :)

Thanks!
Flags: needinfo?(bugmail)
Not offhand. However it's not a trivial fix, there is a fair amount of work needed in the guts of layout and graphics code.
Flags: needinfo?(bugmail)
Platform only lists Windows8 and x86 but Windows10 and x64 are affected, too. I recently switched from an Android based tablet to a Windows10 one and this really is the main annoyance.

Comment 15

10 months ago
Now that 57 is near the door, thought I'd ping this bug as a reminder.

I still see requests for this in other forums like reddit and IRC.
Here's one post from today with some upvotes and agreeing comments.
https://www.reddit.com/r/firefox/comments/789d4d/will_firefox_ever_get_pinch_zoom/

One comment in particular says:
> 100% agree. This is an accessibility need for me. I am visually impaired and pinch to zoom in chrome helps so much compared to just using CTRL+ +/-. As soon as FireFox has this, I'll switch.

I can certainly understand how the current jumpy behavior and shifting layout could be considered a non-starter for someone who is visually impaired (while other browsers do this fine). 

Considering this an accessibility aspect may change our perspective a bit too.
Actually changing the platform to All here, as this also affects trackpad zooming on macOS.
OS: Windows 10 → All
Bug 688990 is the macOS version; this one is for windows only. The code for the two will not be the same, because on macOS the manipulation is indirect via a trackpad whereas on windows it would be direct via touchscreen. By "direct" I mean the input device is also the output device so the zoom focus will be based on the user's touch position while for the "indirect" case the zoom focus will always by centred.
OS: All → Windows 10
See Also: → bug 688990

Comment 18

10 months ago
Seems like the two implementations might end up sharing code (I could be wrong of course).
If so, implementors will want to coordinate.

Comment 19

10 months ago
(In reply to Kartikaya Gupta (email:kats@mozilla.com) from comment #17)
> Bug 688990 is the macOS version; this one is for windows only. The code for
> the two will not be the same, because on macOS the manipulation is indirect
> via a trackpad whereas on windows it would be direct via touchscreen. By
> "direct" I mean the input device is also the output device so the zoom focus
> will be based on the user's touch position while for the "indirect" case the
> zoom focus will always by centred.

What about windows devices that don't have touchscreens, but do have precision trackpads? (e.g. Dell XPS 13), or is that a separate bug? These devices support indirect zooming on the trackpad in Microsoft Edge (just like macbook trackpads do with Safari/OSX)
(In reply to Brandon Watkins from comment #19)
> What about windows devices that don't have touchscreens, but do have
> precision trackpads? (e.g. Dell XPS 13), or is that a separate bug? These
> devices support indirect zooming on the trackpad in Microsoft Edge (just
> like macbook trackpads do with Safari/OSX)

In practice fixing either direct or indirect zooming will take a significant effort and the patches will be spread over multiple bugs. Most likely this bug will just end up being used to flip the pref that turns on the feature. Until the implementation is done I don't know if windows trackpad support will be covered by this bug or the other one or some third bug. There is certainly code that will need to be written to handle that case that is not strictly required for either direct zooming on windows or indirect zooming on macOS. However depending on how the implementation goes the code might get written as part of those features.

Comment 21

9 months ago
Wanted to say that WebRender may enable buttery smooth zooming. If this is the case, pinch-to-zoom could make for an excellent showcase for it. I hope, then, it would be possible to land at the same time as WebRender hits release.

Would smooth zooming need any sort of special integration with WebRender?

Comment 22

9 months ago
Im the pre-precision days, used to cheat smooth scrolling on trackpads in Windows by setting the global scroll increment to 1 line (instead of the default 3). 

Although a true fix to this bug appears to require some heavy lifting, could a possible interim solution call modified versions of the `enlarge()`/`reduce()` `zoomManager` methods that use a set of finer-grained `zoomValues` when using touch input (e.g., 0.98, 0.99, 1, 1.01, 1.02, ... instead of the default 0.9, 1, 1.1, ...)? 

I just tested it on my XPS and while it's not perfect, it's an improvement. That said, there'd have to be a separate solution for touchpads, since it appears they're treated as `mousewheel.with_control` inputs.

Comment 23

9 months ago
It's possible have smooth multi-touch magnification zooming in current Firefox (pre WebRender), I've published an extension to demo https://addons.mozilla.org/en-GB/firefox/addon/multi-touch-zoom/

I've only tested on Macbook trackpads but I'm expecting it to work on touch-screen Windows devices – do these devices bind pinch to increment zoom increment by default? If so that may need to be unbound

Comment 24

9 months ago
Yeah, unfortunately it doesn't appear to work with Windows (I filed a bug on GitHub). If anyone has any thoughts and I can try to take a crack at it.

Comment 25

9 months ago
My mistake! It does work when you hold shift while scrolling, but not with touchpad pinching or the touchscreen. I think other mappings might have priority when those events occur.
Priority: -- → P3

Comment 26

9 months ago
@haxiomic ; tried on windows and works only with touchpad + SHIFT key pressed .
I'm so happy that there is at least one way to scale zoom to works !
I added a comment on this issue here https://github.com/haxiomic/firefox-multi-touch-zoom/issues/1 
Thanks for the work, I'm sure we will have an extension to scale zoom with pinch on touch screen very soon ! Hope so anyway, it's been a killer feature for me and I don't use Firefox only because of that. (I use the brower to teach at my university and need to scale zoom many times to show things on screen).
Excited to see that's moving 6 years after !! nd I hope to use firefox soon again !
Comment hidden (advocacy)
Comment hidden (advocacy)

Comment 29

4 months ago
@haxiomic's extension now works with touchscreen

Updated

4 months ago
Depends on: 1461360
You need to log in before you can comment on or make changes to this bug.