New issue
Advanced search Search tips

Issue 686678 link

Starred by 7 users

Issue metadata

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



Sign in to add a comment

Scrollbar hover issue in latest chrome version

Reported by im.nitin...@gmail.com, Jan 30 2017

Issue description

UserAgent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.76 Safari/537.36

Steps to reproduce the problem:
Hi,

I am facing a problem on latest chrome version i.e.56.0.2924.76. Problem is, when I hover over the div's scrollbar it doesn't take it as hover over the div. It works fine on other browsers like FF, IE etc. Below is the sample POC where if I hover over the vertical scrollbar, background color of the div doesn't gets changed. In chrome version 55.x it works perfectly find.

http://jsfiddle.net/wydsf2vk/77/

Please provide me workaround/fix for this issue.

Thanks,
Nitin Garg.

What is the expected behavior?
Hovering over the scrollbar should be treated as hovering over the div.

What went wrong?
Hovering over the scrollbar is not being treated as hovering over the div.

Did this work before? Yes 55.0.2883.87

Does this work in other browsers? Yes

Chrome version: 56.0.2924.76  Channel: stable
OS Version: 6.1 (Windows 7, Windows Server 2008 R2)
Flash Version: Shockwave Flash 24.0 r0

Please provide fix/workaround ASAP.
 
Labels: Needs-Bisect OS-Linux
Status: Untriaged (was: Unconfirmed)
Confirmed on Linux, 56 and nightly.

Comment 2 by ajha@chromium.org, Jan 31 2017

Labels: Needs-Triage-M56
Components: Blink>Scroll
Labels: -Pri-2 -Needs-Triage-M56 hasbisect-per-revision M-56 Pri-1
Owner: bokan@chromium.org
Status: Assigned (was: Untriaged)
Able to reproduce the issue on Windows 10, Ubuntu 14.04 using reported version #56.0.2924.76 and latest canary #58.0.2997.0.

Unable to reproduce this issue on Mac OS as no vertical scrollbar is seen.

Bisect Information:
=====================
Good build: 56.0.2916.0  Revision(431463)

Bad Build : 56.0.2917.0	 Revision(431726)

Change Log URL: 
https://chromium.googlesource.com/chromium/src/+log/266df595a25c40f0ddf6876742149559ff42040b..55444d25b3aec61cbcf053448b3bb999b4bf859b

From the above change log suspecting below change

Review URL: https://codereview.chromium.org/2491953004

bokan@ - Could you please check whether this is caused with respect to your change, if not please help us in assigning it to the right owner.

Thanks...!!
Labels: -Needs-Bisect ReleaseBlock-Stable

Comment 5 by bokan@chromium.org, Feb 1 2017

Cc: bokan@chromium.org
Labels: -M-56 M-57
Owner: chaopeng@chromium.org
Too late to do anything about this for 56.

Chao, looks like we *should* be applying hover to the box itself. See http://jsfiddle.net/wydsf2vk/81/ note how in Firefox, if you scroll so that the <a> is behind the scrollbar, mousing over it while over the scrollbar should only apply hover to the <div>, not the <a>. In other words, the scrollbars are considered part of the div.

Lets get this fixed for M57. 
Could you please let me by when can I expect chrome 57 to be released officially? And, do you have any workaround for this problem for the time being?
And one more thing is that it is not specific to div. This issue occurs in UL --> li as well, when the list of items is more then the maximum height.

So, in short, it is not working as expected in any of the container where scrollbar appears.
bokan@ I think maybe we should just revert my patch. It can be a scrollbar inside <a> tag: https://jsfiddle.net/xpftxn0e/ 

Comment 9 by bokan@chromium.org, Feb 1 2017

Re#7: M56 was just promoted to stable so M57 will be stable in about 6 weeks. Unfortunately, I don't think there's a good work around until then, sorry.

Re#8: Revert sounds fine. I don't mean to be specific to <div>. When a scrollbar is required the Element establishes a box. Hovering the scrollbar should apply hover to the Box's Element, but not it's children. 
bokan@ I agree with you. So when we hittest contains a scrollbar, the hittest.element should be the scrollbar's parent.
This issue is also causing flickering scrollbars when 'overflow: auto' is triggered on hover. Try hovering over the scrollbars here: http://jsfiddle.net/stephen61/VTqg5/
Re#11 Confirmed also from my patch.
Project Member

Comment 13 by bugdroid1@chromium.org, Feb 3 2017

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

commit 4d68b33ea8398044d86aa76353e6f7de6880bad6
Author: chaopeng <chaopeng@chromium.org>
Date: Fri Feb 03 21:54:54 2017

Change hover element to scrollbar's parent when hit test contains scrollbar

This issue is caused by remove hit test element in
|Document::updateHoverActiveState| when hit test contains scrollbar. Instead we
should replace the hit test element to be scrollbar's parent when hitting a
scrollbar.

BUG= 686678 

Review-Url: https://codereview.chromium.org/2668133003
Cr-Commit-Position: refs/heads/master@{#448078}

[modify] https://crrev.com/4d68b33ea8398044d86aa76353e6f7de6880bad6/third_party/WebKit/Source/core/dom/Document.cpp
[modify] https://crrev.com/4d68b33ea8398044d86aa76353e6f7de6880bad6/third_party/WebKit/Source/web/tests/WebFrameTest.cpp
[add] https://crrev.com/4d68b33ea8398044d86aa76353e6f7de6880bad6/third_party/WebKit/Source/web/tests/data/scrollbar-and-element-hover.html

Labels: TE-Verified-58.0.3004.0 TE-Verified-M58
Verified the Fix on Win 10 and Ubuntu 14.04 using 58.0.3004.0 and its working fine now.
Could you please update issue status to Fixed and merge into M57. 
686678_Feb_6.mp4
442 KB View Download
Labels: Merge-Request-57
Requesting merge to M57
Project Member

Comment 16 by sheriffbot@chromium.org, Feb 6 2017

Labels: -Merge-Request-57 Hotlist-Merge-Approved Merge-Approved-57
Your change meets the bar and is auto-approved for M57. Please go ahead and merge the CL to branch 2987 manually. Please contact milestone owner if you have questions.
Owners: amineer@(clank), cmasso@(bling), ketakid@(cros), govind@(desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Please merge your change to M57 branch 2987 before 5:00 PM PT, Tuesday (02/07/17) so we can pick it up for next Beta release. Thank you.
Project Member

Comment 18 by bugdroid1@chromium.org, Feb 7 2017

Labels: -merge-approved-57 merge-merged-2987
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/14233c89ca0484b7aa73a7a6d09b7e7155a338b9

commit 14233c89ca0484b7aa73a7a6d09b7e7155a338b9
Author: bokan <bokan@chromium.org>
Date: Tue Feb 07 18:45:19 2017

Change hover element to scrollbar's parent when hit test contains scrollbar

This issue is caused by remove hit test element in
|Document::updateHoverActiveState| when hit test contains scrollbar. Instead we
should replace the hit test element to be scrollbar's parent when hitting a
scrollbar.

BUG= 686678 

Review-Url: https://codereview.chromium.org/2668133003
Cr-Commit-Position: refs/heads/master@{#448078}
(cherry picked from commit 4d68b33ea8398044d86aa76353e6f7de6880bad6)

Review-Url: https://codereview.chromium.org/2679233002 .
Cr-Commit-Position: refs/branch-heads/2987@{#363}
Cr-Branched-From: ad51088c0e8776e8dcd963dbe752c4035ba6dab6-refs/heads/master@{#444943}

[modify] https://crrev.com/14233c89ca0484b7aa73a7a6d09b7e7155a338b9/third_party/WebKit/Source/core/dom/Document.cpp
[modify] https://crrev.com/14233c89ca0484b7aa73a7a6d09b7e7155a338b9/third_party/WebKit/Source/web/tests/WebFrameTest.cpp
[add] https://crrev.com/14233c89ca0484b7aa73a7a6d09b7e7155a338b9/third_party/WebKit/Source/web/tests/data/scrollbar-and-element-hover.html

Status: Fixed (was: Assigned)
Sorry, I dropped the ball here yesterday and it didn't get merged yesterday. It's in now.
Project Member

Comment 20 by bugdroid1@chromium.org, Feb 7 2017

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

commit 1129f2a8a6a2d6134742e31d5fe2e02bd7946c6b
Author: bokan <bokan@chromium.org>
Date: Tue Feb 07 21:23:44 2017

Change hover element to scrollbar's parent when hit test contains scrollbar

This issue is caused by remove hit test element in
|Document::updateHoverActiveState| when hit test contains scrollbar. Instead we
should replace the hit test element to be scrollbar's parent when hitting a
scrollbar.

BUG= 686678 

Review-Url: https://codereview.chromium.org/2668133003
Cr-Commit-Position: refs/heads/master@{#448078}
(cherry picked from commit 4d68b33ea8398044d86aa76353e6f7de6880bad6)

Review-Url: https://codereview.chromium.org/2687543002 .
Cr-Commit-Position: refs/branch-heads/2987@{#368}
Cr-Branched-From: ad51088c0e8776e8dcd963dbe752c4035ba6dab6-refs/heads/master@{#444943}

[modify] https://crrev.com/1129f2a8a6a2d6134742e31d5fe2e02bd7946c6b/third_party/WebKit/Source/core/dom/Document.cpp
[modify] https://crrev.com/1129f2a8a6a2d6134742e31d5fe2e02bd7946c6b/third_party/WebKit/Source/web/tests/WebFrameTest.cpp

Cc: chaopeng@chromium.org
 Issue 695975  has been merged into this issue.

Sign in to add a comment