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

Issue 821253 link

Starred by 21 users

Issue metadata

Status: Fixed
Owner:
Closed: Mar 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug-Regression



Sign in to add a comment

Chrome OS: Mouse back button triggers twice

Project Member Reported by mgiuca@chromium.org, Mar 13 2018

Issue description

Chrome Version: 66.0.3359.10
OS: Chrome

What steps will reproduce the problem?
(1) Plug in an external mouse with 5 buttons (a hardware "back" button).
(2) Navigate a few times so you have at least 3 entries in history.
(3) Press mouse back button.

What is the expected result?
Navigates back.

What happens instead?
On the down-press, navigates back. On the up-press, navigates back again.

I haven't found a way to stay on the interim page because as soon as I release the mouse button, it goes back again. Pressing it really fast results in jumping back 2 steps.

Forward button has the same problem.
 

Comment 1 by mgiuca@chromium.org, Mar 13 2018

Cc: bsep@chromium.org sky@chromium.org
Owner: pkasting@chromium.org
Adding chrome/browser/ui/views/frame/OWNERS for visibility. (It seems Chrome OS only, so it might be something with Ash, but the best place to start seemed to be the browser frame. I couldn't find the mouse-back hook though.)
Owner: osh...@chromium.org
Status: Assigned (was: Available)
Doesn't repro on Win and I don't have a CrOS dev environment to easily test on.

There is some Ash-specific stuff relating to IDC_BACK.  Looks like oshima@ introduced this 10 weeks ago or so?  Changing owner in case this is the cause, but I didn't bisect.  See:

https://chromium-review.googlesource.com/c/chromium/src/+/843821
https://chromium-review.googlesource.com/c/chromium/src/+/860522 (though this got reverted)

For debugging, I'd set a breakpoint on browser_commands.cc:GoBack() and look at the callstacks.

Comment 3 by osh...@chromium.org, Mar 20 2018

Owner: adlr@chromium.org
The code path isn't used now, and valid only on the v1 app.
These mouse are typically recognized as a keyboard and generate key event, so
I guess this is low level issue.

adlr@ can one of your team look into this?

Comment 4 by agoode@chromium.org, Mar 22 2018

Labels: -Type-Bug Type-Bug-Regression
Also on Version 65.0.3325.167 (Official Build) (64-bit)

evtest shows no duplicate events, so it must be somewhere downstream.

Can confirm it does not happen on desktop Linux, with 65.0.3325.181.
Cc: adlr@chromium.org
Owner: seobrien@chromium.org
Issue 825464 has been merged into this issue.
Cc: afakhry@chromium.org keytoaster@google.com
 Issue 814332  has been merged into this issue.
We handle forward/back mouse buttons here on mouse down but not mouse up:
https://cs.chromium.org/chromium/src/chrome/browser/ui/views/frame/browser_command_handler_linux.cc?l=33

Since the mouse up events are not handled there, we handle them here:
https://cs.chromium.org/chromium/src/third_party/WebKit/Source/core/dom/Node.cpp?l=2471

Leading to double navigation.
Just to confirm: which is expected behaviour? Back on mouse down or on mouse up?
The behavior before the recent change (December) was back on mouse down.
Project Member

Comment 11 by bugdroid1@chromium.org, Mar 28 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/fdd5c082f0d5ec699a8146126d54c57f12af65c6

commit fdd5c082f0d5ec699a8146126d54c57f12af65c6
Author: Sean O'Brien <seobrien@google.com>
Date: Wed Mar 28 22:34:34 2018

Consume mouse release for back/foward buttons

In order to prevent duplicate handling of mouse back/forward buttons,
consume both mouse_pressed and mouse_released events in
BrowserCommandHandlerLinux.

BUG= chromium:821253 
TEST=manual testing on chromeOS

Change-Id: I47c7b262ca7bd60da463580ba40a11dc46ca323e
Reviewed-on: https://chromium-review.googlesource.com/982500
Commit-Queue: Sean O'Brien <seobrien@chromium.org>
Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
Reviewed-by: Peter Kasting <pkasting@chromium.org>
Cr-Commit-Position: refs/heads/master@{#546628}
[modify] https://crrev.com/fdd5c082f0d5ec699a8146126d54c57f12af65c6/chrome/browser/ui/views/frame/browser_command_handler_linux.cc

Status: Fixed (was: Assigned)
Can this be merged to stable?
Labels: Merge-Approved-66 M-65 M-66
If this is verified on canary, we should definitely consider this for 66. 

I find it personally annoying enough and seen enough complaints for 65 also if we happen to do another, but we do need to be very confident in it to go to 65.

Adding the 66 merge label, I defer to the owner if this is considered safe enough to merge. 
I have the same problem with my Acer Chromebook CB5-571-C4G4 using the Logitech M570 trackball. Very annoying. I'm pretty certain it just started when I was updated to 65.0.3325.184 (Official Build) (64-bit). Hope they fix it soon.

When I push the back/forward button and hold it only goes back 1 page but when released goes back another. Hope it is fixed soon.
Project Member

Comment 16 by bugdroid1@chromium.org, Mar 30 2018

Labels: -merge-approved-66 merge-merged-3359
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4823d19bad0fb8a13ec992f45dae663d574fb15b

commit 4823d19bad0fb8a13ec992f45dae663d574fb15b
Author: Sean O'Brien <seobrien@google.com>
Date: Fri Mar 30 21:09:05 2018

Consume mouse release for back/foward buttons

In order to prevent duplicate handling of mouse back/forward buttons,
consume both mouse_pressed and mouse_released events in
BrowserCommandHandlerLinux.

BUG= chromium:821253 
TEST=manual testing on chromeOS

Change-Id: I47c7b262ca7bd60da463580ba40a11dc46ca323e
Reviewed-on: https://chromium-review.googlesource.com/982500
Commit-Queue: Sean O'Brien <seobrien@chromium.org>
Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
Reviewed-by: Peter Kasting <pkasting@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#546628}(cherry picked from commit fdd5c082f0d5ec699a8146126d54c57f12af65c6)
Reviewed-on: https://chromium-review.googlesource.com/988454
Cr-Commit-Position: refs/branch-heads/3359@{#512}
Cr-Branched-From: 66afc5e5d10127546cc4b98b9117aff588b5e66b-refs/heads/master@{#540276}
[modify] https://crrev.com/4823d19bad0fb8a13ec992f45dae663d574fb15b/chrome/browser/ui/views/frame/browser_command_handler_linux.cc

Labels: Merge-Approved-65
If this has been verified on canary lets get this into 65, we hope to do another 65 stable later this week.
Project Member

Comment 18 by bugdroid1@chromium.org, Apr 2 2018

Labels: -merge-approved-65 merge-merged-3325
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ce1f87d917279bd758a23721b097ef97c6252899

commit ce1f87d917279bd758a23721b097ef97c6252899
Author: Sean O'Brien <seobrien@google.com>
Date: Mon Apr 02 23:12:49 2018

Consume mouse release for back/foward buttons

In order to prevent duplicate handling of mouse back/forward buttons,
consume both mouse_pressed and mouse_released events in
BrowserCommandHandlerLinux.

BUG= chromium:821253 
TEST=manual testing on chromeOS

(cherry picked from commit fdd5c082f0d5ec699a8146126d54c57f12af65c6)

Change-Id: I47c7b262ca7bd60da463580ba40a11dc46ca323e
Reviewed-on: https://chromium-review.googlesource.com/982500
Commit-Queue: Sean O'Brien <seobrien@chromium.org>
Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
Reviewed-by: Peter Kasting <pkasting@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#546628}
Reviewed-on: https://chromium-review.googlesource.com/990732
Reviewed-by: Bernie Thompson <bhthompson@chromium.org>
Cr-Commit-Position: refs/branch-heads/3325@{#758}
Cr-Branched-From: bc084a8b5afa3744a74927344e304c02ae54189f-refs/heads/master@{#530369}
[modify] https://crrev.com/ce1f87d917279bd758a23721b097ef97c6252899/chrome/browser/ui/views/frame/browser_command_handler_linux.cc

 Issue 827661  has been merged into this issue.
 Issue 825777  has been merged into this issue.
I can confirm that in my case this has been solved with the latest patch.  Asus C302 "Flip" running Version 66.0.3359.102 (Official Build) beta (64-bit) external mouse Logitech MX 2 Anywhere connected via bluetooth.  Operation is as intended only a single execution of "page back" or "page forward" when pressing external mouse buttons intended for this function.

Sign in to add a comment