When we have scroll-snap point markup that specifies a horizontal snap range, but not a vertical, we get a default value of "{0, 15}". Example: .horizontalGallery { width: 300px; height: 300px; overflow-y: hidden; overflow-x: auto; -webkit-overflow-scrolling: touch; -webkit-scroll-snap-points-x: repeat(100%); -webkit-scroll-snap-type: mandatory; } This produces snap points as follows: horizontal = { 0, 300, 600, 900, 1200, 1500 }, vertical = { 0, 15 } I would expect to see either no snap points, or snap points for the two scroll extrema (i.e., vertical = { 0, 1500 }
We enter the 'updateFromStyle' helper function in AxisScrollSnapOffsets.cpp with no vertical offset values. These are being set as the default positions: 1. We always append 0 when we have a scrollable area. 2. We always append the value of 'scroll{Width|Height}' - 'view{Width|Height}' In the test case 'scroll-snap-coordinates-borders.html', we somehow have a scrollable area that is 15 pixels larger than the view area. Could this be due to scrollbars?
Measuring the pixels on a screenshot shows that the horizontal scrollbar is 15 pixels high, which is why we appear to have a vertical scrollable area of 15 pixels. I think this is working correctly.
Created attachment 252534 [details] Screenshot showing horizontal scrollbar