New issue
Advanced search Search tips

Issue 746342 link

Starred by 5 users

Issue metadata

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



Sign in to add a comment

Overlay scrollbar incorrectly suggests no more content is available in overflow div

Reported by realgran...@gmail.com, Jul 19 2017

Issue description

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

Steps to reproduce the problem:
1. Open SO with embedded overflow content https://mathematica.stackexchange.com/questions/6144/looking-for-longest-common-substring-solution
2. Read the answer with large code window
3. Be confused that the code shown is only a part of the actual content

What is the expected behavior?
The scrollbar suggests there is more content to scroll

What went wrong?
The UX looks like there is no content in the code block which is severely confusing

Did this work before? Yes M58

Chrome version: 60.0.3112.52  Channel: beta
OS Version: 9592.42.0
Flash Version: 

I've run in this confusion several times and it is already getting frustrating. I HAVE to try scrolling on almost every part of the page to be sure there is no more hidden content. 

Web browser is not a quest game; there should be no tricks to find content on a page where it was intended to be found.

Please note that developers suppose that user has overlay visual feedback to the user _by_default_ - the change that you are pushing here feels like a change to HTML standard itself. No company is allowed to do that without going through discussion and RFC.
 
scroll_confusion2.webm
9.5 MB View Download

Comment 1 by bokan@chromium.org, Jul 21 2017

Cc: bokan@chromium.org tbuck...@chromium.org sgabr...@chromium.org chaopeng@chromium.org
Components: -UI UI>Shell
Labels: Hotlist-Input-Dev
Status: Untriaged (was: Unconfirmed)
This is by technically by design, our work around to this was to flash the scrollbars on load. This example is "below the fold" so I agree it's quite difficult to tell when its scrollable.

What do we think of flashing the overlays when a scroller comes into view? I agree this could use more of an affordance, would flashing scrollers as you scroll be too distracting? Perhaps on mouse enter? 
Owner: tbuck...@chromium.org
Status: Assigned (was: Untriaged)
Thank you for the feedback. Please note that this behavior is already the default of other browsers on mobile as well as desktop (eg. Safari). That being said, I'm open to considering ways to indicate that scrolling is possible.

I like bokan's suggestion of showing scrollbars as they move into view. A potentially simpler option might be to show all scrollbars on the page while scrolling. That way when the user scrolls the inner div into view, its scrollbar would be visible.

@sgabriel what do you think?
@tbuck...@chromium.org

1. No one uses mobile browsers to view desktop sites and SO and others have a mobile version of the site for the reason. 
2. The browser you are referencing has less than 1% of market share. If it was that great it would have 60% market share, not Chrome.

Your logic makes no sense for the decision making. Please apply reasoning that leads to a conclusion - e.g. deduction or induction. Thanks.

I like bokan's suggestion. 
In addition, can we also flash it upon hover on scrollable div ?
Owner: bokan@chromium.org
@bokan, sgabriel and I discussed this and had two experiments we'd like to try:
1) scrollbar appears briefly the first time the user hovers over a scrollable div
2) all scrollbars on a page appear when the user scrolls (regardless of what was scrolled)

Would it be possible to add these behind a flag or restricted to canary/dev so we can see how they feel?

Comment 6 by bokan@chromium.org, Jul 27 2017

Yup, we can put those behind a flag and let everyone try it out.

Comment 7 by bokan@chromium.org, Aug 2 2017

Owner: chaopeng@chromium.org
Project Member

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

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

commit e8aa016b91432b7e599e19f75e60bc7b02e19f69
Author: chaopeng <chaopeng@chromium.org>
Date: Thu Aug 24 15:20:19 2017

Add UX experimental feature flash all scrollbars for any scroll update

This patch introduce an UX experimental feature flash all scrollbars for any
scroll update for overlay scrollbar. This feature is behind a flag:
OverlayScrollbarFlashWhenAnyScrollUpdate.

Bug: 746342
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I1e99af493a12c813a77225836a421d0e72b5dc68
Reviewed-on: https://chromium-review.googlesource.com/615144
Commit-Queue: Jianpeng Chao <chaopeng@chromium.org>
Reviewed-by: weiliangc <weiliangc@chromium.org>
Reviewed-by: Philip Rogers <pdr@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: Evan Stade <estade@chromium.org>
Cr-Commit-Position: refs/heads/master@{#497054}
[modify] https://crrev.com/e8aa016b91432b7e599e19f75e60bc7b02e19f69/cc/trees/layer_tree_host_impl.cc
[modify] https://crrev.com/e8aa016b91432b7e599e19f75e60bc7b02e19f69/cc/trees/layer_tree_host_impl.h
[modify] https://crrev.com/e8aa016b91432b7e599e19f75e60bc7b02e19f69/cc/trees/layer_tree_host_impl_unittest.cc
[modify] https://crrev.com/e8aa016b91432b7e599e19f75e60bc7b02e19f69/cc/trees/layer_tree_impl.cc
[modify] https://crrev.com/e8aa016b91432b7e599e19f75e60bc7b02e19f69/cc/trees/layer_tree_settings.h
[modify] https://crrev.com/e8aa016b91432b7e599e19f75e60bc7b02e19f69/chrome/browser/about_flags.cc
[modify] https://crrev.com/e8aa016b91432b7e599e19f75e60bc7b02e19f69/chrome/browser/flag_descriptions.cc
[modify] https://crrev.com/e8aa016b91432b7e599e19f75e60bc7b02e19f69/chrome/browser/flag_descriptions.h
[modify] https://crrev.com/e8aa016b91432b7e599e19f75e60bc7b02e19f69/content/renderer/gpu/render_widget_compositor.cc
[modify] https://crrev.com/e8aa016b91432b7e599e19f75e60bc7b02e19f69/tools/metrics/histograms/enums.xml
[modify] https://crrev.com/e8aa016b91432b7e599e19f75e60bc7b02e19f69/ui/native_theme/native_theme_features.cc
[modify] https://crrev.com/e8aa016b91432b7e599e19f75e60bc7b02e19f69/ui/native_theme/native_theme_features.h

Project Member

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

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

commit 34367802c7e1d2bd7379839b21a8cac5d1a2bc1a
Author: chaopeng <chaopeng@chromium.org>
Date: Thu Aug 24 18:45:00 2017

Add UX experimental feature flash scrollbars when mouse enter

This patch introduce an UX experimental feature flash scrollbars when mouse
enter for overlay scrollbar. This feature is behind a flag:
OverlayScrollbarFlashWhenMouseEnter.

Bug: 746342
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I72bf4ce1538af3af356723fbde7d2828676607d3
Reviewed-on: https://chromium-review.googlesource.com/627298
Commit-Queue: Jianpeng Chao <chaopeng@chromium.org>
Reviewed-by: weiliangc <weiliangc@chromium.org>
Reviewed-by: Philip Rogers <pdr@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: Evan Stade <estade@chromium.org>
Cr-Commit-Position: refs/heads/master@{#497142}
[modify] https://crrev.com/34367802c7e1d2bd7379839b21a8cac5d1a2bc1a/cc/trees/layer_tree_host_impl.cc
[modify] https://crrev.com/34367802c7e1d2bd7379839b21a8cac5d1a2bc1a/cc/trees/layer_tree_host_impl_unittest.cc
[modify] https://crrev.com/34367802c7e1d2bd7379839b21a8cac5d1a2bc1a/cc/trees/layer_tree_settings.h
[modify] https://crrev.com/34367802c7e1d2bd7379839b21a8cac5d1a2bc1a/chrome/browser/about_flags.cc
[modify] https://crrev.com/34367802c7e1d2bd7379839b21a8cac5d1a2bc1a/chrome/browser/flag_descriptions.cc
[modify] https://crrev.com/34367802c7e1d2bd7379839b21a8cac5d1a2bc1a/chrome/browser/flag_descriptions.h
[modify] https://crrev.com/34367802c7e1d2bd7379839b21a8cac5d1a2bc1a/content/renderer/gpu/render_widget_compositor.cc
[modify] https://crrev.com/34367802c7e1d2bd7379839b21a8cac5d1a2bc1a/tools/metrics/histograms/enums.xml
[modify] https://crrev.com/34367802c7e1d2bd7379839b21a8cac5d1a2bc1a/ui/native_theme/native_theme_features.cc
[modify] https://crrev.com/34367802c7e1d2bd7379839b21a8cac5d1a2bc1a/ui/native_theme/native_theme_features.h

Hi tbuckley@ and sgabriel@, we have land the patches for experiments (at canary). You can use chrome://flags (OverlayScrollbarFlashWhenAnyScrollUpdate and OverlayScrollbarFlashWhenMouseEnter) to turn them on/off. Please try and let me know your feelings. Thank you.

Comment 11 by bokan@chromium.org, Sep 14 2017

I've personally been running with both flags enabled for the last week or two, I haven't noticed it to be terribly distracting but I do find that OverlayScrollbarFlashWhenAnyScrollUpdate especially helps with the issue in this bug.

OverlayScrollbarFlashWhenMouseEnter less so but I could see it being useful for frequent switching between scrollers as mentioned in  issue 761644 
I think OverlayScrollbarFlashWhenAnyScrollUpdate is distracted because scroll will make something I am not focusing change.
Thanks chaopeng! I personally prefer OverlayScrollbarsFlashAfterScrollUpdate since it makes scrollable sections very clear as you move through the page. Eg. on the stackexchange link that started that, users will definitely see the scrollbar for the code snippet; with OverlayScrollbarFlashWhenMouseEnter, the user may only see it if they scroll past the snippet with their mouse over the sidebar.
Thanks for setting these to flags up. I agree that OverlayScrollbarsFlashAfterScrollUpdate offers the best solution for the issue here, although it is a bit more noisy. 
OK, I will create a patch to enable OverlayScrollbarsFlashAfterScrollUpdate. Thank you.
bokan@ should we keep the flag at this time and remove the flag further?

Comment 17 by bokan@chromium.org, Sep 22 2017

Lets keep all the flags for now, is the flag a tri-state so that the feature can be disabled once it's on by default?
Project Member

Comment 18 by bugdroid1@chromium.org, Oct 10 2017

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

commit d092f7c4ca5386b2fdb73f27899cfc5aea08e97f
Author: chaopeng <chaopeng@chromium.org>
Date: Tue Oct 10 20:18:25 2017

Enable OverlayScrollbarFlashAfterAnyScrollUpdate

This patch enabled feature that flash all scrollbars for any scroll
update for overlay scrollbar.

Bug: 746342
Change-Id: I72040e38b1d4790921f0e086a0e65e416b1b5aa6
Reviewed-on: https://chromium-review.googlesource.com/672141
Reviewed-by: Evan Stade <estade@chromium.org>
Reviewed-by: David Bokan <bokan@chromium.org>
Commit-Queue: Jianpeng Chao <chaopeng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#507755}
[modify] https://crrev.com/d092f7c4ca5386b2fdb73f27899cfc5aea08e97f/ui/native_theme/native_theme_features.cc

Project Member

Comment 19 by bugdroid1@chromium.org, Jul 27

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

commit ca43d7c94493255eefe1dd0dc01be9988caedc1d
Author: Sahel Sharify <sahel@chromium.org>
Date: Fri Jul 27 03:42:27 2018

Flash scrollbar in none-viewport scroll animated path.

This is a follow up path for https://chromium-review.googlesource.com/615144
The original patch adds scrollbar flashing logic in the first two cases but
skips the last case:
1- All scroll updates other than the first one in a seuqence (the case
that scroll node exists).
2- The first GSU while scrolling viewport.
3- The first GSU while scrolling on anything but viewport.

This cl covers the third case.

Bug: 746342
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I62aafdc68df361fee56b3513a2a09250e3092b32
Reviewed-on: https://chromium-review.googlesource.com/1150436
Reviewed-by: Jianpeng Chao <chaopeng@chromium.org>
Reviewed-by: weiliangc <weiliangc@chromium.org>
Commit-Queue: Sahel Sharify <sahel@chromium.org>
Cr-Commit-Position: refs/heads/master@{#578531}
[modify] https://crrev.com/ca43d7c94493255eefe1dd0dc01be9988caedc1d/cc/trees/layer_tree_host_impl.cc
[modify] https://crrev.com/ca43d7c94493255eefe1dd0dc01be9988caedc1d/cc/trees/layer_tree_host_impl_unittest.cc

Sign in to add a comment