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

Issue 852943 link

Starred by 4 users

Issue metadata

Status: Fixed
Owner:
Closed: Jul 9
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows
Pri: 1
Type: Bug-Regression



Sign in to add a comment

[Regression] middle-button click no longer scrolls the page to the place of the click

Reported by virus.fl...@gmail.com, Jun 14 2018

Issue description

UserAgent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/68.0.3440.17 Chrome/68.0.3440.17 Safari/537.36

Steps to reproduce the problem:
1. Open a web page, e.g. https://nixtux.ru
2. In Chromium <= 67 the middle clikc by mouse to any place of the scroll bar scrolls the page to the place of the click
3. On Chromium 68 and Chrome unstable 69 both just make the scroll bar move up and down a bit and it does not scroll the page

What is the expected behavior?

What went wrong?
.

Did this work before? N/A 

Chrome version: 68.0.3440.17  Channel: n/a
OS Version: 
Flash Version:
 
Xorg session, Xubuntu 18.04
Labels: Needs-Triage-M68
Cc: sindhu.chelamcherla@chromium.org
Components: -UI Blink>Scroll
Labels: Triaged-ET M-69 Target-69 FoundIn-69 OS-Windows
Status: Untriaged (was: Unconfirmed)
Able to reproduce this issue on reported version 68.0.3440.17, latest beta 68.0.3440.25 and latest canary 69.0.3461.2 using Windows 10 and Ubuntu 14.04. i.e; On clicking with mouse wheel on scrollbar doesn't scroll to clicked position.

This issue is seen from M-60. Hence considering this issue as Non-Regression and marking as Untriaged.

Thanks!

Comment 4 by bokan@chromium.org, Jun 21 2018

Cc: bokan@chromium.org
Status: WontFix (was: Untriaged)
Thanks for the report. This was an intentional change made in https://crrev.com/11b79e0f80933879da85ea22a438a36b2a0cb2d6 to fix other bugs so this is now working as intended (and matches behavior in Firefox and other apps).
It's not wirking as intended. A middle mouse click is expected to scroll the bar to the place of the click in X server environment. GTK+ may also behave like this on a left click instead of middle mouse click.
Currently none of this works in Chromium, and it is not possible to scroll the page to the place of click in the scroll bar! It does work in Firefox, Chromium does not match it.
Windows does not have this feature of scrolling to the place of click, and Windows users and developers may be unaware about it.
What is 'matching other apps behaviour' is actually just a GTK+ setting: https://developer.gnome.org/gtk3/stable/GtkSettings.html#GtkSettings--gtk-primary-button-warps-slider
In firefox, when gtk-primary-button-warps-slider=1, left click scrolls to the place of the click, shift+left click just scrolls a bit, but not to the place of the click, and ctrl+left click scrolls to the place of the click.

With gtk-primary-button-warps-slider=0 in ~/.config/gtk-3.0/settings.ini , middle click on any place of the scrollbar in Firefox scrolls the page to the place of the click (as it was in Chromium before).

Comment 9 by bokan@chromium.org, Jun 21 2018

Labels: -Pri-2 Pri-1
Owner: chaopeng@chromium.org
Status: Assigned (was: WontFix)
Sorry about that - I took a closer look and it does look like this was intentional behavior in Chrome (we don't respect the gtk setting and it's off on my system so I don't see it in other apps). Thanks for the description.

Chao, this patch broke a theme setting: WebScrollbarBehaviorImpl::ShouldCenterOnThumb called from Scrollbar::MouseDown so we do need to forward a middle click to the scrollbar. 
In this case, should we forward middle click to scrollbar but not allow drag?

Comment 11 by bokan@chromium.org, Jun 21 2018

I think in this case drag is expected. We should probably keep track of which mouse button caused the capture.
Yes, I know that Chromium does not use GTK's native scrollbars, just tried to explain that this change dod not make Chromium behave as other apps. Thanks.
Project Member

Comment 14 by bugdroid1@chromium.org, Jul 4

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

commit 6e94d9afe46647811f36d530fc283c40a7705cb2
Author: Ella Ge <eirage@chromium.org>
Date: Wed Jul 04 20:47:57 2018

Revert "Do not pass the mouse press to scrollbar if scrollbar pressed."

This reverts commit 012f690ae71459a546feab0b580c3f793682a102.

Reason for revert: 
virtual/threaded/fast/scrolling/scrollbar-mousedown-move-mouseup.html
is failing on Linux and mac trybot.
See:
https://test-results.appspot.com/dashboards/flakiness_dashboard.html#testType=webkit_layout_tests&tests=virtual%2Fthreaded%2Ffast%2Fscrolling%2Fscrollbar-mousedown-move-mouseup.html


Original change's description:
> Do not pass the mouse press to scrollbar if scrollbar pressed.
> 
> If user left button down then move cursor out of scrollbar then middle
> button down, we would not clear the last_scrollbar_under_mouse_.
> 
> Bug:  852943 
> Change-Id: I1546fa201f0ab8cda77d8444f51b97966d3d68f8
> Reviewed-on: https://chromium-review.googlesource.com/1114181
> Commit-Queue: Jianpeng Chao <chaopeng@chromium.org>
> Reviewed-by: David Bokan <bokan@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#572614}

TBR=bokan@chromium.org,chaopeng@chromium.org

Change-Id: I4067e4384e2ee2a2c0672b53813c800b7647108b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  852943 
Reviewed-on: https://chromium-review.googlesource.com/1126499
Reviewed-by: Ella Ge <eirage@chromium.org>
Commit-Queue: Ella Ge <eirage@chromium.org>
Cr-Commit-Position: refs/heads/master@{#572649}
[add] https://crrev.com/6e94d9afe46647811f36d530fc283c40a7705cb2/third_party/WebKit/LayoutTests/fast/scrolling/scrollbar-mousedown-move-mouseup-expected.txt
[modify] https://crrev.com/6e94d9afe46647811f36d530fc283c40a7705cb2/third_party/WebKit/LayoutTests/fast/scrolling/scrollbar-mousedown-move-mouseup.html
[modify] https://crrev.com/6e94d9afe46647811f36d530fc283c40a7705cb2/third_party/WebKit/LayoutTests/resources/gesture-util.js
[modify] https://crrev.com/6e94d9afe46647811f36d530fc283c40a7705cb2/third_party/blink/renderer/core/input/event_handler.cc
[modify] https://crrev.com/6e94d9afe46647811f36d530fc283c40a7705cb2/third_party/blink/renderer/core/layout/scrollbars_test.cc

Project Member

Comment 15 by bugdroid1@chromium.org, Jul 5

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

commit 2f19fc93c1551e4aef30c535e47a09ee326cd428
Author: chaopeng <chaopeng@chromium.org>
Date: Thu Jul 05 17:10:18 2018

Reland "Do not pass the mouse press to scrollbar if scrollbar pressed."

This is a reland of 012f690ae71459a546feab0b580c3f793682a102

Original change's description:
> Do not pass the mouse press to scrollbar if scrollbar pressed.
>
> If user left button down then move cursor out of scrollbar then middle
> button down, we would not clear the last_scrollbar_under_mouse_.
>
> Bug:  852943 
> Change-Id: I1546fa201f0ab8cda77d8444f51b97966d3d68f8
> Reviewed-on: https://chromium-review.googlesource.com/1114181
> Commit-Queue: Jianpeng Chao <chaopeng@chromium.org>
> Reviewed-by: David Bokan <bokan@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#572614}

TBR=bokan@chromium.org

Bug:  852943 
Change-Id: I2117f386b6d9f197eb23bfb980517a91ba0db294
Reviewed-on: https://chromium-review.googlesource.com/1127219
Commit-Queue: Jianpeng Chao <chaopeng@chromium.org>
Reviewed-by: Jianpeng Chao <chaopeng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#572818}
[delete] https://crrev.com/c99685a9319190025271a1b7a3f8aabd52d6ff2d/third_party/WebKit/LayoutTests/fast/scrolling/scrollbar-mousedown-move-mouseup-expected.txt
[modify] https://crrev.com/2f19fc93c1551e4aef30c535e47a09ee326cd428/third_party/WebKit/LayoutTests/fast/scrolling/scrollbar-mousedown-move-mouseup.html
[modify] https://crrev.com/2f19fc93c1551e4aef30c535e47a09ee326cd428/third_party/WebKit/LayoutTests/resources/gesture-util.js
[modify] https://crrev.com/2f19fc93c1551e4aef30c535e47a09ee326cd428/third_party/blink/renderer/core/input/event_handler.cc
[modify] https://crrev.com/2f19fc93c1551e4aef30c535e47a09ee326cd428/third_party/blink/renderer/core/layout/scrollbars_test.cc

Status: Fixed (was: Assigned)
Cc: nzolghadr@chromium.org phanindra.mandapaka@chromium.org chaopeng@chromium.org
 Issue 867640  has been merged into this issue.
Cc: abdulsyed@chromium.org
Labels: -Type-Bug -FoundIn-69 Merge-Request-68 FoundIn-68 Type-Bug-Regression
I'm finding this to be quite painful. The fix in #15 appears to be low-risk. Can it be merged to M68?
Project Member

Comment 19 by sheriffbot@chromium.org, Jul 26

Labels: -Merge-Request-68 Hotlist-Merge-Review Merge-Review-68
This bug requires manual review: Request affecting a post-stable build
Please contact the milestone owner if you have questions.
Owners: cmasso@(Android), kariahda@(iOS), bhthompson@(ChromeOS), abdulsyed@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
I would also be happy to see it backported to 68.
How safe is this merge? What are the chances of it introducing new regressions?
I think this is low-risk.
Note, it's still possible to make the scrollbar warp-to-cursor in the affected Chrome versions by using shift-left-click in place of middle-click.
Labels: -Merge-Review-68 Merge-Approved-68
Approvng merge to M68. Branch:3440
Hi awpritchard, Please give me some reproduce step. Also please test on latest canary. Thank you.
I mean that shift-left-click is still working as intended, and can be used in place of middle-click as a workaround for this bug report.
Project Member

Comment 27 by bugdroid1@chromium.org, Jul 27

Labels: -merge-approved-68 merge-merged-3440
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b948a57bacd5306827064563d0b673e9fd304d64

commit b948a57bacd5306827064563d0b673e9fd304d64
Author: chaopeng <chaopeng@chromium.org>
Date: Fri Jul 27 22:27:56 2018

Reland "Do not pass the mouse press to scrollbar if scrollbar pressed."

This is a reland of 012f690ae71459a546feab0b580c3f793682a102

Original change's description:
> Do not pass the mouse press to scrollbar if scrollbar pressed.
>
> If user left button down then move cursor out of scrollbar then middle
> button down, we would not clear the last_scrollbar_under_mouse_.
>
> Bug:  852943 
> Change-Id: I1546fa201f0ab8cda77d8444f51b97966d3d68f8
> Reviewed-on: https://chromium-review.googlesource.com/1114181
> Commit-Queue: Jianpeng Chao <chaopeng@chromium.org>
> Reviewed-by: David Bokan <bokan@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#572614}

TBR=bokan@chromium.org, chaopeng@chromium.org

(cherry picked from commit 2f19fc93c1551e4aef30c535e47a09ee326cd428)

Bug:  852943 
Change-Id: I2117f386b6d9f197eb23bfb980517a91ba0db294
Reviewed-on: https://chromium-review.googlesource.com/1127219
Commit-Queue: Jianpeng Chao <chaopeng@chromium.org>
Reviewed-by: Jianpeng Chao <chaopeng@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#572818}
Reviewed-on: https://chromium-review.googlesource.com/1153836
Cr-Commit-Position: refs/branch-heads/3440@{#765}
Cr-Branched-From: 010ddcfda246975d194964ccf20038ebbdec6084-refs/heads/master@{#561733}
[delete] https://crrev.com/c954124e2b7ef87a475c6da8d815c5a4315f306f/third_party/WebKit/LayoutTests/fast/scrolling/scrollbar-mousedown-move-mouseup-expected.txt
[modify] https://crrev.com/b948a57bacd5306827064563d0b673e9fd304d64/third_party/WebKit/LayoutTests/fast/scrolling/scrollbar-mousedown-move-mouseup.html
[modify] https://crrev.com/b948a57bacd5306827064563d0b673e9fd304d64/third_party/WebKit/LayoutTests/resources/gesture-util.js
[modify] https://crrev.com/b948a57bacd5306827064563d0b673e9fd304d64/third_party/blink/renderer/core/input/event_handler.cc
[modify] https://crrev.com/b948a57bacd5306827064563d0b673e9fd304d64/third_party/blink/renderer/core/layout/scrollbars_test.cc

Sign in to add a comment