Re: Issue 580586 in chromium: Scrollbar space is reserved even if content doesn't overflow (column flexbox, vertical scrollbar)

1,189 views
Skip to first unread message

chro...@googlecode.com

unread,
Feb 4, 2016, 3:54:59 PM2/4/16
to chromi...@chromium.org
Updates:
Summary: Scrollbar space is reserved even if content doesn't overflow
(column flexbox, vertical scrollbar)

Comment #16 on issue 580586 by cbiesin...@chromium.org: Scrollbar space is
reserved even if content doesn't overflow (column flexbox, vertical
scrollbar)
https://code.google.com/p/chromium/issues/detail?id=580586

I'm not convinced that #7 is the same issue as the one in the description.
I'll use this bug for investigating the original testcase
(http://codepen.io/FezVrasta/pen/zrRqMK), can you file a separate bug for
comment 7?

--
You received this message because this project is configured to send all
issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings

chro...@googlecode.com

unread,
Feb 4, 2016, 5:58:55 PM2/4/16
to chromi...@chromium.org

Comment #17 on issue 580586 by cbiesin...@chromium.org: Scrollbar space is
reserved even if content doesn't overflow (column flexbox, vertical
scrollbar)
https://code.google.com/p/chromium/issues/detail?id=580586

I have overflow:auto. The immediate cause of this bug is that when we do
the final determination that we need no scrollbars, we're in a nested
finalizeScrollDimensions call, so m_inOverflowRelayout=true which means we
don't do another layout of the child, so it's all wrong.

What I haven't yet figured out is why we do so many layouts in the first
place...

chro...@googlecode.com

unread,
Feb 5, 2016, 6:54:32 PM2/5/16
to chromi...@chromium.org

Comment #22 on issue 580586 by cbiesin...@chromium.org: Scrollbar space is
reserved even if content doesn't overflow (column flexbox, vertical
scrollbar)
https://code.google.com/p/chromium/issues/detail?id=580586

We lay it out a couple times because initially we have an override height
from the parent flexbox of 0px, so we have to fix that up later :/

chro...@googlecode.com

unread,
Feb 8, 2016, 2:39:56 AM2/8/16
to chromi...@chromium.org
Updates:
Cc: le...@chromium.org sko...@chromium.org
Labels: -OS-Mac -Needs-Bisect OS-All hasBisect M-50

Comment #23 on issue 580586 by tkonch...@chromium.org: Scrollbar space is
reserved even if content doesn't overflow (column flexbox, vertical
scrollbar)
https://code.google.com/p/chromium/issues/detail?id=580586

Able to reproduce the issue on mac 10.11 chrome version 48.0.2564.103 and
canary - there's a space between the first list element (red color) and the
margin of the list as shown in the screenshot

This is working fine in Firefox browser

The issue is reproducible on win8.1 and Linux 14.04 as well

This is a regression in M48 builds and below is the info

Manual Bisect:

Good Build: 48.0.2564.5
Bad Build: 48.0.2564.51

CL :
https://chromium.googlesource.com/chromium/src/+log/48.0.2564.5..48.0.2564.51?pretty=fuller&n=10000

Possible suspect :
https://codereview.chromium.org/1470373003 or
https://codereview.chromium.org/1480233007

Please let me know if any info required from my end.

Attachments:
Screen Shot 2016-02-08 at 12.59.16 PM.png 369 KB

chro...@googlecode.com

unread,
Feb 11, 2016, 10:04:56 PM2/11/16
to chromi...@chromium.org

Comment #25 on issue 580586 by cbiesin...@chromium.org: Scrollbar space is
reserved even if content doesn't overflow (column flexbox, vertical
scrollbar)
https://code.google.com/p/chromium/issues/detail?id=580586

OK, this is tricky...
overrideHeight=379 scrollHeight=379 clientHeight=364

I only partially understand this so far but here we are in a situation
where we have a horizontal overflow -> so we add a horizontal scrollbar.
That puts us in a place where the clientHeight is now smaller (because we
subtract the scrollbar height out of m_frameRect.height) but the
scrollHeight is still unchanged. In truth though there's no actual overflow
because we really just want to fill the parent.

THAT SAID I'm not completely sure where the horizontal overflow comes from.
I think it's a similar situation like that except for width (width is
fill-available, we overflow height for some reason or other -> get a
scrollbar, suddenly width is too big)

We need some kind of better overflow handling; still thinking about what
that would look like.

chro...@googlecode.com

unread,
Feb 12, 2016, 4:02:23 PM2/12/16
to chromi...@chromium.org

Comment #26 on issue 580586 by cbiesin...@chromium.org: Scrollbar space is
reserved even if content doesn't overflow (column flexbox, vertical
scrollbar)
https://code.google.com/p/chromium/issues/detail?id=580586

I increasingly think we need to revert all the scroll update delay-related
parts of https://codereview.chromium.org/1295933003. Trying now to figure
out a better way to fix the o:auto issues.

chro...@googlecode.com

unread,
Feb 12, 2016, 7:13:32 PM2/12/16
to chromi...@chromium.org

Comment #27 on issue 580586 by cbiesin...@chromium.org: Scrollbar space is
reserved even if content doesn't overflow (column flexbox, vertical
scrollbar)
https://code.google.com/p/chromium/issues/detail?id=580586

OK, yes, I do think that part of the fix was not quite correct. It seems
instead that the underlying root cause is an outdated main size cache in
the flexbox -- when the child gets laid out by
PaintLayerScrollableArea::finalizeScrollDimensions, the flexbox never
realizes that it needs to update its m_intrinsicSizeAlongMainAxis cache and
thus uses incorrect sizing.

chro...@googlecode.com

unread,
Feb 17, 2016, 7:22:11 PM2/17/16
to chromi...@chromium.org
Updates:
Status: Fixed
Labels: Merge-Request-50

Comment #29 on issue 580586 by cbiesin...@chromium.org: Scrollbar space is
reserved even if content doesn't overflow (column flexbox, vertical
scrollbar)
https://code.google.com/p/chromium/issues/detail?id=580586

(No comment was entered for this change.)

chro...@googlecode.com

unread,
Feb 18, 2016, 1:00:09 PM2/18/16
to chromi...@chromium.org
Updates:
Labels: -Merge-Request-50 Merge-Request-49

Comment #30 on issue 580586 by cbiesin...@chromium.org: Scrollbar space is
reserved even if content doesn't overflow (column flexbox, vertical
scrollbar)
https://code.google.com/p/chromium/issues/detail?id=580586

Er, 50 is canary, that merge request was for 49 :/

To elaborate, as you can see in the BUG= line, this patch fixes a lot of
regressions, some of which are release blockers.

chro...@googlecode.com

unread,
Feb 18, 2016, 7:16:05 PM2/18/16
to chromi...@chromium.org
Updates:
Labels: -Merge-Request-49 Merge-Approved-49 Hotlist-Merge-Approved

Comment #33 on issue 580586 by tin...@google.com: Scrollbar space is
reserved even if content doesn't overflow (column flexbox, vertical
scrollbar)
https://code.google.com/p/chromium/issues/detail?id=580586#c33

Your change meets the bar and is auto-approved for M49 (branch: 2623)
Reply all
Reply to author
Forward
0 new messages