New issue
Advanced search Search tips

Issue 733546 link

Starred by 6 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug-Regression



Sign in to add a comment

Unable to click right edge of web page due to invisible scroll bar area

Reported by realgran...@gmail.com, Jun 15 2017

Issue description

UserAgent: Mozilla/5.0 (X11; CrOS x86_64 9592.15.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.26 Safari/537.36
Platform: 9592.15.0 (Official Build) beta-channel cave

Steps to reproduce the problem:
1. Update to M60 beta
2. Open a web app that uses entire screen space and scrolls down
3. Try clicking rightmost elements

What is the expected behavior?
Elements receive click events

What went wrong?
The invisible scrollbar area prevents from clicking on elements 

Did this work before? Yes 58 beta

Chrome version: 60.0.3112.26  Channel: beta
OS Version: 9592.15.0
Flash Version:
 
Owner: est...@chromium.org
Status: Assigned (was: Unconfirmed)
<triage> estade, looks like this is something you worked on recently?

Comment 2 by est...@chromium.org, Jul 10 2017

Cc: est...@chromium.org
Components: -UI Blink>Scroll
Owner: bokan@chromium.org
overlay scrollbars in web content -> bokan

If I understand the report correctly though, this only occurs when scrolling, so it seems like it's WAI. You just have to not scroll if you want clicking over there to work; known drawback of overlay scrollbars.

Comment 3 by bokan@chromium.org, Jul 10 2017

Cc: bokan@chromium.org tbuck...@chromium.org sgabr...@chromium.org chaopeng@chromium.org
Owner: ----
Status: Untriaged (was: Assigned)
Marking as untriaged so I remember to take a closer look during input-dev triage, but yes, right clicking over the scrollbar while its showing doesn't send the click to the content below and that's intentional.
@realgrandrew@gmail.com if possible, could you please share the URL of the webpage with the issue? We understood that it could be an issue but wanted to see how often it actually occurred.
realgrandrew@gmail.com, Do you mean can not click on the element because the overlay scrollbar fade in?
I am particularly interested in this working correctly with wolfram development cloud. I would very appreciate if you could somehow retain the same click experience that it has been with M58 - see attached video. 

In M60 there is no easy way to click rightmost cell elements, every click is a tricky cat and mouse catch process. 
733546_M58.webm
224 KB View Download
733546_M60.webm
293 KB View Download

Comment 7 by bokan@chromium.org, Jul 11 2017

Just to confirm, the scrollbar does/is faded out, right? It's just that it fades in when you're near the window edge?

I can see two potential workarounds:

1) We tweak the distance/timing constants to make it a bit easier to hit the content (make it easier to fade it out, longer to fade in). This might make it easier to work with content in these kinds of scenarios but won't completely eliminate the issue and might make getting at the scrollbar a little less convenient.

2) We take a click to mean "I'm trying to do something with the content, get out of the way" and we hide the scrollbar and reset the fade-in timer (maybe for an extra second or two). This would make it much easier to interact with the content but isn't especially discoverable. It wouldn't reduce the usability of the scrollbar but does have the potential risk of frustration if the user intends to hit the scrollbar but misses.

Thoughts?

Comment 8 by est...@chromium.org, Jul 11 2017

Owner: tbuck...@chromium.org
Status: Assigned (was: Untriaged)
I seem to remember it being controversial that the scrollbar should appear when the mouse gets near it. Instead we could rely on gestural scrolling (two finger scroll, mousewheel, etc.).

Sebastien is ooo right now, so it might be hard to get a design solution soon. Assigning to Tom to determine priority/find owner in the meantime.

As a temporary workaround, you could do some hack like setting overflow to hidden and seeing if the clientWidth changes at all (if not, the scrollbar is overlaid and you need to add padding).

Comment 9 by bokan@chromium.org, Jul 11 2017

Right, but the fear is people without a mousewheel/touchpad will be trapped without a way to scroll. 

A potentially easier work around is to hold down the left mouse button, we won't fade-in the scrollbars while the mouse button is down. Of course,  selection/drag-and-drop might get in the way but that should be easier than opening up devtools (and, of course, this is a hacky workaround while we figure out next steps).
Please note that as shown in the video - the area is unclickable even when the scroll bar is faded out and also unclickable at any location where no visible scrollbar is present.
realgrandrew@, Now overlay scrollbar has 2 state: appear/hide(fade in/out), thin/thick. In your video the scrollbar is appear and thin. In your second video, you can click on the right element at the end.

Just test my simple case, it is not easy to click the element near scrollbar.
http://ht.chaopeng.me/link-under-scrollbar.html

1. zoom in and scroll down
2. click on the area near the scrollbar on the link
Okay I will elaborate more on this:

There are two distinct bugs associated:

Bug 1 - UI BUG. It is completely impossible to click anything behind the actual visible scroll bar element (the gray box you can drag) and the scroll bar appears instantly when the mouse is near the location of the gray box bar. So it is just impossible to click anything. I was not initially reporting this since it is obvious that by design choice this will happen.

 Bug 2  - EVENT DISPATCH BUG. This is what I am actually experiencing. As shown in my video, I was slamming the mouse near the entire right corner and no click was registered, neither directly on the scrollbar or in any area below where no scroll bar exists. In the end of the video I manage to opportunistically finally select the element that I needed (the right most element on page) AFTER slamming like 50 clicks onto area in an attempt to select anything in the whole right area of the page.
NOTE: due to some other recording bug - the mouse is not shown on the recording when hovered over page but only shown when hovering the scrollbar area of the window (the whole right side of the page). Also I was unable to reproduce this while recording TAB only so I was recording whole WINDOW so no visual clicks are recorded by screencastify - but I am clicking all around in the second (M60) video and still no click reach the element. 

So  Bug 2 . (EVENT DISPATCH BUG) seems to be a problem with click or mousemove events not reaching the element (I am not sure how this is implemented on this particular page but I believe this might involve other events like hovering/focus/etc. and those events are not being dispatched onto page in the whole right area of the page, not just below the actual visible draggable scroll bar.

Hope this makes it more clear.

Comment 13 by bokan@chromium.org, Jul 12 2017

Cc: -chaopeng@chromium.org
Labels: -Pri-2 M-60 Pri-1
Owner: chaopeng@chromium.org
Ah...yes, I understand now. Yes, that's currently how it works - there's effectively an invisible scrollbar track that stops the clicks, that's definitely confusing for users, we should fix that.

Chao, ptal. I expect that if the scrollbar is overlay we shouldn't filter out clicks on the ScrollbarTrackPart.

Tom, is this something we should block stable on?

Comment 14 by bokan@chromium.org, Jul 20 2017

Looks like this is going to be non-trivial to fix as Blink has never supported this on scrollbars (Mac overlays have a track when you mouse over it and Android doesn't hit test scrollbars at all), so the fix will have to wait until at least M61.
@chaopeng/bokan can this be merged into M61 at this point? The scrolltrack area should allow pointer events through to the page, regardless of whether the thumb is visible.
Still working on this. And the changes need to change a lot of hit test algorithm. I think it is not a simple patch for merge M61.
Project Member

Comment 17 by bugdroid1@chromium.org, Aug 14 2017

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

commit a00842bbcbb75703c1508c462ef7423ead639da1
Author: chaopeng <chaopeng@chromium.org>
Date: Mon Aug 14 13:49:16 2017

Overlay Scrollbar track not block hit test

Currently, Overlay Scrollbar will block the mouse intact with the element below
the "track" of Overlay Scrollbar.

Since Overlay Scrollbar does not have track, in this patch we will check hit
test part before we add overlay scrollbar to hit test result.

For FrameView Scrollbar, we just check hit test part before we add overlay
scrollbar to hit test result.

For PLSA Scrollbar, we have 3 changes:

1. In PaintLayerTree traversal, we always hit test Scrollbar before we hit test
   children layers.
2. In PaintLayerTree traversal, CollectFragments use
   kIgnorePlatformOverlayScrollbarSize instead of
   kExcludeOverlayScrollbarSizeForHitTesting to avoid skipping the hit test for
   the layer below the scrollbar.
3. In LayoutTree traversal, change self hit-testing phase check to
   kHitTestForeground.

Bug: 733546
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: I83d89c6e9d93942e84e0e1405221f67cd645efcd
Reviewed-on: https://chromium-review.googlesource.com/571485
Commit-Queue: Jianpeng Chao <chaopeng@chromium.org>
Reviewed-by: David Bokan <bokan@chromium.org>
Reviewed-by: Philip Rogers <pdr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#494042}
[modify] https://crrev.com/a00842bbcbb75703c1508c462ef7423ead639da1/third_party/WebKit/Source/core/exported/WebFrameTest.cpp
[modify] https://crrev.com/a00842bbcbb75703c1508c462ef7423ead639da1/third_party/WebKit/Source/core/exported/WebViewImpl.cpp
[modify] https://crrev.com/a00842bbcbb75703c1508c462ef7423ead639da1/third_party/WebKit/Source/core/frame/LocalFrameView.cpp
[modify] https://crrev.com/a00842bbcbb75703c1508c462ef7423ead639da1/third_party/WebKit/Source/core/frame/LocalFrameView.h
[modify] https://crrev.com/a00842bbcbb75703c1508c462ef7423ead639da1/third_party/WebKit/Source/core/input/EventHandler.cpp
[modify] https://crrev.com/a00842bbcbb75703c1508c462ef7423ead639da1/third_party/WebKit/Source/core/layout/HitTestResult.h
[modify] https://crrev.com/a00842bbcbb75703c1508c462ef7423ead639da1/third_party/WebKit/Source/core/layout/LayoutBox.cpp
[modify] https://crrev.com/a00842bbcbb75703c1508c462ef7423ead639da1/third_party/WebKit/Source/core/layout/LayoutView.cpp
[modify] https://crrev.com/a00842bbcbb75703c1508c462ef7423ead639da1/third_party/WebKit/Source/core/layout/LayoutView.h
[modify] https://crrev.com/a00842bbcbb75703c1508c462ef7423ead639da1/third_party/WebKit/Source/core/paint/PaintLayer.cpp
[modify] https://crrev.com/a00842bbcbb75703c1508c462ef7423ead639da1/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp
[modify] https://crrev.com/a00842bbcbb75703c1508c462ef7423ead639da1/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.h
[modify] https://crrev.com/a00842bbcbb75703c1508c462ef7423ead639da1/third_party/WebKit/Source/core/testing/data/hover-root-scrollbar.html
[modify] https://crrev.com/a00842bbcbb75703c1508c462ef7423ead639da1/third_party/WebKit/Source/platform/exported/WebScrollbarThemeClientImpl.cpp
[modify] https://crrev.com/a00842bbcbb75703c1508c462ef7423ead639da1/third_party/WebKit/Source/platform/exported/WebScrollbarThemeClientImpl.h
[modify] https://crrev.com/a00842bbcbb75703c1508c462ef7423ead639da1/third_party/WebKit/Source/platform/mac/ScrollAnimatorMac.mm
[modify] https://crrev.com/a00842bbcbb75703c1508c462ef7423ead639da1/third_party/WebKit/Source/platform/scroll/ScrollTypes.h
[modify] https://crrev.com/a00842bbcbb75703c1508c462ef7423ead639da1/third_party/WebKit/Source/platform/scroll/ScrollableArea.h
[modify] https://crrev.com/a00842bbcbb75703c1508c462ef7423ead639da1/third_party/WebKit/Source/platform/scroll/Scrollbar.cpp
[modify] https://crrev.com/a00842bbcbb75703c1508c462ef7423ead639da1/third_party/WebKit/Source/platform/scroll/Scrollbar.h
[modify] https://crrev.com/a00842bbcbb75703c1508c462ef7423ead639da1/third_party/WebKit/Source/platform/scroll/ScrollbarTheme.cpp
[modify] https://crrev.com/a00842bbcbb75703c1508c462ef7423ead639da1/third_party/WebKit/Source/platform/scroll/ScrollbarTheme.h
[modify] https://crrev.com/a00842bbcbb75703c1508c462ef7423ead639da1/third_party/WebKit/Source/platform/scroll/ScrollbarThemeClient.h
[modify] https://crrev.com/a00842bbcbb75703c1508c462ef7423ead639da1/third_party/WebKit/Source/platform/scroll/ScrollbarThemeOverlay.cpp
[modify] https://crrev.com/a00842bbcbb75703c1508c462ef7423ead639da1/third_party/WebKit/Source/platform/scroll/ScrollbarThemeOverlay.h

Project Member

Comment 18 by bugdroid1@chromium.org, Aug 14 2017

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

commit 818730fc0c11c64ff5051e2177f1221c30ce8c82
Author: Marc Treib <treib@chromium.org>
Date: Mon Aug 14 15:33:54 2017

Revert "Overlay Scrollbar track not block hit test"

This reverts commit a00842bbcbb75703c1508c462ef7423ead639da1.

Reason for revert: Breaks All/ParameterizedWebFrameTest.MouseOverRootScrollbar/0 and /1 on Linux CFI, with error message: runtime error: control flow integrity check for type 'blink::ScrollbarThemeOverlayMock' failed during base-to-derived cast (vtable address 0x000000951760)
0x000000951760: note: vtable is of type 'blink::ScrollbarThemeMock'

First failing build: https://uberchromegw.corp.google.com/i/chromium.memory/builders/Linux%20CFI/builds/1013

Original change's description:
> Overlay Scrollbar track not block hit test
> 
> Currently, Overlay Scrollbar will block the mouse intact with the element below
> the "track" of Overlay Scrollbar.
> 
> Since Overlay Scrollbar does not have track, in this patch we will check hit
> test part before we add overlay scrollbar to hit test result.
> 
> For FrameView Scrollbar, we just check hit test part before we add overlay
> scrollbar to hit test result.
> 
> For PLSA Scrollbar, we have 3 changes:
> 
> 1. In PaintLayerTree traversal, we always hit test Scrollbar before we hit test
>    children layers.
> 2. In PaintLayerTree traversal, CollectFragments use
>    kIgnorePlatformOverlayScrollbarSize instead of
>    kExcludeOverlayScrollbarSizeForHitTesting to avoid skipping the hit test for
>    the layer below the scrollbar.
> 3. In LayoutTree traversal, change self hit-testing phase check to
>    kHitTestForeground.
> 
> Bug: 733546
> Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
> Change-Id: I83d89c6e9d93942e84e0e1405221f67cd645efcd
> Reviewed-on: https://chromium-review.googlesource.com/571485
> Commit-Queue: Jianpeng Chao <chaopeng@chromium.org>
> Reviewed-by: David Bokan <bokan@chromium.org>
> Reviewed-by: Philip Rogers <pdr@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#494042}

TBR=szager@chromium.org,bokan@chromium.org,pdr@chromium.org,chaopeng@chromium.org,mrosenberg619@gmail.com

Change-Id: I750478c4d7a90d0a829d792d6ff5ec542ba49903
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 733546
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Reviewed-on: https://chromium-review.googlesource.com/613543
Reviewed-by: Marc Treib <treib@chromium.org>
Commit-Queue: Marc Treib <treib@chromium.org>
Cr-Commit-Position: refs/heads/master@{#494051}
[modify] https://crrev.com/818730fc0c11c64ff5051e2177f1221c30ce8c82/third_party/WebKit/Source/core/exported/WebFrameTest.cpp
[modify] https://crrev.com/818730fc0c11c64ff5051e2177f1221c30ce8c82/third_party/WebKit/Source/core/exported/WebViewImpl.cpp
[modify] https://crrev.com/818730fc0c11c64ff5051e2177f1221c30ce8c82/third_party/WebKit/Source/core/frame/LocalFrameView.cpp
[modify] https://crrev.com/818730fc0c11c64ff5051e2177f1221c30ce8c82/third_party/WebKit/Source/core/frame/LocalFrameView.h
[modify] https://crrev.com/818730fc0c11c64ff5051e2177f1221c30ce8c82/third_party/WebKit/Source/core/input/EventHandler.cpp
[modify] https://crrev.com/818730fc0c11c64ff5051e2177f1221c30ce8c82/third_party/WebKit/Source/core/layout/HitTestResult.h
[modify] https://crrev.com/818730fc0c11c64ff5051e2177f1221c30ce8c82/third_party/WebKit/Source/core/layout/LayoutBox.cpp
[modify] https://crrev.com/818730fc0c11c64ff5051e2177f1221c30ce8c82/third_party/WebKit/Source/core/layout/LayoutView.cpp
[modify] https://crrev.com/818730fc0c11c64ff5051e2177f1221c30ce8c82/third_party/WebKit/Source/core/layout/LayoutView.h
[modify] https://crrev.com/818730fc0c11c64ff5051e2177f1221c30ce8c82/third_party/WebKit/Source/core/paint/PaintLayer.cpp
[modify] https://crrev.com/818730fc0c11c64ff5051e2177f1221c30ce8c82/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp
[modify] https://crrev.com/818730fc0c11c64ff5051e2177f1221c30ce8c82/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.h
[modify] https://crrev.com/818730fc0c11c64ff5051e2177f1221c30ce8c82/third_party/WebKit/Source/core/testing/data/hover-root-scrollbar.html
[modify] https://crrev.com/818730fc0c11c64ff5051e2177f1221c30ce8c82/third_party/WebKit/Source/platform/exported/WebScrollbarThemeClientImpl.cpp
[modify] https://crrev.com/818730fc0c11c64ff5051e2177f1221c30ce8c82/third_party/WebKit/Source/platform/exported/WebScrollbarThemeClientImpl.h
[modify] https://crrev.com/818730fc0c11c64ff5051e2177f1221c30ce8c82/third_party/WebKit/Source/platform/mac/ScrollAnimatorMac.mm
[modify] https://crrev.com/818730fc0c11c64ff5051e2177f1221c30ce8c82/third_party/WebKit/Source/platform/scroll/ScrollTypes.h
[modify] https://crrev.com/818730fc0c11c64ff5051e2177f1221c30ce8c82/third_party/WebKit/Source/platform/scroll/ScrollableArea.h
[modify] https://crrev.com/818730fc0c11c64ff5051e2177f1221c30ce8c82/third_party/WebKit/Source/platform/scroll/Scrollbar.cpp
[modify] https://crrev.com/818730fc0c11c64ff5051e2177f1221c30ce8c82/third_party/WebKit/Source/platform/scroll/Scrollbar.h
[modify] https://crrev.com/818730fc0c11c64ff5051e2177f1221c30ce8c82/third_party/WebKit/Source/platform/scroll/ScrollbarTheme.cpp
[modify] https://crrev.com/818730fc0c11c64ff5051e2177f1221c30ce8c82/third_party/WebKit/Source/platform/scroll/ScrollbarTheme.h
[modify] https://crrev.com/818730fc0c11c64ff5051e2177f1221c30ce8c82/third_party/WebKit/Source/platform/scroll/ScrollbarThemeClient.h
[modify] https://crrev.com/818730fc0c11c64ff5051e2177f1221c30ce8c82/third_party/WebKit/Source/platform/scroll/ScrollbarThemeOverlay.cpp
[modify] https://crrev.com/818730fc0c11c64ff5051e2177f1221c30ce8c82/third_party/WebKit/Source/platform/scroll/ScrollbarThemeOverlay.h

Project Member

Comment 19 by bugdroid1@chromium.org, Aug 14 2017

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

commit 2a88dac7dd3caf5155d4e82f08c86d12484dbf18
Author: chaopeng <chaopeng@chromium.org>
Date: Mon Aug 14 19:13:48 2017

Reland "Overlay Scrollbar track not block hit test"

This is a reland of a00842bbcbb75703c1508c462ef7423ead639da1
Original change's description:
> Overlay Scrollbar track not block hit test
> 
> Currently, Overlay Scrollbar will block the mouse intact with the element below
> the "track" of Overlay Scrollbar.
> 
> Since Overlay Scrollbar does not have track, in this patch we will check hit
> test part before we add overlay scrollbar to hit test result.
> 
> For FrameView Scrollbar, we just check hit test part before we add overlay
> scrollbar to hit test result.
> 
> For PLSA Scrollbar, we have 3 changes:
> 
> 1. In PaintLayerTree traversal, we always hit test Scrollbar before we hit test
>    children layers.
> 2. In PaintLayerTree traversal, CollectFragments use
>    kIgnorePlatformOverlayScrollbarSize instead of
>    kExcludeOverlayScrollbarSizeForHitTesting to avoid skipping the hit test for
>    the layer below the scrollbar.
> 3. In LayoutTree traversal, change self hit-testing phase check to
>    kHitTestForeground.
> 
> Bug: 733546
> Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
> Change-Id: I83d89c6e9d93942e84e0e1405221f67cd645efcd
> Reviewed-on: https://chromium-review.googlesource.com/571485
> Commit-Queue: Jianpeng Chao <chaopeng@chromium.org>
> Reviewed-by: David Bokan <bokan@chromium.org>
> Reviewed-by: Philip Rogers <pdr@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#494042}

Bug: 733546
TBR: pdr@chromium.org
Change-Id: I4108a7042ebc828fd1e3cb806745878622ace918
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Reviewed-on: https://chromium-review.googlesource.com/613640
Commit-Queue: Jianpeng Chao <chaopeng@chromium.org>
Reviewed-by: David Bokan <bokan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#494125}
[modify] https://crrev.com/2a88dac7dd3caf5155d4e82f08c86d12484dbf18/third_party/WebKit/Source/core/exported/WebFrameTest.cpp
[modify] https://crrev.com/2a88dac7dd3caf5155d4e82f08c86d12484dbf18/third_party/WebKit/Source/core/exported/WebViewImpl.cpp
[modify] https://crrev.com/2a88dac7dd3caf5155d4e82f08c86d12484dbf18/third_party/WebKit/Source/core/frame/LocalFrameView.cpp
[modify] https://crrev.com/2a88dac7dd3caf5155d4e82f08c86d12484dbf18/third_party/WebKit/Source/core/frame/LocalFrameView.h
[modify] https://crrev.com/2a88dac7dd3caf5155d4e82f08c86d12484dbf18/third_party/WebKit/Source/core/input/EventHandler.cpp
[modify] https://crrev.com/2a88dac7dd3caf5155d4e82f08c86d12484dbf18/third_party/WebKit/Source/core/layout/HitTestResult.h
[modify] https://crrev.com/2a88dac7dd3caf5155d4e82f08c86d12484dbf18/third_party/WebKit/Source/core/layout/LayoutBox.cpp
[modify] https://crrev.com/2a88dac7dd3caf5155d4e82f08c86d12484dbf18/third_party/WebKit/Source/core/layout/LayoutView.cpp
[modify] https://crrev.com/2a88dac7dd3caf5155d4e82f08c86d12484dbf18/third_party/WebKit/Source/core/layout/LayoutView.h
[modify] https://crrev.com/2a88dac7dd3caf5155d4e82f08c86d12484dbf18/third_party/WebKit/Source/core/paint/PaintLayer.cpp
[modify] https://crrev.com/2a88dac7dd3caf5155d4e82f08c86d12484dbf18/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp
[modify] https://crrev.com/2a88dac7dd3caf5155d4e82f08c86d12484dbf18/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.h
[modify] https://crrev.com/2a88dac7dd3caf5155d4e82f08c86d12484dbf18/third_party/WebKit/Source/core/testing/data/hover-root-scrollbar.html
[modify] https://crrev.com/2a88dac7dd3caf5155d4e82f08c86d12484dbf18/third_party/WebKit/Source/platform/exported/WebScrollbarThemeClientImpl.cpp
[modify] https://crrev.com/2a88dac7dd3caf5155d4e82f08c86d12484dbf18/third_party/WebKit/Source/platform/exported/WebScrollbarThemeClientImpl.h
[modify] https://crrev.com/2a88dac7dd3caf5155d4e82f08c86d12484dbf18/third_party/WebKit/Source/platform/mac/ScrollAnimatorMac.mm
[modify] https://crrev.com/2a88dac7dd3caf5155d4e82f08c86d12484dbf18/third_party/WebKit/Source/platform/scroll/ScrollTypes.h
[modify] https://crrev.com/2a88dac7dd3caf5155d4e82f08c86d12484dbf18/third_party/WebKit/Source/platform/scroll/ScrollableArea.h
[modify] https://crrev.com/2a88dac7dd3caf5155d4e82f08c86d12484dbf18/third_party/WebKit/Source/platform/scroll/Scrollbar.cpp
[modify] https://crrev.com/2a88dac7dd3caf5155d4e82f08c86d12484dbf18/third_party/WebKit/Source/platform/scroll/Scrollbar.h
[modify] https://crrev.com/2a88dac7dd3caf5155d4e82f08c86d12484dbf18/third_party/WebKit/Source/platform/scroll/ScrollbarTheme.cpp
[modify] https://crrev.com/2a88dac7dd3caf5155d4e82f08c86d12484dbf18/third_party/WebKit/Source/platform/scroll/ScrollbarTheme.h
[modify] https://crrev.com/2a88dac7dd3caf5155d4e82f08c86d12484dbf18/third_party/WebKit/Source/platform/scroll/ScrollbarThemeClient.h
[modify] https://crrev.com/2a88dac7dd3caf5155d4e82f08c86d12484dbf18/third_party/WebKit/Source/platform/scroll/ScrollbarThemeOverlay.cpp
[modify] https://crrev.com/2a88dac7dd3caf5155d4e82f08c86d12484dbf18/third_party/WebKit/Source/platform/scroll/ScrollbarThemeOverlay.h

Project Member

Comment 20 by bugdroid1@chromium.org, Aug 24 2017

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

commit 0eaa66ef66c504679657fe004cc433dd6d62a5ef
Author: chaopeng <chaopeng@chromium.org>
Date: Thu Aug 24 01:59:49 2017

Revert "Reland "Overlay Scrollbar track not block hit test""

This reverts commit 2a88dac7dd3caf5155d4e82f08c86d12484dbf18.

Reason for revert: Regression 756740

Original change's description:
> Reland "Overlay Scrollbar track not block hit test"
> 
> This is a reland of a00842bbcbb75703c1508c462ef7423ead639da1
> Original change's description:
> > Overlay Scrollbar track not block hit test
> > 
> > Currently, Overlay Scrollbar will block the mouse intact with the element below
> > the "track" of Overlay Scrollbar.
> > 
> > Since Overlay Scrollbar does not have track, in this patch we will check hit
> > test part before we add overlay scrollbar to hit test result.
> > 
> > For FrameView Scrollbar, we just check hit test part before we add overlay
> > scrollbar to hit test result.
> > 
> > For PLSA Scrollbar, we have 3 changes:
> > 
> > 1. In PaintLayerTree traversal, we always hit test Scrollbar before we hit test
> >    children layers.
> > 2. In PaintLayerTree traversal, CollectFragments use
> >    kIgnorePlatformOverlayScrollbarSize instead of
> >    kExcludeOverlayScrollbarSizeForHitTesting to avoid skipping the hit test for
> >    the layer below the scrollbar.
> > 3. In LayoutTree traversal, change self hit-testing phase check to
> >    kHitTestForeground.
> > 
> > Bug: 733546
> > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
> > Change-Id: I83d89c6e9d93942e84e0e1405221f67cd645efcd
> > Reviewed-on: https://chromium-review.googlesource.com/571485
> > Commit-Queue: Jianpeng Chao <chaopeng@chromium.org>
> > Reviewed-by: David Bokan <bokan@chromium.org>
> > Reviewed-by: Philip Rogers <pdr@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#494042}
> 
> Bug: 733546
> TBR: pdr@chromium.org
> Change-Id: I4108a7042ebc828fd1e3cb806745878622ace918
> Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
> Reviewed-on: https://chromium-review.googlesource.com/613640
> Commit-Queue: Jianpeng Chao <chaopeng@chromium.org>
> Reviewed-by: David Bokan <bokan@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#494125}

TBR=szager@chromium.org,bokan@chromium.org,pdr@chromium.org,chaopeng@chromium.org,mrosenberg619@gmail.com

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: 733546
Change-Id: I59e799e74e8f96dbdc31ad0bd1f473d80623300c
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Reviewed-on: https://chromium-review.googlesource.com/629316
Commit-Queue: Jianpeng Chao <chaopeng@chromium.org>
Reviewed-by: David Bokan <bokan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#496917}
[modify] https://crrev.com/0eaa66ef66c504679657fe004cc433dd6d62a5ef/third_party/WebKit/Source/core/exported/WebFrameTest.cpp
[modify] https://crrev.com/0eaa66ef66c504679657fe004cc433dd6d62a5ef/third_party/WebKit/Source/core/exported/WebViewImpl.cpp
[modify] https://crrev.com/0eaa66ef66c504679657fe004cc433dd6d62a5ef/third_party/WebKit/Source/core/frame/LocalFrameView.cpp
[modify] https://crrev.com/0eaa66ef66c504679657fe004cc433dd6d62a5ef/third_party/WebKit/Source/core/frame/LocalFrameView.h
[modify] https://crrev.com/0eaa66ef66c504679657fe004cc433dd6d62a5ef/third_party/WebKit/Source/core/input/EventHandler.cpp
[modify] https://crrev.com/0eaa66ef66c504679657fe004cc433dd6d62a5ef/third_party/WebKit/Source/core/layout/HitTestResult.h
[modify] https://crrev.com/0eaa66ef66c504679657fe004cc433dd6d62a5ef/third_party/WebKit/Source/core/layout/LayoutBox.cpp
[modify] https://crrev.com/0eaa66ef66c504679657fe004cc433dd6d62a5ef/third_party/WebKit/Source/core/layout/LayoutView.cpp
[modify] https://crrev.com/0eaa66ef66c504679657fe004cc433dd6d62a5ef/third_party/WebKit/Source/core/layout/LayoutView.h
[modify] https://crrev.com/0eaa66ef66c504679657fe004cc433dd6d62a5ef/third_party/WebKit/Source/core/paint/PaintLayer.cpp
[modify] https://crrev.com/0eaa66ef66c504679657fe004cc433dd6d62a5ef/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp
[modify] https://crrev.com/0eaa66ef66c504679657fe004cc433dd6d62a5ef/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.h
[modify] https://crrev.com/0eaa66ef66c504679657fe004cc433dd6d62a5ef/third_party/WebKit/Source/core/testing/data/hover-root-scrollbar.html
[modify] https://crrev.com/0eaa66ef66c504679657fe004cc433dd6d62a5ef/third_party/WebKit/Source/platform/exported/WebScrollbarThemeClientImpl.cpp
[modify] https://crrev.com/0eaa66ef66c504679657fe004cc433dd6d62a5ef/third_party/WebKit/Source/platform/exported/WebScrollbarThemeClientImpl.h
[modify] https://crrev.com/0eaa66ef66c504679657fe004cc433dd6d62a5ef/third_party/WebKit/Source/platform/mac/ScrollAnimatorMac.mm
[modify] https://crrev.com/0eaa66ef66c504679657fe004cc433dd6d62a5ef/third_party/WebKit/Source/platform/scroll/ScrollTypes.h
[modify] https://crrev.com/0eaa66ef66c504679657fe004cc433dd6d62a5ef/third_party/WebKit/Source/platform/scroll/ScrollableArea.h
[modify] https://crrev.com/0eaa66ef66c504679657fe004cc433dd6d62a5ef/third_party/WebKit/Source/platform/scroll/Scrollbar.cpp
[modify] https://crrev.com/0eaa66ef66c504679657fe004cc433dd6d62a5ef/third_party/WebKit/Source/platform/scroll/Scrollbar.h
[modify] https://crrev.com/0eaa66ef66c504679657fe004cc433dd6d62a5ef/third_party/WebKit/Source/platform/scroll/ScrollbarTheme.cpp
[modify] https://crrev.com/0eaa66ef66c504679657fe004cc433dd6d62a5ef/third_party/WebKit/Source/platform/scroll/ScrollbarTheme.h
[modify] https://crrev.com/0eaa66ef66c504679657fe004cc433dd6d62a5ef/third_party/WebKit/Source/platform/scroll/ScrollbarThemeClient.h
[modify] https://crrev.com/0eaa66ef66c504679657fe004cc433dd6d62a5ef/third_party/WebKit/Source/platform/scroll/ScrollbarThemeOverlay.cpp
[modify] https://crrev.com/0eaa66ef66c504679657fe004cc433dd6d62a5ef/third_party/WebKit/Source/platform/scroll/ScrollbarThemeOverlay.h

Cc: -bokan@chromium.org chaopeng@chromium.org
Labels: -Pri-1 Pri-2
Owner: bokan@chromium.org
I'm going to look at this again this quarter. Not pri-1 though.

Sign in to add a comment