New issue
Advanced search Search tips

Issue 914844 link

Starred by 9 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 1
Type: Bug-Regression


Show other hotlists

Hotlists containing this issue:
Mine


Sign in to add a comment

Mac overlay scrollbar appears without scrolling, doesn't disappear when mouse moved away

Reported by austinfr...@gmail.com, Dec 13

Issue description

UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3617.0 Safari/537.36

Steps to reproduce the problem:
1. goto http://locutus.sorcerer.co.uk/chrome/popup-scroll-bar-bug.html
2. Try and click the pink bar on the right, or the right edge of the coloured divs

What is the expected behavior?
The click is sent to the div clicked

What went wrong?
A scroll bar pops up, and that it clicked instead.

Did this work before? N/A 

Chrome version: 72.0.3617.0  Channel: n/a
OS Version: OS X 10.14.0
Flash Version: 

A further bug exists that if you scroll to the bottom and back to the top, the popup scroll bar no longer appears anyway so its inconsistent as well as interfering.
 
This is a regression, it does not behave that way in chrome 70.
Cc: bokan@chromium.org
Components: -UI Blink>Layout>Scrollbars
Labels: Needs-Triage-M72
The issue started in chrome 71
Cc: swarnasree.mukkala@chromium.org
Labels: Needs-Feedback Triaged-ET
Tried testing the issue on reported chrome version #72.0.3617.0 using Mac OS 10.14 by following below steps.

Steps:
=====
1.launched chrome.
2.Navigated to "http://locutus.sorcerer.co.uk/chrome/popup-scroll-bar-bug.html".
3.Observed that pink scroll bar on the right side.
4.Clicked on it, unable to observed any pop up.

Attached screencast for reference.
@reporter: Could you please review attached screencast and let us know if anything is being missed here.
Thanks.!
914844.mp4
935 KB View Download
You are misunderstanding the reported bug.

The pink div is NOT a scroll bar.

The "popup scroll bar" is chromium created user interface.  If you have scrolled the page at all prior to that recording, as indicated in my report, the "popup scroll bar" no longer appears.
crbug-914844.mov
4.6 MB View Download
It behaves the same in incognito mode.
The pink bar btw is just an example of content that may be interacted with that lives at the right edge of a page.

The actual real-life scenario I came across this bug was an image that occupied most the width of the viewport (bar say 5px margin) that can be annotated, clicked on at various points to indicate a position (the image is a floor plan).  When clicking near the right edge of the image, the page would mysteriously scroll having not noticed the popup scrollbar initially.

This was fine in chrome/chromium 70, chrome/chromium 71+ have the issue.
Cc: -bokan@chromium.org
Labels: -Type-Bug -Pri-2 -Needs-Feedback Needs-Bisect Pri-1 Type-Bug-Regression
Owner: bokan@chromium.org
Status: Assigned (was: Unconfirmed)
Will investigate next week when I have access to a Mac.
Reporter: does it still reproduce in M72 or M73?
It happens in 71, 72
Doesn't do it in 73
Labels: -Needs-Bisect RegressedIn-61 Target-71 Target-72 Target-73 M-73 FoundIn-71 FoundIn-73 FoundIn-72 hasbisect
Able to reproduce the issue on latest stable 71.0.3578.98, reported chrome version #72.0.3617.0 and latest chrome #73.0.3642.0 using Mac 10.14.0 by following steps as per screencast in comment#7. The following is the bisect information.
Note: Issue is not seen on Linux and Windows.

Bisect information:
===================
Good Build: 60.0.3112.113
Bad build: 61.0.3113.0

ChangeLog: https://chromium.googlesource.com/chromium/src/+log/60.0.3112.0..61.0.3113.0?pretty=fuller&n=10000
Note: As the issue break is seen in branch builds hence providing a manual changelog.
Adding appropriate labels.
Thanks.!
Cc: bokan@chromium.org
 Issue 915445  has been merged into this issue.
Hmm, I'm still seeing this in 73.0.3646.0
Hmm, on repeated tries I can no longer repro, not sure what's going on.
Cc: viswa.karala@chromium.org
 Issue 917806  has been merged into this issue.
Summary: Mac overlay scrollbar appears without scrolling, doesn't disappear when mouse moved away (was: auto-popup scroll bar (new feature?) prevents clicking elements on page)
FWIW I still have the issue on Chrome Canary 73.0.3660.0
OS Version: OS X 10.14.1

And can reproduce it here:
https://codepen.io/anon/pen/QzQBrX
Components: Blink>Scroll
+
 Issue 919805  has been merged into this issue.
Owner: chaopeng@chromium.org
Chao, I'm away from a Mac for the week - can you see if you can figure out what the cause is here? When I tried this I found reproing to be inconsistent - it would repro in Canary but not ToT. Repeated bisects pointed to different ranges.
This issue is weird, the scrollbar shows because the timer start call from animateExpansionTransitionWithDuration (blink) - _animateToRolloverState (AppKit). It seems something schedule a delay job to call animateExpansionTransitionWithDuration but I can not find any callee.

See the stack:

[61526:775:0109/155251.052850:ERROR:scroll_animator_mac.mm(315)] timer start
0   libbase.dylib                       0x000000012e7cc6a3 base::debug::StackTrace::StackTrace(unsigned long) + 83
1   libbase.dylib                       0x000000012e7cc75d base::debug::StackTrace::StackTrace(unsigned long) + 29
2   libbase.dylib                       0x000000012e4b328a base::debug::StackTrace::StackTrace() + 26
3   libblink_core.dylib                 0x0000000179f42118 blink::BlinkScrollbarPartAnimationTimer::Start() + 248
4   libblink_core.dylib                 0x0000000179f41f2a -[BlinkScrollbarPartAnimation startAnimation] + 330
5   libblink_core.dylib                 0x0000000179f43e03 -[BlinkScrollbarPainterDelegate scrollerImp:animateExpansionTransitionWithDuration:] + 835
6   AppKit                              0x00007fff2ce32184 -[NSScrollerImp _animateToRolloverState] + 70
7   AppKit                              0x00007fff2ce03559 __49-[NSScrollerImp _installDelayedRolloverAnimation]_block_invoke + 561
8   AppKit                              0x00007fff2cbe5d98 -[NSScrollerImp _doWork:] + 15
9   Foundation                          0x00007fff31890105 __NSFireDelayedPerform + 433
10  CoreFoundation                      0x00007fff2f4ffedd __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 20
11  CoreFoundation                      0x00007fff2f4ffa90 __CFRunLoopDoTimer + 859
12  CoreFoundation                      0x00007fff2f4ff5d0 __CFRunLoopDoTimers + 333
13  CoreFoundation                      0x00007fff2f4e081b __CFRunLoopRun + 2176
14  CoreFoundation                      0x00007fff2f4dfd48 CFRunLoopRunSpecific + 463
15  Foundation                          0x00007fff318464aa -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 280
16  libbase.dylib                       0x000000012e54a354 base::MessagePumpNSRunLoop::DoRun(base::MessagePump::Delegate*) + 148
17  libbase.dylib                       0x000000012e547ef3 base::MessagePumpCFRunLoopBase::Run(base::MessagePump::Delegate*) + 131
18  libbase.dylib                       0x000000012e6a9d1a base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::Run(bool) + 570
19  libbase.dylib                       0x000000012e5ec9c2 base::RunLoop::Run() + 946
20  libcontent.dylib                    0x000000013b47c0e2 content::RendererMain(content::MainFunctionParams const&) + 1858
21  libcontent.dylib                    0x000000013b7598d1 content::RunOtherNamedProcessTypeMain(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, content::MainFunctionParams const&, content::ContentMainDelegate*) + 177
22  libcontent.dylib                    0x000000013b75a8de content::ContentMainRunnerImpl::Run(bool) + 654
23  libcontent.dylib                    0x000000013b757279 content::ContentServiceManagerMainDelegate::RunEmbedderProcess() + 57
24  libembedder.dylib                   0x000000012e1f33d7 service_manager::Main(service_manager::MainParams const&) + 1607
25  libcontent.dylib                    0x000000013b759719 content::ContentMain(content::ContentMainParams const&) + 89
26  libchrome_dll.dylib                 0x0000000107f7583e ChromeMain + 270
27  Chromium Helper                     0x000000010721cb60 main + 848
28  libdyld.dylib                       0x00007fff5c71ded9 start + 1
FYI, I am seeing this bug in numerous places, basically anywhere a scroll bar might pop up. For example, I have a crude javascript console view in my app, the width of which depends on the output so may need horizontal scrolling.  A > prompt that moves downwards, scrolledIntoView. If I move the mouse to try and put the cursor in the > prompt input field (at the bottom of the view) the dammed scroll bar pops up and won't go away, obscuring the input field. Had that one just today. Seen several other cases.
I also confirm we don't create a aura scrollbar controller for Mac.
I’ve run into this bug too. Reproducing it became a struggle.

I wrote a short PoC use case to aid in reproducing the bug while demoing a use case where this causes serious usability issues (as noted above — text inputs).

https://codepen.io/klepas/pen/roqmOa?editors=1100

I’m really keen to find a fix for this because I would like to expressly avoid writing custom ::-webkit-scrollbar* CSS to address this, especially as this bug does not seem to occur in other Blink/Webkit browsers (AFAIK?).

I hope the PoC is useful to someone else.

Sign in to add a comment