New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.
Starred by 31 users

Issue metadata

Status: Fixed
Owner:
Closed: Apr 2013
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 1
Type: Bug-Regression



Sign in to add a comment

Page Zoom conflicts Inertial Scrolling on Mac

Reported by temp.us...@gmail.com, Feb 28 2013

Issue description

Chrome Version       : 27.0.1423.0

OS: Mac OS X 10.7.5

What steps will reproduce the problem?
1. Open a relatively long page in a tab.
2. Scroll down by two fingers on the trackpad.
3. Then use ⌃+Tab to switch to the next tab.

What is the expected result?

> Switch to the next tab.

What happens instead?
> If it is still scrolling then the page is zoomed in or out depending on the scrolling direction.
> It behave as if ⌃+⇧+ two finger scroll is triggered, which zooms page in/out.

Please provide any additional information below. Attach a screenshot if
possible.
 

Comment 1 by meh...@chromium.org, Feb 28 2013

Cc: sail@chromium.org thakis@chromium.org rsesek@chromium.org
Labels: -Area-Undefined Area-UI OS-Mac
Status: Untriaged
Thanks for the report. I noticed this too. Very annoying :-(

Comment 2 by mark@chromium.org, Mar 4 2013

Cc: asvitk...@chromium.org
Status: Available
This is a bug. We should fix it. It’s not really clear how, though.

If the scrolling is occurring because of inertia and the fingers are off of the touchpad, the page shouldn’t zoom once the control key is hit.
An easy way to reproduce this bug is the following:

> Scroll.
> After fingers leaving trackpad, press and hold Control.

The page will zoom drastically. (if you release Control quickly the effect will be less radical.)
Project Member

Comment 4 by bugdroid1@chromium.org, Mar 10 2013

Labels: -Area-UI Cr-UI
I have only started seeing this issue since updating (27.0.1430.0 dev in my case), sadly I'm not sure which version I was using prior to this one, it may have been a while since I restarted Chrome.

Mac OS X 10.6.8

Comment 6 by meh...@chromium.org, Mar 11 2013

 Issue 181491  has been merged into this issue.

Comment 7 by lmjab...@gmail.com, Mar 18 2013

Experiencing the same issue, looks like a regression wait only happens in Canary to me, at least with crtl.
 Issue 227450  has been merged into this issue.
 Issue 228880  has been merged into this issue.
 Issue 229535  has been merged into this issue.
 Issue 229869  has been merged into this issue.
Labels: Needs-Bisect
If this is new in M27, I wonder when it started.
I just noticed this after updating to Beta 27 a few days ago.  Very annoying! Especially if it's still zooming from inertia and you press control, as if you were going to change tabs (ctrl+tab). It zooms in or out, depending on the direction you flicked before it started scrolling. 
 Issue 230752  has been merged into this issue.
 Issue 230752  has been merged into this issue.
 Issue 231113  has been merged into this issue.

Comment 17 by danp...@gmail.com, Apr 15 2013

Ctrl+Scroll is the default shortcut for the system zoom functionality in Mac OS, so Chrome's use of it to zoom web pages is almost a bug in itself. I believe this is disabled by default in 10.8, but previously I believe it was enabled by default. (To enable it go to System Preferences > Accessibility > Zoom > Use scroll gesture with modifier keys to zoom.)

A simple fix therefore in Chrome would be to change the zoom shortcut from Ctrl+Scroll to something else. However this would only really mask the underlying issue which is that inertia from a page scroll is being carried into zooming. I haven't noticed this in any other application so my guess would be that Chromium is handling the inertia itself, and if so, could be controlled easily. If system scroll behaviour is handling this then I guess it's a lot more complicated.

Comment 18 by aever...@gmail.com, Apr 16 2013

I don't know how the OS and the browser handle key / mouse events, but there seem to be two simple scenarios here which can easily be distinguished.

1. Press and hold Control, then use trackpad or mouse wheel to zoom the page contents.

2. Use trackpad or mouse wheel to scroll the page, and then press Control (+other keys) to trigger some keyboard shortcut.

The difference is the order. The page should only zoom in the first case, when Control is pressed and held BEFORE the scroll event. In the second case, the unwanted page zoom is maddening.
 Issue 226947  &  Issue 231716  look like duplicates of this one.
Also, it appears to be platform independent. (Mac / Linux / Windows)
Cc: agautam@chromium.org
Labels: -Needs-Bisect
Manual bisect:- 

Known good build:- 26.0.1410.65 (Official Build 193261) 
Known bad build:-  27.0.1412.0 (Official Build  182397)

Here is bisect window:- 

http://build.chromium.org/f/chromium/perf/dashboard/ui/changelog.html?url=%2Ftrunk%2Fsrc&range=181923%3A182110&mode=html
Cc: jam@chromium.org
Labels: M-27 ReleaseBlock-Stable
little change:- 
Known good build:- 26.0.1410.65 (Official Build 181864) 

Suspecting culprit is:- 181965
Cc: meh...@chromium.org
 Issue 225820  has been merged into this issue.
Cc: -jam@chromium.org
Owner: jam@chromium.org
Status: Assigned
Thanks for the bisect. Yes, looks like 181965 caused this bug.

jam@, could you please take a look at this issue? Thanks in advance.
Labels: -Type-Bug -Pri-2 Type-Bug-Regression Pri-1
 Issue 232592  has been merged into this issue.

Comment 27 by jam@chromium.org, Apr 17 2013

Just did some investigation. Per one of the above comments, if I start an inertial scroll, then while the page is scrolling I lift off my fingers from the trackpad and press control once, zooming happens.

The odd thing is that the event that comes from RenderWidgetHostViewCOcoa::scrollWheel has the control modifier set. The methods below it are NSwindow, then ChromeEventProcessingWindow, FramedBrowserWindow, NSApplication...). So it looks like the OS is giving a mousewheel event that has control key pressed. I'm not familiar with OS X to say if this is expected behavior or an error, although it seems odd to me.

This got me to thinking how this worked on Mac at all before my change. I was surprised to see that without my change no combination of scroll wheel + meta/option/control changed the zoom level. Do we want this behavior on Mac? If so, what key combination should we use? My patch had used ControlKey on all platforms, which in hindsight should have special cased mac to use meta?

Mac devs: what's your opinion on the above questions? Should this go through UI review? Quickest thing of course is to ifdef my changes to WebContentsImpl (https://codereview.chromium.org/12221144/diff/1/content/browser/web_contents/web_contents_impl.cc) on Mac, but I'm happy to update it based on the above questions.
ctrl-mousewheel does full-screen page zoom if that's enabled in accessibility settings (which it is by default in some OS X versions I think).

I think we never supported page-zoom adjustment by mouseweel + modifier and I don't remember anyone complaining about that, so we should probably just revert to that?

(One can adjust the zoom factor with a pinch gesture on a trackpad, which some people like and some people dislike.)

Comment 29 by jam@chromium.org, Apr 17 2013

I see, it makes sense that modifier+scroll doesn't zoom since on Mac there's another way of doing this with gestures. ok I will disable this call for now on Mac.
Cc: wjmaclean@chromium.org rjkroege@chromium.org
I may be way off, but I think I recall that we do momentum scroll by simulating scroll events?  Perhaps that is the difference, when the modifier is down and chrome is simulating scroll events for momentum.  If control was pressed before scroll or while fingers are still on trackpad, the OS intercepts with accessibility zoom.  Just a guess.
Project Member

Comment 31 by bugdroid1@chromium.org, Apr 18 2013

------------------------------------------------------------------------
r194942 | jam@chromium.org | 2013-04-18T16:37:19.779855Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/web_contents/web_contents_impl.cc?r1=194942&r2=194941&pathrev=194942

Disable page zoom through control+scroll on Mac.

I accidentally enabled this on Mac in r181965. However on Mac this has an unintended consequence of changing the page zoom when the user starts inertial scrolling and presses control right after.

BUG= 178972 

Review URL: https://codereview.chromium.org/14327014
------------------------------------------------------------------------

Comment 32 by jam@chromium.org, Apr 18 2013

Status: Fixed
 Issue 231716  has been merged into this issue.

Comment 34 by jam@chromium.org, Apr 18 2013

Labels: Merge-Requested

Comment 35 by kareng@google.com, Apr 18 2013

Labels: -Merge-Requested Merge-Approved
ty :)
Project Member

Comment 36 by bugdroid1@chromium.org, Apr 18 2013

Labels: -Merge-Approved merge-merged-1453
------------------------------------------------------------------------
r194968 | jam@chromium.org | 2013-04-18T18:15:05.990885Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/branches/1453/src/content/browser/web_contents/web_contents_impl.cc?r1=194968&r2=194967&pathrev=194968

Merge 194942 "Disable page zoom through control+scroll on Mac."

> Disable page zoom through control+scroll on Mac.
> 
> I accidentally enabled this on Mac in r181965. However on Mac this has an unintended consequence of changing the page zoom when the user starts inertial scrolling and presses control right after.
> 
> BUG= 178972 
> 
> Review URL: https://codereview.chromium.org/14327014

TBR=jam@chromium.org

Review URL: https://codereview.chromium.org/14233003
------------------------------------------------------------------------

Comment 37 by r...@lab.net, Jun 24 2013

Hey cool bug fixing dudes, this is also a problem on Linux:  issue 253697 

Comment 38 Deleted

Comment 39 by yalo...@gmail.com, Jun 26 2013

This is also an issue on Windows: https://code.google.com/p/chromium/issues/detail?id=254612

Sign in to add a comment