Project: chromium Issues People Development process History Sign in
New issue
Advanced search Search tips
Starred by 3 users
Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 3
Type: Bug



Sign in to add a comment
Scrollable areas don't consider perspective when determining scrolling content size.
Project Member Reported by flackr@chromium.org, Sep 1 2016 Back to list
Version: 53.0.2785.70 (Official Build) beta (64-bit)
OS: All

What steps will reproduce the problem?
(1) Visit http://jsbin.com/zayeyav

What is the expected output?
Neither scroller should have a scrollbar.

What do you see instead?
Instead, both of them do because we are not properly accounting for the perspective when determining the scrolling content size.

Please use labels and text to provide additional information.

 
Comment 1 by bokan@chromium.org, Sep 1 2016
Components: Blink>Layout
Status: Available
Other browsers:

Safari: Both boxes are scrollable just like Chrome

Firefox: Top Box is vertically scrollable just like Chrome but only slightly scrollable horizontally (looks like the vertical scrollbar causes horizontal overflow). Bottom box has no scrolling.

Edge: Top box is scrollable just lik Chrome. Bottom box has no scrolling.

It seems like Edge and Firefox agree in their handling of scale so perhaps we should as well. On the flip side, perspective seems uniformly broken so at the least we should agree with other vendors what the correct behavior is.
Comment 2 by bokan@chromium.org, Sep 1 2016
Cc: bokan@chromium.org
I'm not sure how consistent this is though. Consider the following:
http://output.jsbin.com/seroge

Firefox (I don't have Edge handy) does seem to consider that the translation has been scaled.

I'm guessing that not accounting for transform at all would break a lot of sites.
confirmed we also have the same problem on the latest version of Chrome. The previous version worked as expected.  
When replacing wider content with smaller content, an unscrollable scrollbar appears (which should not). Probably related to this bug.

See link and click the button.
http://codepen.io/anon/pen/rrNdKj

Works as expected (no scrollbar) in IE11 and Firefox
Comment 6 by bokan@chromium.org, Sep 2 2016
Re #4, if there's a regression we prioritize those issues. If you can put together a minimized repro (like flackr@'s above) I can do bisect versions to find the cause.
Comment 7 Deleted
Comment 8 by bokan@chromium.org, Sep 2 2016
Ah, got it. That does seem to be a regression as it works correctly in Stable channel (52.0.2743.116) but not dev (54.0.2840.8). That seems to be a separate issue though as there's no transformations involved, which is what this bug is about. I've filed issue 643681 to track that separately. Feel free to follow-up/star that issue.
http://codepen.io/anon/pen/KgKRkk 

In the chrome inspector uncheck the position: absolute on #pane-scroll and then check it again. After rechecking the position: absolute the correct scrollbars appear.
I think this example proves the firefox accounts for perspective even though that is inconsistent with our understanding of the example in the original bug report: http://output.jsbin.com/canulehase

The first two examples show that firefox has accounted for both scale and transform, and in the third example it also recognized that because of the perspective it no longer overflowed.

Last and most confusing, the fourth example shows firefox not letting us scroll to something given a perspective-origin at the bottom right.
The only way I can explain the Firefox behavior is that they have accounted for the height of the untransformed box, and then accounted for the transformed boxes (perhaps assuming that perspective only affects size - to explain the bottom right perspective origin not working - Edge does account for it though).

TLDR, there is very little consistency, but Firefox and Edge both do account for perspective changing the size of the transformed element, I think we should too.
@bokan Thanks for opening a second issue, sorry for assuming this one was related.
Project Member Comment 13 by sheriffbot@chromium.org, Sep 4
Labels: Hotlist-Recharge-Cold
Status: Untriaged
This issue has been Available for over a year. If it's no longer important or seems unlikely to be fixed, please consider closing it out. If it is important, please re-triage the issue.

Sorry for the inconvenience if the bug really should have been left as Available. If you change it back, also remove the "Hotlist-Recharge-Cold" label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Cc: skobes@chromium.org szager@chromium.org
Status: Available
Sign in to add a comment