| Index: third_party/WebKit/Source/platform/exported/WebScrollbarThemePainter.cpp
|
| diff --git a/third_party/WebKit/Source/platform/exported/WebScrollbarThemePainter.cpp b/third_party/WebKit/Source/platform/exported/WebScrollbarThemePainter.cpp
|
| index 72c9a2f308277a8dc16893ce0ed368818bc636c2..3c69e179143ad5ef1d79114f4000a3ad22fb5e04 100644
|
| --- a/third_party/WebKit/Source/platform/exported/WebScrollbarThemePainter.cpp
|
| +++ b/third_party/WebKit/Source/platform/exported/WebScrollbarThemePainter.cpp
|
| @@ -47,6 +47,13 @@ void WebScrollbarThemePainter::reset()
|
| m_scrollbar = nullptr;
|
| }
|
|
|
| +static void playback(SkPictureBuilder* builder, WebCanvas* canvas)
|
| +{
|
| + RefPtr<const SkPicture> recording = builder->endRecording();
|
| + if (recording)
|
| + recording->playback(canvas);
|
| +}
|
| +
|
| void WebScrollbarThemePainter::paintScrollbarBackground(WebCanvas* canvas, const WebRect& rect)
|
| {
|
| SkRect clip = SkRect::MakeXYWH(rect.x, rect.y, rect.width, rect.height);
|
| @@ -56,7 +63,7 @@ void WebScrollbarThemePainter::paintScrollbarBackground(WebCanvas* canvas, const
|
| SkPictureBuilder pictureBuilder(intRect);
|
| pictureBuilder.context().setDeviceScaleFactor(m_deviceScaleFactor);
|
| m_theme->paintScrollbarBackground(pictureBuilder.context(), *m_scrollbar);
|
| - pictureBuilder.endRecording()->playback(canvas);
|
| + playback(&pictureBuilder, canvas);
|
| }
|
|
|
| void WebScrollbarThemePainter::paintTrackBackground(WebCanvas* canvas, const WebRect& rect)
|
| @@ -65,7 +72,7 @@ void WebScrollbarThemePainter::paintTrackBackground(WebCanvas* canvas, const Web
|
| SkPictureBuilder pictureBuilder(intRect);
|
| pictureBuilder.context().setDeviceScaleFactor(m_deviceScaleFactor);
|
| m_theme->paintTrackBackground(pictureBuilder.context(), *m_scrollbar, intRect);
|
| - pictureBuilder.endRecording()->playback(canvas);
|
| + playback(&pictureBuilder, canvas);
|
| if (!m_theme->shouldRepaintAllPartsOnInvalidation())
|
| m_scrollbar->clearTrackNeedsRepaint();
|
| }
|
| @@ -76,7 +83,7 @@ void WebScrollbarThemePainter::paintBackTrackPart(WebCanvas* canvas, const WebRe
|
| SkPictureBuilder pictureBuilder(intRect);
|
| pictureBuilder.context().setDeviceScaleFactor(m_deviceScaleFactor);
|
| m_theme->paintTrackPiece(pictureBuilder.context(), *m_scrollbar, intRect, BackTrackPart);
|
| - pictureBuilder.endRecording()->playback(canvas);
|
| + playback(&pictureBuilder, canvas);
|
| }
|
|
|
| void WebScrollbarThemePainter::paintForwardTrackPart(WebCanvas* canvas, const WebRect& rect)
|
| @@ -85,7 +92,7 @@ void WebScrollbarThemePainter::paintForwardTrackPart(WebCanvas* canvas, const We
|
| SkPictureBuilder pictureBuilder(intRect);
|
| pictureBuilder.context().setDeviceScaleFactor(m_deviceScaleFactor);
|
| m_theme->paintTrackPiece(pictureBuilder.context(), *m_scrollbar, intRect, ForwardTrackPart);
|
| - pictureBuilder.endRecording()->playback(canvas);
|
| + playback(&pictureBuilder, canvas);
|
| }
|
|
|
| void WebScrollbarThemePainter::paintBackButtonStart(WebCanvas* canvas, const WebRect& rect)
|
| @@ -94,7 +101,7 @@ void WebScrollbarThemePainter::paintBackButtonStart(WebCanvas* canvas, const Web
|
| SkPictureBuilder pictureBuilder(intRect);
|
| pictureBuilder.context().setDeviceScaleFactor(m_deviceScaleFactor);
|
| m_theme->paintButton(pictureBuilder.context(), *m_scrollbar, intRect, BackButtonStartPart);
|
| - pictureBuilder.endRecording()->playback(canvas);
|
| + playback(&pictureBuilder, canvas);
|
| }
|
|
|
| void WebScrollbarThemePainter::paintBackButtonEnd(WebCanvas* canvas, const WebRect& rect)
|
| @@ -103,7 +110,7 @@ void WebScrollbarThemePainter::paintBackButtonEnd(WebCanvas* canvas, const WebRe
|
| SkPictureBuilder pictureBuilder(intRect);
|
| pictureBuilder.context().setDeviceScaleFactor(m_deviceScaleFactor);
|
| m_theme->paintButton(pictureBuilder.context(), *m_scrollbar, intRect, BackButtonEndPart);
|
| - pictureBuilder.endRecording()->playback(canvas);
|
| + playback(&pictureBuilder, canvas);
|
| }
|
|
|
| void WebScrollbarThemePainter::paintForwardButtonStart(WebCanvas* canvas, const WebRect& rect)
|
| @@ -112,7 +119,7 @@ void WebScrollbarThemePainter::paintForwardButtonStart(WebCanvas* canvas, const
|
| SkPictureBuilder pictureBuilder(intRect);
|
| pictureBuilder.context().setDeviceScaleFactor(m_deviceScaleFactor);
|
| m_theme->paintButton(pictureBuilder.context(), *m_scrollbar, intRect, ForwardButtonStartPart);
|
| - pictureBuilder.endRecording()->playback(canvas);
|
| + playback(&pictureBuilder, canvas);
|
| }
|
|
|
| void WebScrollbarThemePainter::paintForwardButtonEnd(WebCanvas* canvas, const WebRect& rect)
|
| @@ -121,7 +128,7 @@ void WebScrollbarThemePainter::paintForwardButtonEnd(WebCanvas* canvas, const We
|
| SkPictureBuilder pictureBuilder(intRect);
|
| pictureBuilder.context().setDeviceScaleFactor(m_deviceScaleFactor);
|
| m_theme->paintButton(pictureBuilder.context(), *m_scrollbar, intRect, ForwardButtonEndPart);
|
| - pictureBuilder.endRecording()->playback(canvas);
|
| + playback(&pictureBuilder, canvas);
|
| }
|
|
|
| void WebScrollbarThemePainter::paintTickmarks(WebCanvas* canvas, const WebRect& rect)
|
| @@ -130,7 +137,7 @@ void WebScrollbarThemePainter::paintTickmarks(WebCanvas* canvas, const WebRect&
|
| SkPictureBuilder pictureBuilder(intRect);
|
| pictureBuilder.context().setDeviceScaleFactor(m_deviceScaleFactor);
|
| m_theme->paintTickmarks(pictureBuilder.context(), *m_scrollbar, intRect);
|
| - pictureBuilder.endRecording()->playback(canvas);
|
| + playback(&pictureBuilder, canvas);
|
| }
|
|
|
| void WebScrollbarThemePainter::paintThumb(WebCanvas* canvas, const WebRect& rect)
|
| @@ -139,7 +146,7 @@ void WebScrollbarThemePainter::paintThumb(WebCanvas* canvas, const WebRect& rect
|
| SkPictureBuilder pictureBuilder(intRect);
|
| pictureBuilder.context().setDeviceScaleFactor(m_deviceScaleFactor);
|
| m_theme->paintThumb(pictureBuilder.context(), *m_scrollbar, intRect);
|
| - pictureBuilder.endRecording()->playback(canvas);
|
| + playback(&pictureBuilder, canvas);
|
| if (!m_theme->shouldRepaintAllPartsOnInvalidation())
|
| m_scrollbar->clearThumbNeedsRepaint();
|
| }
|
|
|