Chromium Code Reviews| Index: third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp |
| diff --git a/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp b/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp |
| index 8a5fd7f3bc135dc51d8b1fe6a2e3615ff0f209be..525ba0aa42d27624047897e96d07a059428e5aae 100644 |
| --- a/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp |
| +++ b/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp |
| @@ -504,7 +504,10 @@ IntSize PaintLayerScrollableArea::maximumScrollOffsetInt() const { |
| IntSize contentSize = contentsSize(); |
| IntSize visibleSize = |
| - pixelSnappedIntRect(box().overflowClipRect(box().location())).size(); |
| + pixelSnappedIntRect( |
| + box().overflowClipRect(box().location(), |
| + IgnorePlatformAndCSSOverlayScrollbarSize)) |
| + .size(); |
| FrameHost* host = layoutBox()->document().frameHost(); |
| DCHECK(host); |
| @@ -1296,10 +1299,16 @@ int PaintLayerScrollableArea::verticalScrollbarWidth( |
| OverlayScrollbarClipBehavior overlayScrollbarClipBehavior) const { |
| if (!hasVerticalScrollbar()) |
| return 0; |
| - if ((verticalScrollbar()->isOverlayScrollbar() || |
| - box().style()->overflowY() == EOverflow::kOverlay) && |
| - (overlayScrollbarClipBehavior == IgnoreOverlayScrollbarSize || |
| - !verticalScrollbar()->shouldParticipateInHitTesting())) { |
| + if (overlayScrollbarClipBehavior == |
| + IgnorePlatformAndCSSOverlayScrollbarSize && |
| + box().style()->overflowY() == EOverflow::kOverlay) { |
| + return 0; |
| + } |
| + if ((overlayScrollbarClipBehavior == IgnorePlatformOverlayScrollbarSize || |
| + overlayScrollbarClipBehavior == |
| + IgnorePlatformAndCSSOverlayScrollbarSize || |
| + !verticalScrollbar()->shouldParticipateInHitTesting()) && |
| + verticalScrollbar()->isOverlayScrollbar()) { |
| return 0; |
| } |
| return verticalScrollbar()->scrollbarThickness(); |
| @@ -1309,9 +1318,13 @@ int PaintLayerScrollableArea::horizontalScrollbarHeight( |
| OverlayScrollbarClipBehavior overlayScrollbarClipBehavior) const { |
| if (!hasHorizontalScrollbar()) |
| return 0; |
| - if ((horizontalScrollbar()->isOverlayScrollbar() || |
| - box().style()->overflowX() == EOverflow::kOverlay) && |
| - (overlayScrollbarClipBehavior == IgnoreOverlayScrollbarSize || |
| + if (overlayScrollbarClipBehavior == |
| + IgnorePlatformAndCSSOverlayScrollbarSize && |
| + box().style()->overflowX() == EOverflow::kOverlay) { |
| + return 0; |
| + } |
| + if (horizontalScrollbar()->isOverlayScrollbar() && |
| + (overlayScrollbarClipBehavior == IgnorePlatformOverlayScrollbarSize || |
|
skobes
2017/03/07 19:47:18
same fix here (|| IgnorePlatformAndCSSOverlayScrol
szager1
2017/03/07 20:07:51
Jeez, picky picky!
Fixed.
|
| !horizontalScrollbar()->shouldParticipateInHitTesting())) { |
| return 0; |
| } |