| Index: third_party/WebKit/Source/platform/scroll/ScrollbarTheme.cpp
|
| diff --git a/third_party/WebKit/Source/platform/scroll/ScrollbarTheme.cpp b/third_party/WebKit/Source/platform/scroll/ScrollbarTheme.cpp
|
| index 601dc30aa70d2280b0bbfe66cb227aa844199924..9a1b08e5f1e06dd64991235e9f8b697a7a429875 100644
|
| --- a/third_party/WebKit/Source/platform/scroll/ScrollbarTheme.cpp
|
| +++ b/third_party/WebKit/Source/platform/scroll/ScrollbarTheme.cpp
|
| @@ -170,6 +170,46 @@
|
| return result;
|
| }
|
|
|
| +void ScrollbarTheme::invalidatePart(ScrollbarThemeClient* scrollbar, ScrollbarPart part)
|
| +{
|
| + if (part == NoPart)
|
| + return;
|
| +
|
| + IntRect result;
|
| + switch (part) {
|
| + case BackButtonStartPart:
|
| + result = backButtonRect(scrollbar, BackButtonStartPart, true);
|
| + break;
|
| + case BackButtonEndPart:
|
| + result = backButtonRect(scrollbar, BackButtonEndPart, true);
|
| + break;
|
| + case ForwardButtonStartPart:
|
| + result = forwardButtonRect(scrollbar, ForwardButtonStartPart, true);
|
| + break;
|
| + case ForwardButtonEndPart:
|
| + result = forwardButtonRect(scrollbar, ForwardButtonEndPart, true);
|
| + break;
|
| + case TrackBGPart:
|
| + result = trackRect(scrollbar, true);
|
| + break;
|
| + case ScrollbarBGPart:
|
| + result = scrollbar->frameRect();
|
| + break;
|
| + default: {
|
| + IntRect beforeThumbRect, thumbRect, afterThumbRect;
|
| + splitTrack(scrollbar, trackRect(scrollbar), beforeThumbRect, thumbRect, afterThumbRect);
|
| + if (part == BackTrackPart)
|
| + result = beforeThumbRect;
|
| + else if (part == ForwardTrackPart)
|
| + result = afterThumbRect;
|
| + else
|
| + result = thumbRect;
|
| + }
|
| + }
|
| + result.moveBy(-scrollbar->location());
|
| + scrollbar->invalidateRect(result);
|
| +}
|
| +
|
| void ScrollbarTheme::paintScrollCorner(GraphicsContext* context, const DisplayItemClientWrapper& displayItemClient, const IntRect& cornerRect)
|
| {
|
| if (cornerRect.isEmpty())
|
|
|