New issue
Advanced search Search tips

Issue 690115 link

Starred by 3 users

Issue metadata

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



Sign in to add a comment

Regression: Vertical scrollbar missing from div with same width as scrollbar

Reported by andrew.m...@trihedral.com, Feb 8 2017

Issue description

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

Steps to reproduce the problem:
1. Open the attached MissingScrollbar.html in Chrome 56+ on Windows.
2. If you don't see the problem immediately, try resizing your browser window.

The html contains three cases where a tall div (innerDiv) is nested within a shorter div (outerDiv) with overflow-y: auto. Each case has a different width of the outer div:
Case 1. outerDiv width one less than scrollbar width.
Case 2. outerDiv width equal to scrollbar width
Case 3. outerDiv width one more than scrollbar width

The scrollbar width is set using webkit-scrollbar styles.

What is the expected behavior?
You should see three scrollbars - one for each of the three cases.

What went wrong?
The scrollbar for Case 2 (outerDiv width equal to scrollbar width) is missing.

When you resize the window, the scrollbar for case 2 flickers in and out of existence. It stays visible at some sizes, and disappears at other sizes.

Did this work before? Yes Chrome 55.0.2883.87 m

Does this work in other browsers? Yes

Chrome version: 56.0.2924.87  Channel: stable
OS Version: 10.0
Flash Version: Shockwave Flash 24.0 r0

If you don't see the problem at first, try changing the size of your browser window - for some reason it doesn't happen at certain window sizes.

I've seen this issue on Windows, Android, and OS X in Chrome 56+. It still happens in Chrome 58.0.3006.0 canary. It worked fine in Chrome 55.

The same problem happens with horizontal scrollbars when their container has the same height as the scrollbar.

This problem doesn't seem to happen in Safari, Firefox, IE, or Edge (of course Safari is the only one of these to support webkit-scrollbar styles).

 
Attached is my test case. It seems like it didn't attach properly when I raised the bug report.
MissingScrollbar.html
967 bytes View Download
Attached is what the test case looks like for me in Chrome 56.
MissingScrollbarResults.png
16.7 KB View Download
Labels: Needs-Triage-M56

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

Cc: bokan@chromium.org
Components: -Blink>Scroll Blink>Layout>Scrollbars
Labels: -Pri-2 Needs-Bisect Pri-1
Status: Untriaged (was: Unconfirmed)
Confirmed and works in Firefox. Regression so +Needs-Bisect and higher priority. This is a layout issue.

Comment 5 by e...@chromium.org, Feb 9 2017

Owner: szager@chromium.org
Status: Assigned (was: Untriaged)
Labels: -Needs-Bisect -Needs-Triage-M56 hasbisect-per-revision M-58 OS-Linux OS-Mac
Able to reproduce the issue on windows7, Linux Ubuntu 14.04 and Mac 10.12.2 using chrome version 56.0.2924.87 and canary 58.0.3007.0.
This is regression issue broken in M53.Please find the bisect information as below

Narrow Bisect::
Good::53.0.2754.0  ---   (official build 397000)
Bad:: 53.0.2756.0  --   (official build 397359)

Change Log::
https://chromium.googlesource.com/chromium/src/+log/1a3db4d18d2d8c243da9a7e4b8c30c709dbbf352..65c873e2440233e3b12242930190869a5fd90919

Possible suspect::
https://chromium.googlesource.com/chromium/src/+/c9b3e99e2a71f7bcc4d9652916347782ff616e0d

szager@ could you please look into this issue.

Thanks,
Friendly ping!!
szager@ ,
Still we are able to reproduce the issue on Windows 7, Mac 10.12.2 & ubuntu 14.04 using chrome version 56.0.2924.87 and canary 58.0.3014.0.
Could you please look into this issue & update the thread accordingly.
Thank you!!
Labels: Needs-Feedback
Able to reproduce the issue on Mac 10.12.3 with chrome #58.0.3020.0

szager@ could you please provide an latest update on this issue.

Thank You...
Friendly ping to get an update on this.

Thanks.
Still able to reproduce the issue on Win-10 using latest canary #59.0.3046.0.

szager@ - Friendly Ping...!!

Could you please have a look into this issue.

Thanks...!!
Project Member

Comment 12 by bugdroid1@chromium.org, Mar 21 2017

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

commit 8c762e79eef5c9a6d7bce492ec42e8870ab21f8e
Author: szager <szager@chromium.org>
Date: Tue Mar 21 07:51:35 2017

Add auto scrollbars if content would be visible without them.

The check to avoid adding auto scrollbars if the contents aren't
visible should consider whether the contents would be visible in the
absence of a scrollbar.  It's a weird edge case, because adding the
scrollbar will hide the content, but it's the only reasonable thing to
do.

BUG= 690115 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

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

[modify] https://crrev.com/8c762e79eef5c9a6d7bce492ec42e8870ab21f8e/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp
[modify] https://crrev.com/8c762e79eef5c9a6d7bce492ec42e8870ab21f8e/third_party/WebKit/Source/core/paint/PaintLayerScrollableAreaTest.cpp

Issue 692602 has been merged into this issue.
Status: Fixed (was: Assigned)

Comment 15 by mlitz@google.com, Apr 21 2017

This bug is still reproducible on 58.0.3029.81 (Official Build) (64-bit). Is this expected?
The fix missed the branch cut for version 58, but it's in 59.
Interestingly, Version 58.0.3029.81 actually makes the problem worse. Where before, the scrollbar only failed to appear in the middle case ("outerDiv width equal to scrollbar width"), now, in Version 58.0.3029.81, the scrollbar also fails to appear in the topmost case ("outerDiv width one less than scrollbar width").

Unfortunately for me, to work around the original issue pending the release of this fix, we changed our product to size our scrollbar divs to be one pixel narrower than the scrollbar. Hence, Version 58 breaks our work-around.

So, presumably something else has changed to make things worse in 58. I'm assuming that this issue fixes both of these problems. All three cases are working in Chrome Canary 60.0.3076.0.
Labels: Merge-Request-58
This should be safe to merge into M58, although I'm not sure if or when we will cut another release on that branch.
Project Member

Comment 19 by sheriffbot@chromium.org, Apr 22 2017

Labels: -Merge-Request-58 Merge-Review-58 Hotlist-Merge-Review
This bug requires manual review: We are only 2 days from stable.
Please contact the milestone owner if you have questions.
Owners: amineer@(Android), cmasso@(iOS), bhthompson@(ChromeOS), govind@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Labels: -Merge-Review-58 Merge-Rejected-58
Rejecting merge to M58 based on chat with szager@ as it is too late to pick up this change for M58.

Comment 21 by sentaro@google.com, Jun 12 2017

Was this merged into 59?

Comment 22 by sentaro@google.com, Jun 12 2017

I can still reproduce the issue. What's the plan?

Comment 23 by sentaro@google.com, Jun 12 2017

Sorry. That's my mistake. I cannot reproduce the issue.
Maybe fixed in 59?

Sign in to add a comment