| Index: third_party/WebKit/Source/platform/scroll/ScrollbarThemeOverlay.cpp
|
| diff --git a/third_party/WebKit/Source/platform/scroll/ScrollbarThemeOverlay.cpp b/third_party/WebKit/Source/platform/scroll/ScrollbarThemeOverlay.cpp
|
| index 30ba2b9554699d95115ee07d6d3ed8f1506b2dd7..6898373b6088f859477b4a556fc7c92eb362d3b3 100644
|
| --- a/third_party/WebKit/Source/platform/scroll/ScrollbarThemeOverlay.cpp
|
| +++ b/third_party/WebKit/Source/platform/scroll/ScrollbarThemeOverlay.cpp
|
| @@ -65,7 +65,10 @@ bool ScrollbarThemeOverlay::shouldRepaintAllPartsOnInvalidation() const {
|
| ScrollbarPart ScrollbarThemeOverlay::invalidateOnThumbPositionChange(
|
| const ScrollbarThemeClient&,
|
| float oldPosition,
|
| - float newPosition) const {
|
| + float newPosition,
|
| + bool hitBeginOrEndChanged) const {
|
| + if (hitBeginOrEndChanged)
|
| + return ThumbPart;
|
| return NoPart;
|
| }
|
|
|
| @@ -204,6 +207,17 @@ void ScrollbarThemeOverlay::paintThumb(GraphicsContext& context,
|
| params.scrollbarThumb.scrollbarTheme =
|
| static_cast<WebScrollbarOverlayColorTheme>(
|
| scrollbar.getScrollbarOverlayColorTheme());
|
| + params.scrollbarThumb.isVerticalScrollbar =
|
| + scrollbar.orientation() == VerticalScrollbar;
|
| + params.scrollbarThumb.isLeftVerticalScrollbar =
|
| + scrollbar.isLeftSideVerticalScrollbar();
|
| +
|
| + int currentThumbPosition = ScrollbarTheme::thumbPosition(scrollbar);
|
| +
|
| + params.scrollbarThumb.hitStart = currentThumbPosition == 0;
|
| + params.scrollbarThumb.hitEnd =
|
| + !scrollbar.hasScrollCorner() &&
|
| + currentThumbPosition + thumbLength(scrollbar) == trackLength(scrollbar);
|
|
|
| Platform::current()->themeEngine()->paint(canvas, part, state, WebRect(rect),
|
| ¶ms);
|
|
|