<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[185964] trunk/Source/WebCore</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/185964">185964</a></dd>
<dt>Author</dt> <dd>andersca@apple.com</dd>
<dt>Date</dt> <dd>2015-06-25 15:03:25 -0700 (Thu, 25 Jun 2015)</dd>
</dl>

<h3>Log Message</h3>
<pre>Stop using ScrollbarThemeClient and just use Scrollbar directly
https://bugs.webkit.org/show_bug.cgi?id=146320

Reviewed by Tim Horton.

* page/scrolling/mac/ScrollingStateFrameScrollingNodeMac.mm:
(WebCore::ScrollingStateFrameScrollingNode::setScrollbarPaintersFromScrollbars):
* platform/ScrollableArea.cpp:
(WebCore::ScrollableArea::setScrollbarOverlayStyle):
* platform/Scrollbar.cpp:
(WebCore::Scrollbar::Scrollbar):
(WebCore::Scrollbar::~Scrollbar):
(WebCore::Scrollbar::offsetDidChange):
(WebCore::Scrollbar::updateThumb):
(WebCore::Scrollbar::paint):
(WebCore::thumbUnderMouse):
(WebCore::Scrollbar::autoscrollPressedPart):
(WebCore::Scrollbar::startTimerIfNeeded):
(WebCore::Scrollbar::moveThumb):
(WebCore::Scrollbar::setHoveredPart):
(WebCore::Scrollbar::setPressedPart):
(WebCore::Scrollbar::mouseMoved):
(WebCore::Scrollbar::mouseUp):
(WebCore::Scrollbar::mouseDown):
(WebCore::Scrollbar::setEnabled):
* platform/ScrollbarTheme.h:
(WebCore::ScrollbarTheme::updateEnabledState):
(WebCore::ScrollbarTheme::paint):
(WebCore::ScrollbarTheme::hitTest):
(WebCore::ScrollbarTheme::updateScrollbarOverlayStyle):
(WebCore::ScrollbarTheme::invalidateParts):
(WebCore::ScrollbarTheme::invalidatePart):
(WebCore::ScrollbarTheme::paintTickmarks):
(WebCore::ScrollbarTheme::shouldCenterOnThumb):
(WebCore::ScrollbarTheme::shouldSnapBackToDragOrigin):
(WebCore::ScrollbarTheme::shouldDragDocumentInsteadOfThumb):
(WebCore::ScrollbarTheme::thumbPosition):
(WebCore::ScrollbarTheme::thumbLength):
(WebCore::ScrollbarTheme::trackPosition):
(WebCore::ScrollbarTheme::trackLength):
(WebCore::ScrollbarTheme::registerScrollbar):
(WebCore::ScrollbarTheme::unregisterScrollbar):
* platform/ScrollbarThemeComposite.cpp:
(WebCore::ScrollbarThemeComposite::paint):
(WebCore::ScrollbarThemeComposite::hitTest):
(WebCore::ScrollbarThemeComposite::invalidatePart):
(WebCore::ScrollbarThemeComposite::splitTrack):
(WebCore::usedTotalSize):
(WebCore::ScrollbarThemeComposite::thumbPosition):
(WebCore::ScrollbarThemeComposite::thumbLength):
(WebCore::ScrollbarThemeComposite::minimumThumbLength):
(WebCore::ScrollbarThemeComposite::trackPosition):
(WebCore::ScrollbarThemeComposite::trackLength):
(WebCore::ScrollbarThemeComposite::thumbRect):
* platform/ScrollbarThemeComposite.h:
(WebCore::ScrollbarThemeComposite::willPaintScrollbar):
(WebCore::ScrollbarThemeComposite::didPaintScrollbar):
(WebCore::ScrollbarThemeComposite::paintScrollbarBackground):
(WebCore::ScrollbarThemeComposite::paintTrackBackground):
(WebCore::ScrollbarThemeComposite::paintTrackPiece):
(WebCore::ScrollbarThemeComposite::paintButton):
(WebCore::ScrollbarThemeComposite::paintThumb):
(WebCore::ScrollbarThemeComposite::constrainTrackRectToTrackPieces):
* platform/efl/ScrollbarThemeEfl.h:
* platform/gtk/ScrollbarThemeGtk.cpp:
(WebCore::ScrollbarThemeGtk::hasThumb):
(WebCore::ScrollbarThemeGtk::backButtonRect):
(WebCore::ScrollbarThemeGtk::forwardButtonRect):
(WebCore::ScrollbarThemeGtk::trackRect):
(WebCore::ScrollbarThemeGtk::registerScrollbar):
(WebCore::ScrollbarThemeGtk::unregisterScrollbar):
(WebCore::ScrollbarThemeGtk::updateScrollbarsFrameThickness):
(WebCore::ScrollbarThemeGtk::thumbRect):
(WebCore::ScrollbarThemeGtk::paintTrackBackground):
(WebCore::ScrollbarThemeGtk::paintScrollbarBackground):
(WebCore::ScrollbarThemeGtk::paintThumb):
(WebCore::ScrollbarThemeGtk::paintButton):
(WebCore::ScrollbarThemeGtk::paint):
(WebCore::ScrollbarThemeGtk::shouldCenterOnThumb):
(WebCore::ScrollbarThemeGtk::buttonSize):
(WebCore::ScrollbarThemeGtk::minimumThumbLength):
* platform/gtk/ScrollbarThemeGtk.h:
(WebCore::ScrollbarThemeGtk::hasButtons):
* platform/ios/ScrollbarThemeIOS.h:
* platform/ios/ScrollbarThemeIOS.mm:
(WebCore::ScrollbarThemeIOS::registerScrollbar):
(WebCore::ScrollbarThemeIOS::unregisterScrollbar):
(WebCore::ScrollbarThemeIOS::hasButtons):
(WebCore::ScrollbarThemeIOS::hasThumb):
(WebCore::ScrollbarThemeIOS::backButtonRect):
(WebCore::ScrollbarThemeIOS::forwardButtonRect):
(WebCore::ScrollbarThemeIOS::trackRect):
(WebCore::ScrollbarThemeIOS::minimumThumbLength):
(WebCore::ScrollbarThemeIOS::shouldCenterOnThumb):
(WebCore::ScrollbarThemeIOS::paint):
* platform/mac/ScrollAnimatorMac.mm:
(scrollbarPainterForScrollbar):
(-[WebScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
(-[WebScrollbarPartAnimation startAnimation]):
(-[WebScrollbarPainterDelegate mouseLocationInScrollerForScrollerImp:]):
(-[WebScrollbarPainterDelegate setUpAlphaAnimation:scrollerPainter:part:animateAlphaTo:duration:]):
(-[WebScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
(-[WebScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
(-[WebScrollbarPainterDelegate scrollerImp:animateUIStateTransitionWithDuration:]):
(-[WebScrollbarPainterDelegate scrollerImp:animateExpansionTransitionWithDuration:]):
(WebCore::ScrollAnimatorMac::mouseEnteredScrollbar):
(WebCore::ScrollAnimatorMac::mouseExitedScrollbar):
(WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
(WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar):
(WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
(WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar):
(WebCore::ScrollAnimatorMac::invalidateScrollbarPartLayers):
(WebCore::ScrollAnimatorMac::verticalScrollbarLayerDidChange):
(WebCore::ScrollAnimatorMac::horizontalScrollbarLayerDidChange):
(WebCore::ScrollAnimatorMac::shouldScrollbarParticipateInHitTesting):
(WebCore::ScrollAnimatorMac::updateScrollerStyle):
* platform/mac/ScrollbarThemeMac.h:
* platform/mac/ScrollbarThemeMac.mm:
(WebCore::ScrollbarThemeMac::registerScrollbar):
(WebCore::ScrollbarThemeMac::unregisterScrollbar):
(WebCore::ScrollbarThemeMac::setNewPainterForScrollbar):
(WebCore::ScrollbarThemeMac::painterForScrollbar):
(WebCore::ScrollbarThemeMac::updateScrollbarOverlayStyle):
(WebCore::ScrollbarThemeMac::hasButtons):
(WebCore::ScrollbarThemeMac::hasThumb):
(WebCore::ScrollbarThemeMac::backButtonRect):
(WebCore::ScrollbarThemeMac::forwardButtonRect):
(WebCore::ScrollbarThemeMac::trackRect):
(WebCore::ScrollbarThemeMac::minimumThumbLength):
(WebCore::ScrollbarThemeMac::shouldCenterOnThumb):
(WebCore::ScrollbarThemeMac::shouldDragDocumentInsteadOfThumb):
(WebCore::ScrollbarThemeMac::updateEnabledState):
(WebCore::ScrollbarThemeMac::setPaintCharacteristicsForScrollbar):
(WebCore::ScrollbarThemeMac::paint):
* platform/mock/ScrollbarThemeMock.cpp:
(WebCore::ScrollbarThemeMock::trackRect):
(WebCore::ScrollbarThemeMock::paintTrackBackground):
(WebCore::ScrollbarThemeMock::paintThumb):
* platform/mock/ScrollbarThemeMock.h:
(WebCore::ScrollbarThemeMock::hasButtons): Deleted.
(WebCore::ScrollbarThemeMock::hasThumb): Deleted.
(WebCore::ScrollbarThemeMock::backButtonRect): Deleted.
(WebCore::ScrollbarThemeMock::forwardButtonRect): Deleted.
(WebCore::ScrollbarThemeMock::maxOverlapBetweenPages): Deleted.
(WebCore::ScrollbarThemeMock::isMockTheme): Deleted.
* platform/win/ScrollbarThemeSafari.cpp:
(WebCore::ScrollbarThemeSafari::hasButtons):
(WebCore::ScrollbarThemeSafari::hasThumb):
(WebCore::ScrollbarThemeSafari::backButtonRect):
(WebCore::ScrollbarThemeSafari::forwardButtonRect):
(WebCore::ScrollbarThemeSafari::trackRect):
(WebCore::ScrollbarThemeSafari::minimumThumbLength):
(WebCore::ScrollbarThemeSafari::shouldCenterOnThumb):
(WebCore::ScrollbarThemeSafari::paintTrackBackground):
(WebCore::ScrollbarThemeSafari::paintButton):
(WebCore::ScrollbarThemeSafari::paintThumb):
* platform/win/ScrollbarThemeSafari.h:
* platform/win/ScrollbarThemeWin.cpp:
(WebCore::ScrollbarThemeWin::hasThumb):
(WebCore::ScrollbarThemeWin::backButtonRect):
(WebCore::ScrollbarThemeWin::forwardButtonRect):
(WebCore::ScrollbarThemeWin::trackRect):
(WebCore::ScrollbarThemeWin::shouldCenterOnThumb):
(WebCore::ScrollbarThemeWin::shouldSnapBackToDragOrigin):
(WebCore::ScrollbarThemeWin::paintTrackBackground):
(WebCore::ScrollbarThemeWin::paintTrackPiece):
(WebCore::ScrollbarThemeWin::paintButton):
(WebCore::paintGripper):
(WebCore::ScrollbarThemeWin::paintThumb):
* platform/win/ScrollbarThemeWin.h:
* rendering/RenderScrollbar.h:
(isType):
* rendering/RenderScrollbarPart.cpp:
(WebCore::RenderScrollbarPart::styleDidChange):
(WebCore::RenderScrollbarPart::imageChanged):
* rendering/RenderScrollbarTheme.cpp:
(WebCore::RenderScrollbarTheme::buttonSizesAlongTrackAxis):
(WebCore::RenderScrollbarTheme::hasButtons):
(WebCore::RenderScrollbarTheme::hasThumb):
(WebCore::RenderScrollbarTheme::minimumThumbLength):
(WebCore::RenderScrollbarTheme::backButtonRect):
(WebCore::RenderScrollbarTheme::forwardButtonRect):
(WebCore::RenderScrollbarTheme::trackRect):
(WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces):
(WebCore::RenderScrollbarTheme::willPaintScrollbar):
(WebCore::RenderScrollbarTheme::didPaintScrollbar):
(WebCore::RenderScrollbarTheme::paintScrollbarBackground):
(WebCore::RenderScrollbarTheme::paintTrackBackground):
(WebCore::RenderScrollbarTheme::paintTrackPiece):
(WebCore::RenderScrollbarTheme::paintButton):
(WebCore::RenderScrollbarTheme::paintThumb):
(WebCore::RenderScrollbarTheme::paintTickmarks):
* rendering/RenderScrollbarTheme.h:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCorepagescrollingmacScrollingStateFrameScrollingNodeMacmm">trunk/Source/WebCore/page/scrolling/mac/ScrollingStateFrameScrollingNodeMac.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformScrollableAreacpp">trunk/Source/WebCore/platform/ScrollableArea.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformScrollbarcpp">trunk/Source/WebCore/platform/Scrollbar.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformScrollbarThemeh">trunk/Source/WebCore/platform/ScrollbarTheme.h</a></li>
<li><a href="#trunkSourceWebCoreplatformScrollbarThemeCompositecpp">trunk/Source/WebCore/platform/ScrollbarThemeComposite.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformScrollbarThemeCompositeh">trunk/Source/WebCore/platform/ScrollbarThemeComposite.h</a></li>
<li><a href="#trunkSourceWebCoreplatformeflScrollbarThemeEflh">trunk/Source/WebCore/platform/efl/ScrollbarThemeEfl.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgtkScrollbarThemeGtkcpp">trunk/Source/WebCore/platform/gtk/ScrollbarThemeGtk.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgtkScrollbarThemeGtkh">trunk/Source/WebCore/platform/gtk/ScrollbarThemeGtk.h</a></li>
<li><a href="#trunkSourceWebCoreplatformiosScrollbarThemeIOSh">trunk/Source/WebCore/platform/ios/ScrollbarThemeIOS.h</a></li>
<li><a href="#trunkSourceWebCoreplatformiosScrollbarThemeIOSmm">trunk/Source/WebCore/platform/ios/ScrollbarThemeIOS.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformmacScrollAnimatorMacmm">trunk/Source/WebCore/platform/mac/ScrollAnimatorMac.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformmacScrollbarThemeMach">trunk/Source/WebCore/platform/mac/ScrollbarThemeMac.h</a></li>
<li><a href="#trunkSourceWebCoreplatformmacScrollbarThemeMacmm">trunk/Source/WebCore/platform/mac/ScrollbarThemeMac.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformmockScrollbarThemeMockcpp">trunk/Source/WebCore/platform/mock/ScrollbarThemeMock.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformmockScrollbarThemeMockh">trunk/Source/WebCore/platform/mock/ScrollbarThemeMock.h</a></li>
<li><a href="#trunkSourceWebCoreplatformwinScrollbarThemeSafaricpp">trunk/Source/WebCore/platform/win/ScrollbarThemeSafari.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformwinScrollbarThemeSafarih">trunk/Source/WebCore/platform/win/ScrollbarThemeSafari.h</a></li>
<li><a href="#trunkSourceWebCoreplatformwinScrollbarThemeWincpp">trunk/Source/WebCore/platform/win/ScrollbarThemeWin.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformwinScrollbarThemeWinh">trunk/Source/WebCore/platform/win/ScrollbarThemeWin.h</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderScrollbarh">trunk/Source/WebCore/rendering/RenderScrollbar.h</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderScrollbarPartcpp">trunk/Source/WebCore/rendering/RenderScrollbarPart.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderScrollbarThemecpp">trunk/Source/WebCore/rendering/RenderScrollbarTheme.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderScrollbarThemeh">trunk/Source/WebCore/rendering/RenderScrollbarTheme.h</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (185963 => 185964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2015-06-25 21:44:13 UTC (rev 185963)
+++ trunk/Source/WebCore/ChangeLog        2015-06-25 22:03:25 UTC (rev 185964)
</span><span class="lines">@@ -1,3 +1,199 @@
</span><ins>+2015-06-25  Anders Carlsson  &lt;andersca@apple.com&gt;
+
+        Stop using ScrollbarThemeClient and just use Scrollbar directly
+        https://bugs.webkit.org/show_bug.cgi?id=146320
+
+        Reviewed by Tim Horton.
+
+        * page/scrolling/mac/ScrollingStateFrameScrollingNodeMac.mm:
+        (WebCore::ScrollingStateFrameScrollingNode::setScrollbarPaintersFromScrollbars):
+        * platform/ScrollableArea.cpp:
+        (WebCore::ScrollableArea::setScrollbarOverlayStyle):
+        * platform/Scrollbar.cpp:
+        (WebCore::Scrollbar::Scrollbar):
+        (WebCore::Scrollbar::~Scrollbar):
+        (WebCore::Scrollbar::offsetDidChange):
+        (WebCore::Scrollbar::updateThumb):
+        (WebCore::Scrollbar::paint):
+        (WebCore::thumbUnderMouse):
+        (WebCore::Scrollbar::autoscrollPressedPart):
+        (WebCore::Scrollbar::startTimerIfNeeded):
+        (WebCore::Scrollbar::moveThumb):
+        (WebCore::Scrollbar::setHoveredPart):
+        (WebCore::Scrollbar::setPressedPart):
+        (WebCore::Scrollbar::mouseMoved):
+        (WebCore::Scrollbar::mouseUp):
+        (WebCore::Scrollbar::mouseDown):
+        (WebCore::Scrollbar::setEnabled):
+        * platform/ScrollbarTheme.h:
+        (WebCore::ScrollbarTheme::updateEnabledState):
+        (WebCore::ScrollbarTheme::paint):
+        (WebCore::ScrollbarTheme::hitTest):
+        (WebCore::ScrollbarTheme::updateScrollbarOverlayStyle):
+        (WebCore::ScrollbarTheme::invalidateParts):
+        (WebCore::ScrollbarTheme::invalidatePart):
+        (WebCore::ScrollbarTheme::paintTickmarks):
+        (WebCore::ScrollbarTheme::shouldCenterOnThumb):
+        (WebCore::ScrollbarTheme::shouldSnapBackToDragOrigin):
+        (WebCore::ScrollbarTheme::shouldDragDocumentInsteadOfThumb):
+        (WebCore::ScrollbarTheme::thumbPosition):
+        (WebCore::ScrollbarTheme::thumbLength):
+        (WebCore::ScrollbarTheme::trackPosition):
+        (WebCore::ScrollbarTheme::trackLength):
+        (WebCore::ScrollbarTheme::registerScrollbar):
+        (WebCore::ScrollbarTheme::unregisterScrollbar):
+        * platform/ScrollbarThemeComposite.cpp:
+        (WebCore::ScrollbarThemeComposite::paint):
+        (WebCore::ScrollbarThemeComposite::hitTest):
+        (WebCore::ScrollbarThemeComposite::invalidatePart):
+        (WebCore::ScrollbarThemeComposite::splitTrack):
+        (WebCore::usedTotalSize):
+        (WebCore::ScrollbarThemeComposite::thumbPosition):
+        (WebCore::ScrollbarThemeComposite::thumbLength):
+        (WebCore::ScrollbarThemeComposite::minimumThumbLength):
+        (WebCore::ScrollbarThemeComposite::trackPosition):
+        (WebCore::ScrollbarThemeComposite::trackLength):
+        (WebCore::ScrollbarThemeComposite::thumbRect):
+        * platform/ScrollbarThemeComposite.h:
+        (WebCore::ScrollbarThemeComposite::willPaintScrollbar):
+        (WebCore::ScrollbarThemeComposite::didPaintScrollbar):
+        (WebCore::ScrollbarThemeComposite::paintScrollbarBackground):
+        (WebCore::ScrollbarThemeComposite::paintTrackBackground):
+        (WebCore::ScrollbarThemeComposite::paintTrackPiece):
+        (WebCore::ScrollbarThemeComposite::paintButton):
+        (WebCore::ScrollbarThemeComposite::paintThumb):
+        (WebCore::ScrollbarThemeComposite::constrainTrackRectToTrackPieces):
+        * platform/efl/ScrollbarThemeEfl.h:
+        * platform/gtk/ScrollbarThemeGtk.cpp:
+        (WebCore::ScrollbarThemeGtk::hasThumb):
+        (WebCore::ScrollbarThemeGtk::backButtonRect):
+        (WebCore::ScrollbarThemeGtk::forwardButtonRect):
+        (WebCore::ScrollbarThemeGtk::trackRect):
+        (WebCore::ScrollbarThemeGtk::registerScrollbar):
+        (WebCore::ScrollbarThemeGtk::unregisterScrollbar):
+        (WebCore::ScrollbarThemeGtk::updateScrollbarsFrameThickness):
+        (WebCore::ScrollbarThemeGtk::thumbRect):
+        (WebCore::ScrollbarThemeGtk::paintTrackBackground):
+        (WebCore::ScrollbarThemeGtk::paintScrollbarBackground):
+        (WebCore::ScrollbarThemeGtk::paintThumb):
+        (WebCore::ScrollbarThemeGtk::paintButton):
+        (WebCore::ScrollbarThemeGtk::paint):
+        (WebCore::ScrollbarThemeGtk::shouldCenterOnThumb):
+        (WebCore::ScrollbarThemeGtk::buttonSize):
+        (WebCore::ScrollbarThemeGtk::minimumThumbLength):
+        * platform/gtk/ScrollbarThemeGtk.h:
+        (WebCore::ScrollbarThemeGtk::hasButtons):
+        * platform/ios/ScrollbarThemeIOS.h:
+        * platform/ios/ScrollbarThemeIOS.mm:
+        (WebCore::ScrollbarThemeIOS::registerScrollbar):
+        (WebCore::ScrollbarThemeIOS::unregisterScrollbar):
+        (WebCore::ScrollbarThemeIOS::hasButtons):
+        (WebCore::ScrollbarThemeIOS::hasThumb):
+        (WebCore::ScrollbarThemeIOS::backButtonRect):
+        (WebCore::ScrollbarThemeIOS::forwardButtonRect):
+        (WebCore::ScrollbarThemeIOS::trackRect):
+        (WebCore::ScrollbarThemeIOS::minimumThumbLength):
+        (WebCore::ScrollbarThemeIOS::shouldCenterOnThumb):
+        (WebCore::ScrollbarThemeIOS::paint):
+        * platform/mac/ScrollAnimatorMac.mm:
+        (scrollbarPainterForScrollbar):
+        (-[WebScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
+        (-[WebScrollbarPartAnimation startAnimation]):
+        (-[WebScrollbarPainterDelegate mouseLocationInScrollerForScrollerImp:]):
+        (-[WebScrollbarPainterDelegate setUpAlphaAnimation:scrollerPainter:part:animateAlphaTo:duration:]):
+        (-[WebScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
+        (-[WebScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
+        (-[WebScrollbarPainterDelegate scrollerImp:animateUIStateTransitionWithDuration:]):
+        (-[WebScrollbarPainterDelegate scrollerImp:animateExpansionTransitionWithDuration:]):
+        (WebCore::ScrollAnimatorMac::mouseEnteredScrollbar):
+        (WebCore::ScrollAnimatorMac::mouseExitedScrollbar):
+        (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
+        (WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar):
+        (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
+        (WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar):
+        (WebCore::ScrollAnimatorMac::invalidateScrollbarPartLayers):
+        (WebCore::ScrollAnimatorMac::verticalScrollbarLayerDidChange):
+        (WebCore::ScrollAnimatorMac::horizontalScrollbarLayerDidChange):
+        (WebCore::ScrollAnimatorMac::shouldScrollbarParticipateInHitTesting):
+        (WebCore::ScrollAnimatorMac::updateScrollerStyle):
+        * platform/mac/ScrollbarThemeMac.h:
+        * platform/mac/ScrollbarThemeMac.mm:
+        (WebCore::ScrollbarThemeMac::registerScrollbar):
+        (WebCore::ScrollbarThemeMac::unregisterScrollbar):
+        (WebCore::ScrollbarThemeMac::setNewPainterForScrollbar):
+        (WebCore::ScrollbarThemeMac::painterForScrollbar):
+        (WebCore::ScrollbarThemeMac::updateScrollbarOverlayStyle):
+        (WebCore::ScrollbarThemeMac::hasButtons):
+        (WebCore::ScrollbarThemeMac::hasThumb):
+        (WebCore::ScrollbarThemeMac::backButtonRect):
+        (WebCore::ScrollbarThemeMac::forwardButtonRect):
+        (WebCore::ScrollbarThemeMac::trackRect):
+        (WebCore::ScrollbarThemeMac::minimumThumbLength):
+        (WebCore::ScrollbarThemeMac::shouldCenterOnThumb):
+        (WebCore::ScrollbarThemeMac::shouldDragDocumentInsteadOfThumb):
+        (WebCore::ScrollbarThemeMac::updateEnabledState):
+        (WebCore::ScrollbarThemeMac::setPaintCharacteristicsForScrollbar):
+        (WebCore::ScrollbarThemeMac::paint):
+        * platform/mock/ScrollbarThemeMock.cpp:
+        (WebCore::ScrollbarThemeMock::trackRect):
+        (WebCore::ScrollbarThemeMock::paintTrackBackground):
+        (WebCore::ScrollbarThemeMock::paintThumb):
+        * platform/mock/ScrollbarThemeMock.h:
+        (WebCore::ScrollbarThemeMock::hasButtons): Deleted.
+        (WebCore::ScrollbarThemeMock::hasThumb): Deleted.
+        (WebCore::ScrollbarThemeMock::backButtonRect): Deleted.
+        (WebCore::ScrollbarThemeMock::forwardButtonRect): Deleted.
+        (WebCore::ScrollbarThemeMock::maxOverlapBetweenPages): Deleted.
+        (WebCore::ScrollbarThemeMock::isMockTheme): Deleted.
+        * platform/win/ScrollbarThemeSafari.cpp:
+        (WebCore::ScrollbarThemeSafari::hasButtons):
+        (WebCore::ScrollbarThemeSafari::hasThumb):
+        (WebCore::ScrollbarThemeSafari::backButtonRect):
+        (WebCore::ScrollbarThemeSafari::forwardButtonRect):
+        (WebCore::ScrollbarThemeSafari::trackRect):
+        (WebCore::ScrollbarThemeSafari::minimumThumbLength):
+        (WebCore::ScrollbarThemeSafari::shouldCenterOnThumb):
+        (WebCore::ScrollbarThemeSafari::paintTrackBackground):
+        (WebCore::ScrollbarThemeSafari::paintButton):
+        (WebCore::ScrollbarThemeSafari::paintThumb):
+        * platform/win/ScrollbarThemeSafari.h:
+        * platform/win/ScrollbarThemeWin.cpp:
+        (WebCore::ScrollbarThemeWin::hasThumb):
+        (WebCore::ScrollbarThemeWin::backButtonRect):
+        (WebCore::ScrollbarThemeWin::forwardButtonRect):
+        (WebCore::ScrollbarThemeWin::trackRect):
+        (WebCore::ScrollbarThemeWin::shouldCenterOnThumb):
+        (WebCore::ScrollbarThemeWin::shouldSnapBackToDragOrigin):
+        (WebCore::ScrollbarThemeWin::paintTrackBackground):
+        (WebCore::ScrollbarThemeWin::paintTrackPiece):
+        (WebCore::ScrollbarThemeWin::paintButton):
+        (WebCore::paintGripper):
+        (WebCore::ScrollbarThemeWin::paintThumb):
+        * platform/win/ScrollbarThemeWin.h:
+        * rendering/RenderScrollbar.h:
+        (isType):
+        * rendering/RenderScrollbarPart.cpp:
+        (WebCore::RenderScrollbarPart::styleDidChange):
+        (WebCore::RenderScrollbarPart::imageChanged):
+        * rendering/RenderScrollbarTheme.cpp:
+        (WebCore::RenderScrollbarTheme::buttonSizesAlongTrackAxis):
+        (WebCore::RenderScrollbarTheme::hasButtons):
+        (WebCore::RenderScrollbarTheme::hasThumb):
+        (WebCore::RenderScrollbarTheme::minimumThumbLength):
+        (WebCore::RenderScrollbarTheme::backButtonRect):
+        (WebCore::RenderScrollbarTheme::forwardButtonRect):
+        (WebCore::RenderScrollbarTheme::trackRect):
+        (WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces):
+        (WebCore::RenderScrollbarTheme::willPaintScrollbar):
+        (WebCore::RenderScrollbarTheme::didPaintScrollbar):
+        (WebCore::RenderScrollbarTheme::paintScrollbarBackground):
+        (WebCore::RenderScrollbarTheme::paintTrackBackground):
+        (WebCore::RenderScrollbarTheme::paintTrackPiece):
+        (WebCore::RenderScrollbarTheme::paintButton):
+        (WebCore::RenderScrollbarTheme::paintThumb):
+        (WebCore::RenderScrollbarTheme::paintTickmarks):
+        * rendering/RenderScrollbarTheme.h:
+
</ins><span class="cx"> 2015-06-24  Matt Rajca  &lt;mrajca@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         MediaSession: fall back to &quot;content&quot; kind when an unsupported media session kind is passed in
</span></span></pre></div>
<a id="trunkSourceWebCorepagescrollingmacScrollingStateFrameScrollingNodeMacmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/scrolling/mac/ScrollingStateFrameScrollingNodeMac.mm (185963 => 185964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/scrolling/mac/ScrollingStateFrameScrollingNodeMac.mm        2015-06-25 21:44:13 UTC (rev 185963)
+++ trunk/Source/WebCore/page/scrolling/mac/ScrollingStateFrameScrollingNodeMac.mm        2015-06-25 22:03:25 UTC (rev 185964)
</span><span class="lines">@@ -43,9 +43,9 @@
</span><span class="cx">     ScrollbarThemeMac* macTheme = static_cast&lt;ScrollbarThemeMac*&gt;(scrollbarTheme);
</span><span class="cx"> 
</span><span class="cx">     ScrollbarPainter verticalPainter = verticalScrollbar &amp;&amp; verticalScrollbar-&gt;supportsUpdateOnSecondaryThread()
</span><del>-        ? macTheme-&gt;painterForScrollbar(verticalScrollbar) : 0;
</del><ins>+        ? macTheme-&gt;painterForScrollbar(*verticalScrollbar) : nullptr;
</ins><span class="cx">     ScrollbarPainter horizontalPainter = horizontalScrollbar &amp;&amp; horizontalScrollbar-&gt;supportsUpdateOnSecondaryThread()
</span><del>-        ? macTheme-&gt;painterForScrollbar(horizontalScrollbar) : 0;
</del><ins>+        ? macTheme-&gt;painterForScrollbar(*horizontalScrollbar) : nullptr;
</ins><span class="cx"> 
</span><span class="cx">     if (m_verticalScrollbarPainter == verticalPainter &amp;&amp; m_horizontalScrollbarPainter == horizontalPainter)
</span><span class="cx">         return;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformScrollableAreacpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/ScrollableArea.cpp (185963 => 185964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/ScrollableArea.cpp        2015-06-25 21:44:13 UTC (rev 185963)
+++ trunk/Source/WebCore/platform/ScrollableArea.cpp        2015-06-25 22:03:25 UTC (rev 185964)
</span><span class="lines">@@ -339,14 +339,14 @@
</span><span class="cx">     m_scrollbarOverlayStyle = overlayStyle;
</span><span class="cx"> 
</span><span class="cx">     if (horizontalScrollbar()) {
</span><del>-        ScrollbarTheme::theme()-&gt;updateScrollbarOverlayStyle(horizontalScrollbar());
</del><ins>+        ScrollbarTheme::theme()-&gt;updateScrollbarOverlayStyle(*horizontalScrollbar());
</ins><span class="cx">         horizontalScrollbar()-&gt;invalidate();
</span><span class="cx">         if (ScrollAnimator* scrollAnimator = existingScrollAnimator())
</span><span class="cx">             scrollAnimator-&gt;invalidateScrollbarPartLayers(horizontalScrollbar());
</span><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     if (verticalScrollbar()) {
</span><del>-        ScrollbarTheme::theme()-&gt;updateScrollbarOverlayStyle(verticalScrollbar());
</del><ins>+        ScrollbarTheme::theme()-&gt;updateScrollbarOverlayStyle(*verticalScrollbar());
</ins><span class="cx">         verticalScrollbar()-&gt;invalidate();
</span><span class="cx">         if (ScrollAnimator* scrollAnimator = existingScrollAnimator())
</span><span class="cx">             scrollAnimator-&gt;invalidateScrollbarPartLayers(verticalScrollbar());
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformScrollbarcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/Scrollbar.cpp (185963 => 185964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/Scrollbar.cpp        2015-06-25 21:44:13 UTC (rev 185963)
+++ trunk/Source/WebCore/platform/Scrollbar.cpp        2015-06-25 22:03:25 UTC (rev 185964)
</span><span class="lines">@@ -85,7 +85,7 @@
</span><span class="cx">     if (!m_theme)
</span><span class="cx">         m_theme = ScrollbarTheme::theme();
</span><span class="cx"> 
</span><del>-    m_theme-&gt;registerScrollbar(this);
</del><ins>+    m_theme-&gt;registerScrollbar(*this);
</ins><span class="cx"> 
</span><span class="cx">     // FIXME: This is ugly and would not be necessary if we fix cross-platform code to actually query for
</span><span class="cx">     // scrollbar thickness and use it when sizing scrollbars (rather than leaving one dimension of the scrollbar
</span><span class="lines">@@ -100,7 +100,7 @@
</span><span class="cx"> {
</span><span class="cx">     stopTimerIfNeeded();
</span><span class="cx">     
</span><del>-    m_theme-&gt;unregisterScrollbar(this);
</del><ins>+    m_theme-&gt;unregisterScrollbar(*this);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> ScrollbarOverlayStyle Scrollbar::scrollbarOverlayStyle() const
</span><span class="lines">@@ -124,11 +124,11 @@
</span><span class="cx">     if (position == m_currentPos)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    int oldThumbPosition = theme()-&gt;thumbPosition(this);
</del><ins>+    int oldThumbPosition = theme()-&gt;thumbPosition(*this);
</ins><span class="cx">     m_currentPos = position;
</span><span class="cx">     updateThumbPosition();
</span><span class="cx">     if (m_pressedPart == ThumbPart)
</span><del>-        setPressedPos(m_pressedPos + theme()-&gt;thumbPosition(this) - oldThumbPosition);    
</del><ins>+        setPressedPos(m_pressedPos + theme()-&gt;thumbPosition(*this) - oldThumbPosition);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void Scrollbar::setProportion(int visibleSize, int totalSize)
</span><span class="lines">@@ -154,7 +154,7 @@
</span><span class="cx"> #ifdef THUMB_POSITION_AFFECTS_BUTTONS
</span><span class="cx">     invalidate();
</span><span class="cx"> #else
</span><del>-    theme()-&gt;invalidateParts(this, ForwardTrackPart | BackTrackPart | ThumbPart);
</del><ins>+    theme()-&gt;invalidateParts(*this, ForwardTrackPart | BackTrackPart | ThumbPart);
</ins><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -178,7 +178,7 @@
</span><span class="cx">     if (context-&gt;paintingDisabled() || !frameRect().intersects(damageRect))
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    if (!theme()-&gt;paint(this, context, damageRect))
</del><ins>+    if (!theme()-&gt;paint(*this, *context, damageRect))
</ins><span class="cx">         Widget::paint(context, damageRect);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -189,8 +189,8 @@
</span><span class="cx"> 
</span><span class="cx"> static bool thumbUnderMouse(Scrollbar* scrollbar)
</span><span class="cx"> {
</span><del>-    int thumbPos = scrollbar-&gt;theme()-&gt;trackPosition(scrollbar) + scrollbar-&gt;theme()-&gt;thumbPosition(scrollbar);
-    int thumbLength = scrollbar-&gt;theme()-&gt;thumbLength(scrollbar);
</del><ins>+    int thumbPos = scrollbar-&gt;theme()-&gt;trackPosition(*scrollbar) + scrollbar-&gt;theme()-&gt;thumbPosition(*scrollbar);
+    int thumbLength = scrollbar-&gt;theme()-&gt;thumbLength(*scrollbar);
</ins><span class="cx">     return scrollbar-&gt;pressedPos() &gt;= thumbPos &amp;&amp; scrollbar-&gt;pressedPos() &lt; thumbPos + thumbLength;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -202,7 +202,7 @@
</span><span class="cx"> 
</span><span class="cx">     // Handle the track.
</span><span class="cx">     if ((m_pressedPart == BackTrackPart || m_pressedPart == ForwardTrackPart) &amp;&amp; thumbUnderMouse(this)) {
</span><del>-        theme()-&gt;invalidatePart(this, m_pressedPart);
</del><ins>+        theme()-&gt;invalidatePart(*this, m_pressedPart);
</ins><span class="cx">         setHoveredPart(ThumbPart);
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="lines">@@ -221,7 +221,7 @@
</span><span class="cx">     // Handle the track.  We halt track scrolling once the thumb is level
</span><span class="cx">     // with us.
</span><span class="cx">     if ((m_pressedPart == BackTrackPart || m_pressedPart == ForwardTrackPart) &amp;&amp; thumbUnderMouse(this)) {
</span><del>-        theme()-&gt;invalidatePart(this, m_pressedPart);
</del><ins>+        theme()-&gt;invalidatePart(*this, m_pressedPart);
</ins><span class="cx">         setHoveredPart(ThumbPart);
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="lines">@@ -290,9 +290,9 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     // Drag the thumb.
</span><del>-    int thumbPos = theme()-&gt;thumbPosition(this);
-    int thumbLen = theme()-&gt;thumbLength(this);
-    int trackLen = theme()-&gt;trackLength(this);
</del><ins>+    int thumbPos = theme()-&gt;thumbPosition(*this);
+    int thumbLen = theme()-&gt;thumbLength(*this);
+    int trackLen = theme()-&gt;trackLength(*this);
</ins><span class="cx">     int maxPos = trackLen - thumbLen;
</span><span class="cx">     if (delta &gt; 0)
</span><span class="cx">         delta = std::min(maxPos - thumbPos, delta);
</span><span class="lines">@@ -313,8 +313,8 @@
</span><span class="cx">     if ((m_hoveredPart == NoPart || part == NoPart) &amp;&amp; theme()-&gt;invalidateOnMouseEnterExit())
</span><span class="cx">         invalidate();  // Just invalidate the whole scrollbar, since the buttons at either end change anyway.
</span><span class="cx">     else if (m_pressedPart == NoPart) {  // When there's a pressed part, we don't draw a hovered state, so there's no reason to invalidate.
</span><del>-        theme()-&gt;invalidatePart(this, part);
-        theme()-&gt;invalidatePart(this, m_hoveredPart);
</del><ins>+        theme()-&gt;invalidatePart(*this, part);
+        theme()-&gt;invalidatePart(*this, m_hoveredPart);
</ins><span class="cx">     }
</span><span class="cx">     m_hoveredPart = part;
</span><span class="cx"> }
</span><span class="lines">@@ -322,24 +322,24 @@
</span><span class="cx"> void Scrollbar::setPressedPart(ScrollbarPart part)
</span><span class="cx"> {
</span><span class="cx">     if (m_pressedPart != NoPart)
</span><del>-        theme()-&gt;invalidatePart(this, m_pressedPart);
</del><ins>+        theme()-&gt;invalidatePart(*this, m_pressedPart);
</ins><span class="cx">     m_pressedPart = part;
</span><span class="cx">     if (m_pressedPart != NoPart)
</span><del>-        theme()-&gt;invalidatePart(this, m_pressedPart);
</del><ins>+        theme()-&gt;invalidatePart(*this, m_pressedPart);
</ins><span class="cx">     else if (m_hoveredPart != NoPart)  // When we no longer have a pressed part, we can start drawing a hovered state on the hovered part.
</span><del>-        theme()-&gt;invalidatePart(this, m_hoveredPart);
</del><ins>+        theme()-&gt;invalidatePart(*this, m_hoveredPart);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #if !PLATFORM(IOS)
</span><span class="cx"> bool Scrollbar::mouseMoved(const PlatformMouseEvent&amp; evt)
</span><span class="cx"> {
</span><span class="cx">     if (m_pressedPart == ThumbPart) {
</span><del>-        if (theme()-&gt;shouldSnapBackToDragOrigin(this, evt))
</del><ins>+        if (theme()-&gt;shouldSnapBackToDragOrigin(*this, evt))
</ins><span class="cx">             m_scrollableArea.scrollToOffsetWithoutAnimation(m_orientation, m_dragOrigin);
</span><span class="cx">         else {
</span><span class="cx">             moveThumb(m_orientation == HorizontalScrollbar ? 
</span><span class="cx">                       convertFromContainingWindow(evt.position()).x() :
</span><del>-                      convertFromContainingWindow(evt.position()).y(), theme()-&gt;shouldDragDocumentInsteadOfThumb(this, evt));
</del><ins>+                      convertFromContainingWindow(evt.position()).y(), theme()-&gt;shouldDragDocumentInsteadOfThumb(*this, evt));
</ins><span class="cx">         }
</span><span class="cx">         return true;
</span><span class="cx">     }
</span><span class="lines">@@ -347,19 +347,19 @@
</span><span class="cx">     if (m_pressedPart != NoPart)
</span><span class="cx">         m_pressedPos = (orientation() == HorizontalScrollbar ? convertFromContainingWindow(evt.position()).x() : convertFromContainingWindow(evt.position()).y());
</span><span class="cx"> 
</span><del>-    ScrollbarPart part = theme()-&gt;hitTest(this, evt.position());
</del><ins>+    ScrollbarPart part = theme()-&gt;hitTest(*this, evt.position());
</ins><span class="cx">     if (part != m_hoveredPart) {
</span><span class="cx">         if (m_pressedPart != NoPart) {
</span><span class="cx">             if (part == m_pressedPart) {
</span><span class="cx">                 // The mouse is moving back over the pressed part.  We
</span><span class="cx">                 // need to start up the timer action again.
</span><span class="cx">                 startTimerIfNeeded(theme()-&gt;autoscrollTimerDelay());
</span><del>-                theme()-&gt;invalidatePart(this, m_pressedPart);
</del><ins>+                theme()-&gt;invalidatePart(*this, m_pressedPart);
</ins><span class="cx">             } else if (m_hoveredPart == m_pressedPart) {
</span><span class="cx">                 // The mouse is leaving the pressed part.  Kill our timer
</span><span class="cx">                 // if needed.
</span><span class="cx">                 stopTimerIfNeeded();
</span><del>-                theme()-&gt;invalidatePart(this, m_pressedPart);
</del><ins>+                theme()-&gt;invalidatePart(*this, m_pressedPart);
</ins><span class="cx">             }
</span><span class="cx">         } 
</span><span class="cx">         
</span><span class="lines">@@ -391,7 +391,7 @@
</span><span class="cx"> 
</span><span class="cx">     // m_hoveredPart won't be updated until the next mouseMoved or mouseDown, so we have to hit test
</span><span class="cx">     // to really know if the mouse has exited the scrollbar on a mouseUp.
</span><del>-    ScrollbarPart part = theme()-&gt;hitTest(this, mouseEvent.position());
</del><ins>+    ScrollbarPart part = theme()-&gt;hitTest(*this, mouseEvent.position());
</ins><span class="cx">     if (part == NoPart)
</span><span class="cx">         m_scrollableArea.mouseExitedScrollbar(this);
</span><span class="cx"> 
</span><span class="lines">@@ -404,18 +404,18 @@
</span><span class="cx">     if (evt.button() == RightButton)
</span><span class="cx">         return true; // FIXME: Handled as context menu by Qt right now.  Should just avoid even calling this method on a right click though.
</span><span class="cx"> 
</span><del>-    setPressedPart(theme()-&gt;hitTest(this, evt.position()));
</del><ins>+    setPressedPart(theme()-&gt;hitTest(*this, evt.position()));
</ins><span class="cx">     int pressedPos = (orientation() == HorizontalScrollbar ? convertFromContainingWindow(evt.position()).x() : convertFromContainingWindow(evt.position()).y());
</span><span class="cx">     
</span><del>-    if ((m_pressedPart == BackTrackPart || m_pressedPart == ForwardTrackPart) &amp;&amp; theme()-&gt;shouldCenterOnThumb(this, evt)) {
</del><ins>+    if ((m_pressedPart == BackTrackPart || m_pressedPart == ForwardTrackPart) &amp;&amp; theme()-&gt;shouldCenterOnThumb(*this, evt)) {
</ins><span class="cx">         setHoveredPart(ThumbPart);
</span><span class="cx">         setPressedPart(ThumbPart);
</span><span class="cx">         m_dragOrigin = m_currentPos;
</span><del>-        int thumbLen = theme()-&gt;thumbLength(this);
</del><ins>+        int thumbLen = theme()-&gt;thumbLength(*this);
</ins><span class="cx">         int desiredPos = pressedPos;
</span><span class="cx">         // Set the pressed position to the middle of the thumb so that when we do the move, the delta
</span><span class="cx">         // will be from the current pixel position of the thumb to the new desired position for the thumb.
</span><del>-        m_pressedPos = theme()-&gt;trackPosition(this) + theme()-&gt;thumbPosition(this) + thumbLen / 2;
</del><ins>+        m_pressedPos = theme()-&gt;trackPosition(*this) + theme()-&gt;thumbPosition(*this) + thumbLen / 2;
</ins><span class="cx">         moveThumb(desiredPos);
</span><span class="cx">         return true;
</span><span class="cx">     } else if (m_pressedPart == ThumbPart)
</span><span class="lines">@@ -432,7 +432,7 @@
</span><span class="cx">     if (m_enabled == e)
</span><span class="cx">         return;
</span><span class="cx">     m_enabled = e;
</span><del>-    theme()-&gt;updateEnabledState(this);
</del><ins>+    theme()-&gt;updateEnabledState(*this);
</ins><span class="cx">     invalidate();
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformScrollbarThemeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/ScrollbarTheme.h (185963 => 185964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/ScrollbarTheme.h        2015-06-25 21:44:13 UTC (rev 185963)
+++ trunk/Source/WebCore/platform/ScrollbarTheme.h        2015-06-25 22:03:25 UTC (rev 185964)
</span><span class="lines">@@ -33,6 +33,7 @@
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> class PlatformMouseEvent;
</span><ins>+class Scrollbar;
</ins><span class="cx"> class ScrollbarThemeClient;
</span><span class="cx"> class ScrollView;
</span><span class="cx"> 
</span><span class="lines">@@ -46,10 +47,10 @@
</span><span class="cx">     ScrollbarTheme() { }
</span><span class="cx">     virtual ~ScrollbarTheme() {};
</span><span class="cx"> 
</span><del>-    virtual void updateEnabledState(ScrollbarThemeClient*) { };
</del><ins>+    virtual void updateEnabledState(Scrollbar&amp;) { }
</ins><span class="cx"> 
</span><del>-    virtual bool paint(ScrollbarThemeClient*, GraphicsContext*, const IntRect&amp; /*damageRect*/) { return false; }
-    virtual ScrollbarPart hitTest(ScrollbarThemeClient*, const IntPoint&amp;) { return NoPart; }
</del><ins>+    virtual bool paint(Scrollbar&amp;, GraphicsContext&amp;, const IntRect&amp; /*damageRect*/) { return false; }
+    virtual ScrollbarPart hitTest(Scrollbar&amp;, const IntPoint&amp;) { return NoPart; }
</ins><span class="cx">     
</span><span class="cx">     virtual int scrollbarThickness(ScrollbarControlSize = RegularScrollbar) { return 0; }
</span><span class="cx"> 
</span><span class="lines">@@ -58,13 +59,13 @@
</span><span class="cx">     virtual bool supportsControlTints() const { return false; }
</span><span class="cx">     virtual bool usesOverlayScrollbars() const { return false; }
</span><span class="cx">     virtual void usesOverlayScrollbarsChanged() { }
</span><del>-    virtual void updateScrollbarOverlayStyle(ScrollbarThemeClient*) { }
</del><ins>+    virtual void updateScrollbarOverlayStyle(Scrollbar&amp;) { }
</ins><span class="cx"> 
</span><span class="cx">     virtual void themeChanged() {}
</span><span class="cx">     
</span><span class="cx">     virtual bool invalidateOnMouseEnterExit() { return false; }
</span><span class="cx"> 
</span><del>-    void invalidateParts(ScrollbarThemeClient* scrollbar, ScrollbarControlPartMask mask)
</del><ins>+    void invalidateParts(Scrollbar&amp; scrollbar, ScrollbarControlPartMask mask)
</ins><span class="cx">     {
</span><span class="cx">         if (mask &amp; BackButtonStartPart)
</span><span class="cx">             invalidatePart(scrollbar, BackButtonStartPart);
</span><span class="lines">@@ -82,12 +83,12 @@
</span><span class="cx">             invalidatePart(scrollbar, ForwardButtonEndPart);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    virtual void invalidatePart(ScrollbarThemeClient*, ScrollbarPart) { }
</del><ins>+    virtual void invalidatePart(Scrollbar&amp;, ScrollbarPart) { }
</ins><span class="cx"> 
</span><span class="cx">     virtual void paintScrollCorner(ScrollView*, GraphicsContext* context, const IntRect&amp; cornerRect) { defaultPaintScrollCorner(context, cornerRect); }
</span><span class="cx">     static void defaultPaintScrollCorner(GraphicsContext* context, const IntRect&amp; cornerRect) { context-&gt;fillRect(cornerRect, Color::white, ColorSpaceDeviceRGB); }
</span><span class="cx"> 
</span><del>-    virtual void paintTickmarks(GraphicsContext*, ScrollbarThemeClient*, const IntRect&amp;) { }
</del><ins>+    virtual void paintTickmarks(GraphicsContext&amp;, Scrollbar&amp;, const IntRect&amp;) { }
</ins><span class="cx">     virtual void paintOverhangAreas(ScrollView*, GraphicsContext*, const IntRect&amp;, const IntRect&amp;, const IntRect&amp;) { }
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(RUBBER_BANDING)
</span><span class="lines">@@ -95,21 +96,21 @@
</span><span class="cx">     virtual void setUpContentShadowLayer(GraphicsLayer*) { }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    virtual bool shouldCenterOnThumb(ScrollbarThemeClient*, const PlatformMouseEvent&amp;) { return false; }
-    virtual bool shouldSnapBackToDragOrigin(ScrollbarThemeClient*, const PlatformMouseEvent&amp;) { return false; }
-    virtual bool shouldDragDocumentInsteadOfThumb(ScrollbarThemeClient*, const PlatformMouseEvent&amp;) { return false; }
-    virtual int thumbPosition(ScrollbarThemeClient*) { return 0; } // The position of the thumb relative to the track.
-    virtual int thumbLength(ScrollbarThemeClient*) { return 0; } // The length of the thumb along the axis of the scrollbar.
-    virtual int trackPosition(ScrollbarThemeClient*) { return 0; } // The position of the track relative to the scrollbar.
-    virtual int trackLength(ScrollbarThemeClient*) { return 0; } // The length of the track along the axis of the scrollbar.
</del><ins>+    virtual bool shouldCenterOnThumb(Scrollbar&amp;, const PlatformMouseEvent&amp;) { return false; }
+    virtual bool shouldSnapBackToDragOrigin(Scrollbar&amp;, const PlatformMouseEvent&amp;) { return false; }
+    virtual bool shouldDragDocumentInsteadOfThumb(Scrollbar&amp;, const PlatformMouseEvent&amp;) { return false; }
+    virtual int thumbPosition(Scrollbar&amp;) { return 0; } // The position of the thumb relative to the track.
+    virtual int thumbLength(Scrollbar&amp;) { return 0; } // The length of the thumb along the axis of the scrollbar.
+    virtual int trackPosition(Scrollbar&amp;) { return 0; } // The position of the track relative to the scrollbar.
+    virtual int trackLength(Scrollbar&amp;) { return 0; } // The length of the track along the axis of the scrollbar.
</ins><span class="cx"> 
</span><span class="cx">     virtual int maxOverlapBetweenPages() { return std::numeric_limits&lt;int&gt;::max(); }
</span><span class="cx"> 
</span><span class="cx">     virtual double initialAutoscrollTimerDelay() { return 0.25; }
</span><span class="cx">     virtual double autoscrollTimerDelay() { return 0.05; }
</span><span class="cx"> 
</span><del>-    virtual void registerScrollbar(ScrollbarThemeClient*) { }
-    virtual void unregisterScrollbar(ScrollbarThemeClient*) { }
</del><ins>+    virtual void registerScrollbar(Scrollbar&amp;) { }
+    virtual void unregisterScrollbar(Scrollbar&amp;) { }
</ins><span class="cx"> 
</span><span class="cx">     virtual bool isMockTheme() const { return false; }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformScrollbarThemeCompositecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/ScrollbarThemeComposite.cpp (185963 => 185964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/ScrollbarThemeComposite.cpp        2015-06-25 21:44:13 UTC (rev 185963)
+++ trunk/Source/WebCore/platform/ScrollbarThemeComposite.cpp        2015-06-25 22:03:25 UTC (rev 185964)
</span><span class="lines">@@ -27,11 +27,11 @@
</span><span class="cx"> #include &quot;ScrollbarThemeComposite.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #include &quot;GraphicsContext.h&quot;
</span><del>-#include &quot;ScrollbarThemeClient.h&quot;
</del><ins>+#include &quot;Scrollbar.h&quot;
</ins><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-bool ScrollbarThemeComposite::paint(ScrollbarThemeClient* scrollbar, GraphicsContext* graphicsContext, const IntRect&amp; damageRect)
</del><ins>+bool ScrollbarThemeComposite::paint(Scrollbar&amp; scrollbar, GraphicsContext&amp; graphicsContext, const IntRect&amp; damageRect)
</ins><span class="cx"> {
</span><span class="cx">     // Create the ScrollbarControlPartMask based on the damageRect
</span><span class="cx">     ScrollbarControlPartMask scrollMask = NoPart;
</span><span class="lines">@@ -109,16 +109,16 @@
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ScrollbarPart ScrollbarThemeComposite::hitTest(ScrollbarThemeClient* scrollbar, const IntPoint&amp; position)
</del><ins>+ScrollbarPart ScrollbarThemeComposite::hitTest(Scrollbar&amp; scrollbar, const IntPoint&amp; position)
</ins><span class="cx"> {
</span><span class="cx">     ScrollbarPart result = NoPart;
</span><del>-    if (!scrollbar-&gt;enabled())
</del><ins>+    if (!scrollbar.enabled())
</ins><span class="cx">         return result;
</span><span class="cx"> 
</span><del>-    IntPoint testPosition = scrollbar-&gt;convertFromContainingWindow(position);
-    testPosition.move(scrollbar-&gt;x(), scrollbar-&gt;y());
</del><ins>+    IntPoint testPosition = scrollbar.convertFromContainingWindow(position);
+    testPosition.move(scrollbar.x(), scrollbar.y());
</ins><span class="cx">     
</span><del>-    if (!scrollbar-&gt;frameRect().contains(testPosition))
</del><ins>+    if (!scrollbar.frameRect().contains(testPosition))
</ins><span class="cx">         return NoPart;
</span><span class="cx"> 
</span><span class="cx">     result = ScrollbarBGPart;
</span><span class="lines">@@ -148,7 +148,7 @@
</span><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ScrollbarThemeComposite::invalidatePart(ScrollbarThemeClient* scrollbar, ScrollbarPart part)
</del><ins>+void ScrollbarThemeComposite::invalidatePart(Scrollbar&amp; scrollbar, ScrollbarPart part)
</ins><span class="cx"> {
</span><span class="cx">     if (part == NoPart)
</span><span class="cx">         return;
</span><span class="lines">@@ -171,7 +171,7 @@
</span><span class="cx">             result = trackRect(scrollbar, true);
</span><span class="cx">             break;
</span><span class="cx">         case ScrollbarBGPart:
</span><del>-            result = scrollbar-&gt;frameRect();
</del><ins>+            result = scrollbar.frameRect();
</ins><span class="cx">             break;
</span><span class="cx">         default: {
</span><span class="cx">             IntRect beforeThumbRect, thumbRect, afterThumbRect;
</span><span class="lines">@@ -184,19 +184,19 @@
</span><span class="cx">                 result = thumbRect;
</span><span class="cx">         }
</span><span class="cx">     }
</span><del>-    result.moveBy(-scrollbar-&gt;location());
-    scrollbar-&gt;invalidateRect(result);
</del><ins>+    result.moveBy(-scrollbar.location());
+    scrollbar.invalidateRect(result);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ScrollbarThemeComposite::splitTrack(ScrollbarThemeClient* scrollbar, const IntRect&amp; unconstrainedTrackRect, IntRect&amp; beforeThumbRect, IntRect&amp; thumbRect, IntRect&amp; afterThumbRect)
</del><ins>+void ScrollbarThemeComposite::splitTrack(Scrollbar&amp; scrollbar, const IntRect&amp; unconstrainedTrackRect, IntRect&amp; beforeThumbRect, IntRect&amp; thumbRect, IntRect&amp; afterThumbRect)
</ins><span class="cx"> {
</span><span class="cx">     // This function won't even get called unless we're big enough to have some combination of these three rects where at least
</span><span class="cx">     // one of them is non-empty.
</span><span class="cx">     IntRect trackRect = constrainTrackRectToTrackPieces(scrollbar, unconstrainedTrackRect);
</span><del>-    int thickness = scrollbar-&gt;orientation() == HorizontalScrollbar ? scrollbar-&gt;height() : scrollbar-&gt;width();
</del><ins>+    int thickness = scrollbar.orientation() == HorizontalScrollbar ? scrollbar.height() : scrollbar.width();
</ins><span class="cx">     int thumbPos = thumbPosition(scrollbar);
</span><del>-    if (scrollbar-&gt;orientation() == HorizontalScrollbar) {
-        thumbRect = IntRect(trackRect.x() + thumbPos, trackRect.y() + (trackRect.height() - thickness) / 2, thumbLength(scrollbar), thickness); 
</del><ins>+    if (scrollbar.orientation() == HorizontalScrollbar) {
+        thumbRect = IntRect(trackRect.x() + thumbPos, trackRect.y() + (trackRect.height() - thickness) / 2, thumbLength(scrollbar), thickness);
</ins><span class="cx">         beforeThumbRect = IntRect(trackRect.x(), trackRect.y(), thumbPos + thumbRect.width() / 2, trackRect.height()); 
</span><span class="cx">         afterThumbRect = IntRect(trackRect.x() + beforeThumbRect.width(), trackRect.y(), trackRect.maxX() - beforeThumbRect.maxX(), trackRect.height());
</span><span class="cx">     } else {
</span><span class="lines">@@ -208,33 +208,33 @@
</span><span class="cx"> 
</span><span class="cx"> // Returns the size represented by track taking into account scrolling past
</span><span class="cx"> // the end of the document.
</span><del>-static float usedTotalSize(ScrollbarThemeClient* scrollbar)
</del><ins>+static float usedTotalSize(Scrollbar&amp; scrollbar)
</ins><span class="cx"> {
</span><del>-    float overhangAtStart = -scrollbar-&gt;currentPos();
-    float overhangAtEnd = scrollbar-&gt;currentPos() + scrollbar-&gt;visibleSize() - scrollbar-&gt;totalSize();
</del><ins>+    float overhangAtStart = -scrollbar.currentPos();
+    float overhangAtEnd = scrollbar.currentPos() + scrollbar.visibleSize() - scrollbar.totalSize();
</ins><span class="cx">     float overhang = std::max(0.0f, std::max(overhangAtStart, overhangAtEnd));
</span><del>-    return scrollbar-&gt;totalSize() + overhang;
</del><ins>+    return scrollbar.totalSize() + overhang;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-int ScrollbarThemeComposite::thumbPosition(ScrollbarThemeClient* scrollbar)
</del><ins>+int ScrollbarThemeComposite::thumbPosition(Scrollbar&amp; scrollbar)
</ins><span class="cx"> {
</span><del>-    if (scrollbar-&gt;enabled()) {
-        float size = usedTotalSize(scrollbar) - scrollbar-&gt;visibleSize();
</del><ins>+    if (scrollbar.enabled()) {
+        float size = usedTotalSize(scrollbar) - scrollbar.visibleSize();
</ins><span class="cx">         // Avoid doing a floating point divide by zero and return 1 when usedTotalSize == visibleSize.
</span><span class="cx">         if (!size)
</span><span class="cx">             return 1;
</span><del>-        float pos = std::max(0.0f, scrollbar-&gt;currentPos()) * (trackLength(scrollbar) - thumbLength(scrollbar)) / size;
</del><ins>+        float pos = std::max(0.0f, scrollbar.currentPos()) * (trackLength(scrollbar) - thumbLength(scrollbar)) / size;
</ins><span class="cx">         return (pos &lt; 1 &amp;&amp; pos &gt; 0) ? 1 : pos;
</span><span class="cx">     }
</span><span class="cx">     return 0;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-int ScrollbarThemeComposite::thumbLength(ScrollbarThemeClient* scrollbar)
</del><ins>+int ScrollbarThemeComposite::thumbLength(Scrollbar&amp; scrollbar)
</ins><span class="cx"> {
</span><del>-    if (!scrollbar-&gt;enabled())
</del><ins>+    if (!scrollbar.enabled())
</ins><span class="cx">         return 0;
</span><span class="cx"> 
</span><del>-    float proportion = scrollbar-&gt;visibleSize() / usedTotalSize(scrollbar);
</del><ins>+    float proportion = scrollbar.visibleSize() / usedTotalSize(scrollbar);
</ins><span class="cx">     int trackLen = trackLength(scrollbar);
</span><span class="cx">     int length = round(proportion * trackLen);
</span><span class="cx">     length = std::max(length, minimumThumbLength(scrollbar));
</span><span class="lines">@@ -243,21 +243,21 @@
</span><span class="cx">     return length;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-int ScrollbarThemeComposite::minimumThumbLength(ScrollbarThemeClient* scrollbar)
</del><ins>+int ScrollbarThemeComposite::minimumThumbLength(Scrollbar&amp; scrollbar)
</ins><span class="cx"> {
</span><del>-    return scrollbarThickness(scrollbar-&gt;controlSize());
</del><ins>+    return scrollbarThickness(scrollbar.controlSize());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-int ScrollbarThemeComposite::trackPosition(ScrollbarThemeClient* scrollbar)
</del><ins>+int ScrollbarThemeComposite::trackPosition(Scrollbar&amp; scrollbar)
</ins><span class="cx"> {
</span><span class="cx">     IntRect constrainedTrackRect = constrainTrackRectToTrackPieces(scrollbar, trackRect(scrollbar));
</span><del>-    return (scrollbar-&gt;orientation() == HorizontalScrollbar) ? constrainedTrackRect.x() - scrollbar-&gt;x() : constrainedTrackRect.y() - scrollbar-&gt;y();
</del><ins>+    return (scrollbar.orientation() == HorizontalScrollbar) ? constrainedTrackRect.x() - scrollbar.x() : constrainedTrackRect.y() - scrollbar.y();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-int ScrollbarThemeComposite::trackLength(ScrollbarThemeClient* scrollbar)
</del><ins>+int ScrollbarThemeComposite::trackLength(Scrollbar&amp; scrollbar)
</ins><span class="cx"> {
</span><span class="cx">     IntRect constrainedTrackRect = constrainTrackRectToTrackPieces(scrollbar, trackRect(scrollbar));
</span><del>-    return (scrollbar-&gt;orientation() == HorizontalScrollbar) ? constrainedTrackRect.width() : constrainedTrackRect.height();
</del><ins>+    return (scrollbar.orientation() == HorizontalScrollbar) ? constrainedTrackRect.width() : constrainedTrackRect.height();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void ScrollbarThemeComposite::paintScrollCorner(ScrollView*, GraphicsContext* context, const IntRect&amp; cornerRect)
</span><span class="lines">@@ -265,7 +265,7 @@
</span><span class="cx">     context-&gt;fillRect(cornerRect, Color::white, ColorSpaceDeviceRGB);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-IntRect ScrollbarThemeComposite::thumbRect(ScrollbarThemeClient* scrollbar)
</del><ins>+IntRect ScrollbarThemeComposite::thumbRect(Scrollbar&amp; scrollbar)
</ins><span class="cx"> {
</span><span class="cx">     if (!hasThumb(scrollbar))
</span><span class="cx">         return IntRect();
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformScrollbarThemeCompositeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/ScrollbarThemeComposite.h (185963 => 185964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/ScrollbarThemeComposite.h        2015-06-25 21:44:13 UTC (rev 185963)
+++ trunk/Source/WebCore/platform/ScrollbarThemeComposite.h        2015-06-25 22:03:25 UTC (rev 185964)
</span><span class="lines">@@ -39,38 +39,38 @@
</span><span class="cx"> class ScrollbarThemeComposite : public ScrollbarTheme {
</span><span class="cx"> public:
</span><span class="cx">     // Implement ScrollbarTheme interface
</span><del>-    virtual bool paint(ScrollbarThemeClient*, GraphicsContext*, const IntRect&amp; damageRect);
-    virtual ScrollbarPart hitTest(ScrollbarThemeClient*, const IntPoint&amp;);
-    virtual void invalidatePart(ScrollbarThemeClient*, ScrollbarPart);
-    virtual int thumbPosition(ScrollbarThemeClient*);
-    virtual int thumbLength(ScrollbarThemeClient*);
-    virtual int trackPosition(ScrollbarThemeClient*);
-    virtual int trackLength(ScrollbarThemeClient*);
-    virtual void paintScrollCorner(ScrollView*, GraphicsContext*, const IntRect&amp; cornerRect);
-    virtual void paintOverhangAreas(ScrollView*, GraphicsContext*, const IntRect&amp; horizontalOverhangArea, const IntRect&amp; verticalOverhangArea, const IntRect&amp; dirtyRect);
</del><ins>+    virtual bool paint(Scrollbar&amp;, GraphicsContext&amp;, const IntRect&amp; damageRect) override;
+    virtual ScrollbarPart hitTest(Scrollbar&amp;, const IntPoint&amp;) override;
+    virtual void invalidatePart(Scrollbar&amp;, ScrollbarPart) override;
+    virtual int thumbPosition(Scrollbar&amp;) override;
+    virtual int thumbLength(Scrollbar&amp;) override;
+    virtual int trackPosition(Scrollbar&amp;) override;
+    virtual int trackLength(Scrollbar&amp;) override;
+    virtual void paintScrollCorner(ScrollView*, GraphicsContext*, const IntRect&amp; cornerRect) override;
+    virtual void paintOverhangAreas(ScrollView*, GraphicsContext*, const IntRect&amp; horizontalOverhangArea, const IntRect&amp; verticalOverhangArea, const IntRect&amp; dirtyRect) override;
</ins><span class="cx"> 
</span><del>-    virtual bool hasButtons(ScrollbarThemeClient*) = 0;
-    virtual bool hasThumb(ScrollbarThemeClient*) = 0;
</del><ins>+    virtual bool hasButtons(Scrollbar&amp;) = 0;
+    virtual bool hasThumb(Scrollbar&amp;) = 0;
</ins><span class="cx"> 
</span><del>-    virtual IntRect backButtonRect(ScrollbarThemeClient*, ScrollbarPart, bool painting = false) = 0;
-    virtual IntRect forwardButtonRect(ScrollbarThemeClient*, ScrollbarPart, bool painting = false) = 0;
-    virtual IntRect trackRect(ScrollbarThemeClient*, bool painting = false) = 0;
-    virtual IntRect thumbRect(ScrollbarThemeClient*);
</del><ins>+    virtual IntRect backButtonRect(Scrollbar&amp;, ScrollbarPart, bool painting = false) = 0;
+    virtual IntRect forwardButtonRect(Scrollbar&amp;, ScrollbarPart, bool painting = false) = 0;
+    virtual IntRect trackRect(Scrollbar&amp;, bool painting = false) = 0;
+    virtual IntRect thumbRect(Scrollbar&amp;);
</ins><span class="cx"> 
</span><del>-    virtual void splitTrack(ScrollbarThemeClient*, const IntRect&amp; track, IntRect&amp; startTrack, IntRect&amp; thumb, IntRect&amp; endTrack);
</del><ins>+    virtual void splitTrack(Scrollbar&amp;, const IntRect&amp; track, IntRect&amp; startTrack, IntRect&amp; thumb, IntRect&amp; endTrack);
</ins><span class="cx">     
</span><del>-    virtual int minimumThumbLength(ScrollbarThemeClient*);
</del><ins>+    virtual int minimumThumbLength(Scrollbar&amp;);
</ins><span class="cx"> 
</span><del>-    virtual void willPaintScrollbar(GraphicsContext*, ScrollbarThemeClient*) { }
-    virtual void didPaintScrollbar(GraphicsContext*, ScrollbarThemeClient*) { }
</del><ins>+    virtual void willPaintScrollbar(GraphicsContext&amp;, Scrollbar&amp;) { }
+    virtual void didPaintScrollbar(GraphicsContext&amp;, Scrollbar&amp;) { }
</ins><span class="cx"> 
</span><del>-    virtual void paintScrollbarBackground(GraphicsContext*, ScrollbarThemeClient*) { }
-    virtual void paintTrackBackground(GraphicsContext*, ScrollbarThemeClient*, const IntRect&amp;) { }
-    virtual void paintTrackPiece(GraphicsContext*, ScrollbarThemeClient*, const IntRect&amp;, ScrollbarPart) { }
-    virtual void paintButton(GraphicsContext*, ScrollbarThemeClient*, const IntRect&amp;, ScrollbarPart) { }
-    virtual void paintThumb(GraphicsContext*, ScrollbarThemeClient*, const IntRect&amp;) { }
</del><ins>+    virtual void paintScrollbarBackground(GraphicsContext&amp;, Scrollbar&amp;) { }
+    virtual void paintTrackBackground(GraphicsContext&amp;, Scrollbar&amp;, const IntRect&amp;) { }
+    virtual void paintTrackPiece(GraphicsContext&amp;, Scrollbar&amp;, const IntRect&amp;, ScrollbarPart) { }
+    virtual void paintButton(GraphicsContext&amp;, Scrollbar&amp;, const IntRect&amp;, ScrollbarPart) { }
+    virtual void paintThumb(GraphicsContext&amp;, Scrollbar&amp;, const IntRect&amp;) { }
</ins><span class="cx"> 
</span><del>-    virtual IntRect constrainTrackRectToTrackPieces(ScrollbarThemeClient*, const IntRect&amp; rect) { return rect; }
</del><ins>+    virtual IntRect constrainTrackRectToTrackPieces(Scrollbar&amp;, const IntRect&amp; rect) { return rect; }
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformeflScrollbarThemeEflh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/efl/ScrollbarThemeEfl.h (185963 => 185964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/efl/ScrollbarThemeEfl.h        2015-06-25 21:44:13 UTC (rev 185963)
+++ trunk/Source/WebCore/platform/efl/ScrollbarThemeEfl.h        2015-06-25 22:03:25 UTC (rev 185964)
</span><span class="lines">@@ -39,8 +39,8 @@
</span><span class="cx">     void setScrollbarThickness(int thickness) { m_scrollbarThickness = thickness; }
</span><span class="cx">     virtual int scrollbarThickness(ScrollbarControlSize = RegularScrollbar) override { return m_scrollbarThickness; }
</span><span class="cx"> 
</span><del>-    virtual void registerScrollbar(ScrollbarThemeClient*) override { }
-    virtual void unregisterScrollbar(ScrollbarThemeClient*) override { }
</del><ins>+    virtual void registerScrollbar(Scrollbar&amp;) override { }
+    virtual void unregisterScrollbar(Scrollbar&amp;) override { }
</ins><span class="cx"> private:
</span><span class="cx">     int m_scrollbarThickness;
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgtkScrollbarThemeGtkcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/gtk/ScrollbarThemeGtk.cpp (185963 => 185964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/gtk/ScrollbarThemeGtk.cpp        2015-06-25 21:44:13 UTC (rev 185963)
+++ trunk/Source/WebCore/platform/gtk/ScrollbarThemeGtk.cpp        2015-06-25 22:03:25 UTC (rev 185964)
</span><span class="lines">@@ -46,7 +46,7 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool ScrollbarThemeGtk::hasThumb(ScrollbarThemeClient* scrollbar)
</del><ins>+bool ScrollbarThemeGtk::hasThumb(Scrollbar&amp; scrollbar)
</ins><span class="cx"> {
</span><span class="cx"> #ifndef GTK_API_VERSION_2
</span><span class="cx">     // This method is just called as a paint-time optimization to see if
</span><span class="lines">@@ -58,7 +58,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-IntRect ScrollbarThemeGtk::backButtonRect(ScrollbarThemeClient* scrollbar, ScrollbarPart part, bool)
</del><ins>+IntRect ScrollbarThemeGtk::backButtonRect(Scrollbar&amp; scrollbar, ScrollbarPart part, bool)
</ins><span class="cx"> {
</span><span class="cx"> #ifndef GTK_API_VERSION_2
</span><span class="cx">     if (part == BackButtonEndPart &amp;&amp; !m_hasBackButtonEndPart)
</span><span class="lines">@@ -66,18 +66,18 @@
</span><span class="cx">     if (part == BackButtonStartPart &amp;&amp; !m_hasBackButtonStartPart)
</span><span class="cx">         return IntRect();
</span><span class="cx"> 
</span><del>-    int x = scrollbar-&gt;x() + m_troughBorderWidth;
-    int y = scrollbar-&gt;y() + m_troughBorderWidth;
</del><ins>+    int x = scrollbar.x() + m_troughBorderWidth;
+    int y = scrollbar.y() + m_troughBorderWidth;
</ins><span class="cx">     IntSize size = buttonSize(scrollbar);
</span><span class="cx">     if (part == BackButtonStartPart)
</span><span class="cx">         return IntRect(x, y, size.width(), size.height());
</span><span class="cx"> 
</span><span class="cx">     // BackButtonEndPart (alternate button)
</span><del>-    if (scrollbar-&gt;orientation() == HorizontalScrollbar)
-        return IntRect(scrollbar-&gt;x() + scrollbar-&gt;width() - m_troughBorderWidth - (2 * size.width()), y, size.width(), size.height());
</del><ins>+    if (scrollbar.orientation() == HorizontalScrollbar)
+        return IntRect(scrollbar.x() + scrollbar.width() - m_troughBorderWidth - (2 * size.width()), y, size.width(), size.height());
</ins><span class="cx"> 
</span><span class="cx">     // VerticalScrollbar alternate button
</span><del>-    return IntRect(x, scrollbar-&gt;y() + scrollbar-&gt;height() - m_troughBorderWidth - (2 * size.height()), size.width(), size.height());
</del><ins>+    return IntRect(x, scrollbar.y() + scrollbar.height() - m_troughBorderWidth - (2 * size.height()), size.width(), size.height());
</ins><span class="cx"> #else
</span><span class="cx">     UNUSED_PARAM(scrollbar);
</span><span class="cx">     UNUSED_PARAM(part);
</span><span class="lines">@@ -85,7 +85,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-IntRect ScrollbarThemeGtk::forwardButtonRect(ScrollbarThemeClient* scrollbar, ScrollbarPart part, bool)
</del><ins>+IntRect ScrollbarThemeGtk::forwardButtonRect(Scrollbar&amp; scrollbar, ScrollbarPart part, bool)
</ins><span class="cx"> {
</span><span class="cx"> #ifndef GTK_API_VERSION_2
</span><span class="cx">     if (part == ForwardButtonStartPart &amp;&amp; !m_hasForwardButtonStartPart)
</span><span class="lines">@@ -94,22 +94,22 @@
</span><span class="cx">         return IntRect();
</span><span class="cx"> 
</span><span class="cx">     IntSize size = buttonSize(scrollbar);
</span><del>-    if (scrollbar-&gt;orientation() == HorizontalScrollbar) {
-        int y = scrollbar-&gt;y() + m_troughBorderWidth;
</del><ins>+    if (scrollbar.orientation() == HorizontalScrollbar) {
+        int y = scrollbar.y() + m_troughBorderWidth;
</ins><span class="cx">         if (part == ForwardButtonEndPart)
</span><del>-            return IntRect(scrollbar-&gt;x() + scrollbar-&gt;width() - size.width() - m_troughBorderWidth, y, size.width(), size.height());
</del><ins>+            return IntRect(scrollbar.x() + scrollbar.width() - size.width() - m_troughBorderWidth, y, size.width(), size.height());
</ins><span class="cx"> 
</span><span class="cx">         // ForwardButtonStartPart (alternate button)
</span><del>-        return IntRect(scrollbar-&gt;x() + m_troughBorderWidth + size.width(), y, size.width(), size.height());
</del><ins>+        return IntRect(scrollbar.x() + m_troughBorderWidth + size.width(), y, size.width(), size.height());
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     // VerticalScrollbar
</span><del>-    int x = scrollbar-&gt;x() + m_troughBorderWidth;
</del><ins>+    int x = scrollbar.x() + m_troughBorderWidth;
</ins><span class="cx">     if (part == ForwardButtonEndPart)
</span><del>-        return IntRect(x, scrollbar-&gt;y() + scrollbar-&gt;height() - size.height() - m_troughBorderWidth, size.width(), size.height());
</del><ins>+        return IntRect(x, scrollbar.y() + scrollbar.height() - size.height() - m_troughBorderWidth, size.width(), size.height());
</ins><span class="cx"> 
</span><span class="cx">     // ForwardButtonStartPart (alternate button)
</span><del>-    return IntRect(x, scrollbar-&gt;y() + m_troughBorderWidth + size.height(), size.width(), size.height());
</del><ins>+    return IntRect(x, scrollbar.y() + m_troughBorderWidth + size.height(), size.width(), size.height());
</ins><span class="cx"> #else
</span><span class="cx">     UNUSED_PARAM(scrollbar);
</span><span class="cx">     UNUSED_PARAM(part);
</span><span class="lines">@@ -117,7 +117,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-IntRect ScrollbarThemeGtk::trackRect(ScrollbarThemeClient* scrollbar, bool)
</del><ins>+IntRect ScrollbarThemeGtk::trackRect(Scrollbar&amp; scrollbar, bool)
</ins><span class="cx"> {
</span><span class="cx"> #ifndef GTK_API_VERSION_2
</span><span class="cx">     // The padding along the thumb movement axis includes the trough border
</span><span class="lines">@@ -126,7 +126,7 @@
</span><span class="cx">     int movementAxisPadding = m_troughBorderWidth + m_stepperSpacing;
</span><span class="cx"> 
</span><span class="cx">     // The fatness of the scrollbar on the non-movement axis.
</span><del>-    int thickness = scrollbarThickness(scrollbar-&gt;controlSize());
</del><ins>+    int thickness = scrollbarThickness(scrollbar.controlSize());
</ins><span class="cx"> 
</span><span class="cx">     int startButtonsOffset = 0;
</span><span class="cx">     int buttonsWidth = 0;
</span><span class="lines">@@ -143,19 +143,19 @@
</span><span class="cx">     if (m_hasForwardButtonEndPart)
</span><span class="cx">         buttonsWidth += m_stepperSize;
</span><span class="cx"> 
</span><del>-    if (scrollbar-&gt;orientation() == HorizontalScrollbar) {
</del><ins>+    if (scrollbar.orientation() == HorizontalScrollbar) {
</ins><span class="cx">         // Once the scrollbar becomes smaller than the natural size of the
</span><span class="cx">         // two buttons, the track disappears.
</span><del>-        if (scrollbar-&gt;width() &lt; 2 * thickness)
</del><ins>+        if (scrollbar.width() &lt; 2 * thickness)
</ins><span class="cx">             return IntRect();
</span><del>-        return IntRect(scrollbar-&gt;x() + movementAxisPadding + startButtonsOffset, scrollbar-&gt;y(),
-                       scrollbar-&gt;width() - (2 * movementAxisPadding) - buttonsWidth, thickness);
</del><ins>+        return IntRect(scrollbar.x() + movementAxisPadding + startButtonsOffset, scrollbar.y(),
+                       scrollbar.width() - (2 * movementAxisPadding) - buttonsWidth, thickness);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    if (scrollbar-&gt;height() &lt; 2 * thickness)
</del><ins>+    if (scrollbar.height() &lt; 2 * thickness)
</ins><span class="cx">         return IntRect();
</span><del>-    return IntRect(scrollbar-&gt;x(), scrollbar-&gt;y() + movementAxisPadding + startButtonsOffset,
-                   thickness, scrollbar-&gt;height() - (2 * movementAxisPadding) - buttonsWidth);
</del><ins>+    return IntRect(scrollbar.x(), scrollbar.y() + movementAxisPadding + startButtonsOffset,
+                   thickness, scrollbar.height() - (2 * movementAxisPadding) - buttonsWidth);
</ins><span class="cx"> #else
</span><span class="cx">     UNUSED_PARAM(scrollbar);
</span><span class="cx">     return IntRect();
</span><span class="lines">@@ -221,7 +221,7 @@
</span><span class="cx">     updateScrollbarsFrameThickness();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-typedef HashSet&lt;ScrollbarThemeClient*&gt; ScrollbarMap;
</del><ins>+typedef HashSet&lt;Scrollbar*&gt; ScrollbarMap;
</ins><span class="cx"> 
</span><span class="cx"> static ScrollbarMap&amp; scrollbarMap()
</span><span class="cx"> {
</span><span class="lines">@@ -229,14 +229,14 @@
</span><span class="cx">     return map;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ScrollbarThemeGtk::registerScrollbar(ScrollbarThemeClient* scrollbar)
</del><ins>+void ScrollbarThemeGtk::registerScrollbar(Scrollbar&amp; scrollbar)
</ins><span class="cx"> {
</span><del>-    scrollbarMap().add(scrollbar);
</del><ins>+    scrollbarMap().add(&amp;scrollbar);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ScrollbarThemeGtk::unregisterScrollbar(ScrollbarThemeClient* scrollbar)
</del><ins>+void ScrollbarThemeGtk::unregisterScrollbar(Scrollbar&amp; scrollbar)
</ins><span class="cx"> {
</span><del>-    scrollbarMap().remove(scrollbar);
</del><ins>+    scrollbarMap().remove(&amp;scrollbar);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void ScrollbarThemeGtk::updateScrollbarsFrameThickness()
</span><span class="lines">@@ -261,11 +261,11 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-IntRect ScrollbarThemeGtk::thumbRect(ScrollbarThemeClient* scrollbar, const IntRect&amp; unconstrainedTrackRect)
</del><ins>+IntRect ScrollbarThemeGtk::thumbRect(Scrollbar&amp; scrollbar, const IntRect&amp; unconstrainedTrackRect)
</ins><span class="cx"> {
</span><span class="cx">     IntRect trackRect = constrainTrackRectToTrackPieces(scrollbar, unconstrainedTrackRect);
</span><span class="cx">     int thumbPos = thumbPosition(scrollbar);
</span><del>-    if (scrollbar-&gt;orientation() == HorizontalScrollbar)
</del><ins>+    if (scrollbar.orientation() == HorizontalScrollbar)
</ins><span class="cx">         return IntRect(trackRect.x() + thumbPos, trackRect.y() + (trackRect.height() - m_thumbFatness) / 2, thumbLength(scrollbar), m_thumbFatness); 
</span><span class="cx"> 
</span><span class="cx">     // VerticalScrollbar
</span><span class="lines">@@ -286,88 +286,88 @@
</span><span class="cx">     rect.contract(margin.left + margin.right, margin.top + margin.bottom);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ScrollbarThemeGtk::paintTrackBackground(GraphicsContext* context, ScrollbarThemeClient* scrollbar, const IntRect&amp; rect)
</del><ins>+void ScrollbarThemeGtk::paintTrackBackground(GraphicsContext&amp; context, Scrollbar&amp; scrollbar, const IntRect&amp; rect)
</ins><span class="cx"> {
</span><span class="cx">     // Paint the track background. If the trough-under-steppers property is true, this
</span><span class="cx">     // should be the full size of the scrollbar, but if is false, it should only be the
</span><span class="cx">     // track rect.
</span><span class="cx">     IntRect fullScrollbarRect(rect);
</span><span class="cx">     if (m_troughUnderSteppers)
</span><del>-        fullScrollbarRect = IntRect(scrollbar-&gt;x(), scrollbar-&gt;y(), scrollbar-&gt;width(), scrollbar-&gt;height());
</del><ins>+        fullScrollbarRect = IntRect(scrollbar.x(), scrollbar.y(), scrollbar.width(), scrollbar.height());
</ins><span class="cx"> 
</span><span class="cx">     GtkStyleContext* styleContext = gtkScrollbarStyleContext();
</span><span class="cx">     gtk_style_context_save(styleContext);
</span><span class="cx"> 
</span><del>-    applyScrollbarStyleContextClasses(styleContext, scrollbar-&gt;orientation());
</del><ins>+    applyScrollbarStyleContextClasses(styleContext, scrollbar.orientation());
</ins><span class="cx">     gtk_style_context_add_class(styleContext, GTK_STYLE_CLASS_TROUGH);
</span><span class="cx"> 
</span><span class="cx">     adjustRectAccordingToMargin(styleContext, static_cast&lt;GtkStateFlags&gt;(0), fullScrollbarRect);
</span><del>-    gtk_render_background(styleContext, context-&gt;platformContext()-&gt;cr(), fullScrollbarRect.x(), fullScrollbarRect.y(), fullScrollbarRect.width(), fullScrollbarRect.height());
-    gtk_render_frame(styleContext, context-&gt;platformContext()-&gt;cr(), fullScrollbarRect.x(), fullScrollbarRect.y(), fullScrollbarRect.width(), fullScrollbarRect.height());
</del><ins>+    gtk_render_background(styleContext, context.platformContext()-&gt;cr(), fullScrollbarRect.x(), fullScrollbarRect.y(), fullScrollbarRect.width(), fullScrollbarRect.height());
+    gtk_render_frame(styleContext, context.platformContext()-&gt;cr(), fullScrollbarRect.x(), fullScrollbarRect.y(), fullScrollbarRect.width(), fullScrollbarRect.height());
</ins><span class="cx"> 
</span><span class="cx">     gtk_style_context_restore(styleContext);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ScrollbarThemeGtk::paintScrollbarBackground(GraphicsContext* context, ScrollbarThemeClient* scrollbar)
</del><ins>+void ScrollbarThemeGtk::paintScrollbarBackground(GraphicsContext&amp; context, Scrollbar&amp; scrollbar)
</ins><span class="cx"> {
</span><span class="cx">     GtkStyleContext* styleContext = gtkScrollbarStyleContext();
</span><span class="cx">     gtk_style_context_save(styleContext);
</span><span class="cx"> 
</span><del>-    applyScrollbarStyleContextClasses(styleContext, scrollbar-&gt;orientation());
</del><ins>+    applyScrollbarStyleContextClasses(styleContext, scrollbar.orientation());
</ins><span class="cx">     gtk_style_context_add_class(styleContext, &quot;scrolled-window&quot;);
</span><del>-    gtk_render_frame(styleContext, context-&gt;platformContext()-&gt;cr(), scrollbar-&gt;x(), scrollbar-&gt;y(), scrollbar-&gt;width(), scrollbar-&gt;height());
</del><ins>+    gtk_render_frame(styleContext, context.platformContext()-&gt;cr(), scrollbar.x(), scrollbar.y(), scrollbar.width(), scrollbar.height());
</ins><span class="cx"> 
</span><span class="cx">     gtk_style_context_restore(styleContext);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ScrollbarThemeGtk::paintThumb(GraphicsContext* context, ScrollbarThemeClient* scrollbar, const IntRect&amp; rect)
</del><ins>+void ScrollbarThemeGtk::paintThumb(GraphicsContext&amp; context, Scrollbar&amp; scrollbar, const IntRect&amp; rect)
</ins><span class="cx"> {
</span><span class="cx">     GtkStyleContext* styleContext = gtkScrollbarStyleContext();
</span><span class="cx">     gtk_style_context_save(styleContext);
</span><span class="cx"> 
</span><del>-    ScrollbarOrientation orientation = scrollbar-&gt;orientation();
</del><ins>+    ScrollbarOrientation orientation = scrollbar.orientation();
</ins><span class="cx">     applyScrollbarStyleContextClasses(styleContext, orientation);
</span><span class="cx">     gtk_style_context_add_class(styleContext, GTK_STYLE_CLASS_SLIDER);
</span><span class="cx"> 
</span><span class="cx">     guint flags = 0;
</span><del>-    if (scrollbar-&gt;pressedPart() == ThumbPart)
</del><ins>+    if (scrollbar.pressedPart() == ThumbPart)
</ins><span class="cx">         flags |= GTK_STATE_FLAG_ACTIVE;
</span><del>-    if (scrollbar-&gt;hoveredPart() == ThumbPart)
</del><ins>+    if (scrollbar.hoveredPart() == ThumbPart)
</ins><span class="cx">         flags |= GTK_STATE_FLAG_PRELIGHT;
</span><span class="cx">     gtk_style_context_set_state(styleContext, static_cast&lt;GtkStateFlags&gt;(flags));
</span><span class="cx"> 
</span><span class="cx">     IntRect thumbRect(rect);
</span><span class="cx">     adjustRectAccordingToMargin(styleContext, static_cast&lt;GtkStateFlags&gt;(flags), thumbRect);
</span><del>-    gtk_render_slider(styleContext, context-&gt;platformContext()-&gt;cr(), thumbRect.x(), thumbRect.y(), thumbRect.width(), thumbRect.height(),
</del><ins>+    gtk_render_slider(styleContext, context.platformContext()-&gt;cr(), thumbRect.x(), thumbRect.y(), thumbRect.width(), thumbRect.height(),
</ins><span class="cx">         orientation == VerticalScrollbar ? GTK_ORIENTATION_VERTICAL : GTK_ORIENTATION_HORIZONTAL);
</span><span class="cx"> 
</span><span class="cx">     gtk_style_context_restore(styleContext);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ScrollbarThemeGtk::paintButton(GraphicsContext* context, ScrollbarThemeClient* scrollbar, const IntRect&amp; rect, ScrollbarPart part)
</del><ins>+void ScrollbarThemeGtk::paintButton(GraphicsContext&amp; context, Scrollbar&amp; scrollbar, const IntRect&amp; rect, ScrollbarPart part)
</ins><span class="cx"> {
</span><span class="cx">     GtkStyleContext* styleContext = gtkScrollbarStyleContext();
</span><span class="cx">     gtk_style_context_save(styleContext);
</span><span class="cx"> 
</span><del>-    ScrollbarOrientation orientation = scrollbar-&gt;orientation();
</del><ins>+    ScrollbarOrientation orientation = scrollbar.orientation();
</ins><span class="cx">     applyScrollbarStyleContextClasses(styleContext, orientation);
</span><span class="cx"> 
</span><span class="cx">     guint flags = 0;
</span><del>-    if ((BackButtonStartPart == part &amp;&amp; scrollbar-&gt;currentPos())
-        || (BackButtonEndPart == part &amp;&amp; scrollbar-&gt;currentPos())
-        || (ForwardButtonEndPart == part &amp;&amp; scrollbar-&gt;currentPos() != scrollbar-&gt;maximum())
-        || (ForwardButtonStartPart == part &amp;&amp; scrollbar-&gt;currentPos() != scrollbar-&gt;maximum())) {
-        if (part == scrollbar-&gt;pressedPart())
</del><ins>+    if ((BackButtonStartPart == part &amp;&amp; scrollbar.currentPos())
+        || (BackButtonEndPart == part &amp;&amp; scrollbar.currentPos())
+        || (ForwardButtonEndPart == part &amp;&amp; scrollbar.currentPos() != scrollbar.maximum())
+        || (ForwardButtonStartPart == part &amp;&amp; scrollbar.currentPos() != scrollbar.maximum())) {
+        if (part == scrollbar.pressedPart())
</ins><span class="cx">             flags |= GTK_STATE_FLAG_ACTIVE;
</span><del>-        if (part == scrollbar-&gt;hoveredPart())
</del><ins>+        if (part == scrollbar.hoveredPart())
</ins><span class="cx">             flags |= GTK_STATE_FLAG_PRELIGHT;
</span><span class="cx">     } else
</span><span class="cx">         flags |= GTK_STATE_FLAG_INSENSITIVE;
</span><span class="cx">     gtk_style_context_set_state(styleContext, static_cast&lt;GtkStateFlags&gt;(flags));
</span><span class="cx"> 
</span><span class="cx">     gtk_style_context_add_class(styleContext, GTK_STYLE_CLASS_BUTTON);
</span><del>-    gtk_render_background(styleContext, context-&gt;platformContext()-&gt;cr(), rect.x(), rect.y(), rect.width(), rect.height());
-    gtk_render_frame(styleContext, context-&gt;platformContext()-&gt;cr(), rect.x(), rect.y(), rect.width(), rect.height());
</del><ins>+    gtk_render_background(styleContext, context.platformContext()-&gt;cr(), rect.x(), rect.y(), rect.width(), rect.height());
+    gtk_render_frame(styleContext, context.platformContext()-&gt;cr(), rect.x(), rect.y(), rect.width(), rect.height());
</ins><span class="cx"> 
</span><span class="cx">     gfloat arrowScaling;
</span><span class="cx">     gtk_style_context_get_style(styleContext, &quot;arrow-scaling&quot;, &amp;arrowScaling, nullptr);
</span><span class="lines">@@ -389,14 +389,14 @@
</span><span class="cx">     else
</span><span class="cx">         angle = (part == ForwardButtonEndPart || part == ForwardButtonStartPart) ? G_PI / 2 : 3 * (G_PI / 2);
</span><span class="cx"> 
</span><del>-    gtk_render_arrow(styleContext, context-&gt;platformContext()-&gt;cr(), angle, arrowPoint.x(), arrowPoint.y(), arrowSize);
</del><ins>+    gtk_render_arrow(styleContext, context.platformContext()-&gt;cr(), angle, arrowPoint.x(), arrowPoint.y(), arrowSize);
</ins><span class="cx"> 
</span><span class="cx">     gtk_style_context_restore(styleContext);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool ScrollbarThemeGtk::paint(ScrollbarThemeClient* scrollbar, GraphicsContext* graphicsContext, const IntRect&amp; damageRect)
</del><ins>+bool ScrollbarThemeGtk::paint(Scrollbar&amp; scrollbar, GraphicsContext&amp; graphicsContext, const IntRect&amp; damageRect)
</ins><span class="cx"> {
</span><del>-    if (graphicsContext-&gt;paintingDisabled())
</del><ins>+    if (graphicsContext.paintingDisabled())
</ins><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     // Create the ScrollbarControlPartMask based on the damageRect
</span><span class="lines">@@ -462,7 +462,7 @@
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool ScrollbarThemeGtk::shouldCenterOnThumb(ScrollbarThemeClient*, const PlatformMouseEvent&amp; event)
</del><ins>+bool ScrollbarThemeGtk::shouldCenterOnThumb(Scrollbar&amp;, const PlatformMouseEvent&amp; event)
</ins><span class="cx"> {
</span><span class="cx">     return (event.shiftKey() &amp;&amp; event.button() == LeftButton) || (event.button() == MiddleButton);
</span><span class="cx"> }
</span><span class="lines">@@ -472,16 +472,16 @@
</span><span class="cx">     return m_thumbFatness + (m_troughBorderWidth * 2);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-IntSize ScrollbarThemeGtk::buttonSize(ScrollbarThemeClient* scrollbar)
</del><ins>+IntSize ScrollbarThemeGtk::buttonSize(Scrollbar&amp; scrollbar)
</ins><span class="cx"> {
</span><del>-    if (scrollbar-&gt;orientation() == VerticalScrollbar)
</del><ins>+    if (scrollbar.orientation() == VerticalScrollbar)
</ins><span class="cx">         return IntSize(m_thumbFatness, m_stepperSize);
</span><span class="cx"> 
</span><span class="cx">     // HorizontalScrollbar
</span><span class="cx">     return IntSize(m_stepperSize, m_thumbFatness);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-int ScrollbarThemeGtk::minimumThumbLength(ScrollbarThemeClient*)
</del><ins>+int ScrollbarThemeGtk::minimumThumbLength(Scrollbar&amp;)
</ins><span class="cx"> {
</span><span class="cx">     return m_minThumbLength;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgtkScrollbarThemeGtkh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/gtk/ScrollbarThemeGtk.h (185963 => 185964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/gtk/ScrollbarThemeGtk.h        2015-06-25 21:44:13 UTC (rev 185963)
+++ trunk/Source/WebCore/platform/gtk/ScrollbarThemeGtk.h        2015-06-25 22:03:25 UTC (rev 185964)
</span><span class="lines">@@ -36,33 +36,33 @@
</span><span class="cx"> public:
</span><span class="cx">     virtual ~ScrollbarThemeGtk();
</span><span class="cx"> 
</span><del>-    virtual bool hasButtons(ScrollbarThemeClient*) { return true; }
-    virtual bool hasThumb(ScrollbarThemeClient*);
-    virtual IntRect backButtonRect(ScrollbarThemeClient*, ScrollbarPart, bool);
-    virtual IntRect forwardButtonRect(ScrollbarThemeClient*, ScrollbarPart, bool);
-    virtual IntRect trackRect(ScrollbarThemeClient*, bool);
</del><ins>+    virtual bool hasButtons(Scrollbar&amp;) { return true; }
+    virtual bool hasThumb(Scrollbar&amp;);
+    virtual IntRect backButtonRect(Scrollbar&amp;, ScrollbarPart, bool);
+    virtual IntRect forwardButtonRect(Scrollbar&amp;, ScrollbarPart, bool);
+    virtual IntRect trackRect(Scrollbar&amp;, bool);
</ins><span class="cx"> 
</span><span class="cx"> #ifndef GTK_API_VERSION_2
</span><span class="cx">     ScrollbarThemeGtk();
</span><span class="cx"> 
</span><del>-    IntRect thumbRect(ScrollbarThemeClient*, const IntRect&amp; unconstrainedTrackRect);
-    bool paint(ScrollbarThemeClient*, GraphicsContext*, const IntRect&amp; damageRect);
-    void paintScrollbarBackground(GraphicsContext*, ScrollbarThemeClient*);
-    void paintTrackBackground(GraphicsContext*, ScrollbarThemeClient*, const IntRect&amp;);
-    void paintThumb(GraphicsContext*, ScrollbarThemeClient*, const IntRect&amp;);
-    virtual void paintButton(GraphicsContext*, ScrollbarThemeClient*, const IntRect&amp;, ScrollbarPart);
-    virtual bool shouldCenterOnThumb(ScrollbarThemeClient*, const PlatformMouseEvent&amp;);
</del><ins>+    IntRect thumbRect(Scrollbar&amp;, const IntRect&amp; unconstrainedTrackRect);
+    bool paint(Scrollbar&amp;, GraphicsContext&amp;, const IntRect&amp; damageRect);
+    void paintScrollbarBackground(GraphicsContext&amp;, Scrollbar&amp;);
+    void paintTrackBackground(GraphicsContext&amp;, Scrollbar&amp;, const IntRect&amp;);
+    void paintThumb(GraphicsContext&amp;, Scrollbar&amp;, const IntRect&amp;);
+    virtual void paintButton(GraphicsContext&amp;, Scrollbar&amp;, const IntRect&amp;, ScrollbarPart);
+    virtual bool shouldCenterOnThumb(Scrollbar&amp;, const PlatformMouseEvent&amp;);
</ins><span class="cx">     virtual int scrollbarThickness(ScrollbarControlSize);
</span><del>-    virtual IntSize buttonSize(ScrollbarThemeClient*);
-    virtual int minimumThumbLength(ScrollbarThemeClient*);
</del><ins>+    virtual IntSize buttonSize(Scrollbar&amp;);
+    virtual int minimumThumbLength(Scrollbar&amp;);
</ins><span class="cx"> 
</span><span class="cx">     // TODO: These are the default GTK+ values. At some point we should pull these from the theme itself.
</span><span class="cx">     virtual double initialAutoscrollTimerDelay() { return 0.20; }
</span><span class="cx">     virtual double autoscrollTimerDelay() { return 0.02; }
</span><span class="cx">     void themeChanged();
</span><span class="cx">     void updateScrollbarsFrameThickness();
</span><del>-    void registerScrollbar(ScrollbarThemeClient*);
-    void unregisterScrollbar(ScrollbarThemeClient*);
</del><ins>+    void registerScrollbar(Scrollbar&amp;);
+    void unregisterScrollbar(Scrollbar&amp;);
</ins><span class="cx"> 
</span><span class="cx"> protected:
</span><span class="cx">     void updateThemeProperties();
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformiosScrollbarThemeIOSh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/ios/ScrollbarThemeIOS.h (185963 => 185964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/ios/ScrollbarThemeIOS.h        2015-06-25 21:44:13 UTC (rev 185963)
+++ trunk/Source/WebCore/platform/ios/ScrollbarThemeIOS.h        2015-06-25 22:03:25 UTC (rev 185964)
</span><span class="lines">@@ -35,7 +35,7 @@
</span><span class="cx">     ScrollbarThemeIOS();
</span><span class="cx">     virtual ~ScrollbarThemeIOS();
</span><span class="cx"> 
</span><del>-    virtual bool paint(ScrollbarThemeClient*, GraphicsContext*, const IntRect&amp; damageRect) override;
</del><ins>+    virtual bool paint(Scrollbar&amp;, GraphicsContext&amp;, const IntRect&amp; damageRect) override;
</ins><span class="cx"> 
</span><span class="cx">     virtual int scrollbarThickness(ScrollbarControlSize = RegularScrollbar) override;
</span><span class="cx">     
</span><span class="lines">@@ -46,20 +46,20 @@
</span><span class="cx"> 
</span><span class="cx">     virtual ScrollbarButtonsPlacement buttonsPlacement() const override;
</span><span class="cx"> 
</span><del>-    virtual void registerScrollbar(ScrollbarThemeClient*) override;
-    virtual void unregisterScrollbar(ScrollbarThemeClient*) override;
</del><ins>+    virtual void registerScrollbar(Scrollbar&amp;) override;
+    virtual void unregisterScrollbar(Scrollbar&amp;) override;
</ins><span class="cx"> 
</span><span class="cx"> protected:
</span><del>-    virtual bool hasButtons(ScrollbarThemeClient*) override;
-    virtual bool hasThumb(ScrollbarThemeClient*) override;
</del><ins>+    virtual bool hasButtons(Scrollbar&amp;) override;
+    virtual bool hasThumb(Scrollbar&amp;) override;
</ins><span class="cx"> 
</span><del>-    virtual IntRect backButtonRect(ScrollbarThemeClient*, ScrollbarPart, bool painting = false) override;
-    virtual IntRect forwardButtonRect(ScrollbarThemeClient*, ScrollbarPart, bool painting = false) override;
-    virtual IntRect trackRect(ScrollbarThemeClient*, bool painting = false) override;
</del><ins>+    virtual IntRect backButtonRect(Scrollbar&amp;, ScrollbarPart, bool painting = false) override;
+    virtual IntRect forwardButtonRect(Scrollbar&amp;, ScrollbarPart, bool painting = false) override;
+    virtual IntRect trackRect(Scrollbar&amp;, bool painting = false) override;
</ins><span class="cx"> 
</span><del>-    virtual int minimumThumbLength(ScrollbarThemeClient*) override;
</del><ins>+    virtual int minimumThumbLength(Scrollbar&amp;) override;
</ins><span class="cx">     
</span><del>-    virtual bool shouldCenterOnThumb(ScrollbarThemeClient*, const PlatformMouseEvent&amp;) override;
</del><ins>+    virtual bool shouldCenterOnThumb(Scrollbar&amp;, const PlatformMouseEvent&amp;) override;
</ins><span class="cx">     
</span><span class="cx"> public:
</span><span class="cx">     void preferencesChanged();
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformiosScrollbarThemeIOSmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/ios/ScrollbarThemeIOS.mm (185963 => 185964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/ios/ScrollbarThemeIOS.mm        2015-06-25 21:44:13 UTC (rev 185963)
+++ trunk/Source/WebCore/platform/ios/ScrollbarThemeIOS.mm        2015-06-25 22:03:25 UTC (rev 185964)
</span><span class="lines">@@ -41,11 +41,11 @@
</span><span class="cx">     return &amp;theme.get();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ScrollbarThemeIOS::registerScrollbar(ScrollbarThemeClient*)
</del><ins>+void ScrollbarThemeIOS::registerScrollbar(Scrollbar&amp;)
</ins><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ScrollbarThemeIOS::unregisterScrollbar(ScrollbarThemeClient*)
</del><ins>+void ScrollbarThemeIOS::unregisterScrollbar(Scrollbar&amp;)
</ins><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -81,42 +81,42 @@
</span><span class="cx">     return ScrollbarButtonsNone;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool ScrollbarThemeIOS::hasButtons(ScrollbarThemeClient*)
</del><ins>+bool ScrollbarThemeIOS::hasButtons(Scrollbar&amp;)
</ins><span class="cx"> {
</span><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool ScrollbarThemeIOS::hasThumb(ScrollbarThemeClient*)
</del><ins>+bool ScrollbarThemeIOS::hasThumb(Scrollbar&amp;)
</ins><span class="cx"> {
</span><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-IntRect ScrollbarThemeIOS::backButtonRect(ScrollbarThemeClient*, ScrollbarPart, bool /*painting*/)
</del><ins>+IntRect ScrollbarThemeIOS::backButtonRect(Scrollbar&amp;, ScrollbarPart, bool /*painting*/)
</ins><span class="cx"> {
</span><span class="cx">     return IntRect();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-IntRect ScrollbarThemeIOS::forwardButtonRect(ScrollbarThemeClient*, ScrollbarPart, bool /*painting*/)
</del><ins>+IntRect ScrollbarThemeIOS::forwardButtonRect(Scrollbar&amp;, ScrollbarPart, bool /*painting*/)
</ins><span class="cx"> {
</span><span class="cx">     return IntRect();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-IntRect ScrollbarThemeIOS::trackRect(ScrollbarThemeClient*, bool /*painting*/)
</del><ins>+IntRect ScrollbarThemeIOS::trackRect(Scrollbar&amp;, bool /*painting*/)
</ins><span class="cx"> {
</span><span class="cx">     return IntRect();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-int ScrollbarThemeIOS::minimumThumbLength(ScrollbarThemeClient*)
</del><ins>+int ScrollbarThemeIOS::minimumThumbLength(Scrollbar&amp;)
</ins><span class="cx"> {
</span><span class="cx">     return 0;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool ScrollbarThemeIOS::shouldCenterOnThumb(ScrollbarThemeClient*, const PlatformMouseEvent&amp;)
</del><ins>+bool ScrollbarThemeIOS::shouldCenterOnThumb(Scrollbar&amp;, const PlatformMouseEvent&amp;)
</ins><span class="cx"> {
</span><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool ScrollbarThemeIOS::paint(ScrollbarThemeClient*, GraphicsContext*, const IntRect&amp; /*damageRect*/)
</del><ins>+bool ScrollbarThemeIOS::paint(Scrollbar&amp;, GraphicsContext&amp;, const IntRect&amp; /*damageRect*/)
</ins><span class="cx"> {
</span><span class="cx">     return true;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformmacScrollAnimatorMacmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/mac/ScrollAnimatorMac.mm (185963 => 185964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/mac/ScrollAnimatorMac.mm        2015-06-25 21:44:13 UTC (rev 185963)
+++ trunk/Source/WebCore/platform/mac/ScrollAnimatorMac.mm        2015-06-25 22:03:25 UTC (rev 185964)
</span><span class="lines">@@ -67,7 +67,7 @@
</span><span class="cx">     return !scrollbarTheme-&gt;isMockTheme() ? static_cast&lt;ScrollbarThemeMac*&gt;(scrollbarTheme) : 0;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static ScrollbarPainter scrollbarPainterForScrollbar(Scrollbar* scrollbar)
</del><ins>+static ScrollbarPainter scrollbarPainterForScrollbar(Scrollbar&amp; scrollbar)
</ins><span class="cx"> {
</span><span class="cx">     if (ScrollbarThemeMac* scrollbarTheme = macScrollbarTheme())
</span><span class="cx">         return scrollbarTheme-&gt;painterForScrollbar(scrollbar);
</span><span class="lines">@@ -252,7 +252,7 @@
</span><span class="cx">     if (!scrollbar)
</span><span class="cx">         return NSZeroPoint;
</span><span class="cx"> 
</span><del>-    ASSERT(scrollerImp == scrollbarPainterForScrollbar(scrollbar));
</del><ins>+    ASSERT(scrollerImp == scrollbarPainterForScrollbar(*scrollbar));
</ins><span class="cx"> 
</span><span class="cx">     return scrollbar-&gt;convertFromContainingView(WebCore::IntPoint(pointInContentArea));
</span><span class="cx"> }
</span><span class="lines">@@ -323,7 +323,7 @@
</span><span class="cx"> {
</span><span class="cx">     ASSERT(_scrollbar);
</span><span class="cx"> 
</span><del>-    _scrollbarPainter = scrollbarPainterForScrollbar(_scrollbar);
</del><ins>+    _scrollbarPainter = scrollbarPainterForScrollbar(*_scrollbar);
</ins><span class="cx"> 
</span><span class="cx">     [super startAnimation];
</span><span class="cx"> }
</span><span class="lines">@@ -452,7 +452,7 @@
</span><span class="cx">     if (!_scrollbar)
</span><span class="cx">         return NSZeroPoint;
</span><span class="cx"> 
</span><del>-    ASSERT_UNUSED(scrollerImp, scrollerImp == scrollbarPainterForScrollbar(_scrollbar));
</del><ins>+    ASSERT_UNUSED(scrollerImp, scrollerImp == scrollbarPainterForScrollbar(*_scrollbar));
</ins><span class="cx"> 
</span><span class="cx">     return _scrollbar-&gt;convertFromContainingView(_scrollbar-&gt;scrollableArea().lastKnownMousePosition());
</span><span class="cx"> }
</span><span class="lines">@@ -496,7 +496,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (ScrollbarThemeMac* macTheme = macScrollbarTheme())
</span><del>-        macTheme-&gt;setPaintCharacteristicsForScrollbar(_scrollbar);
</del><ins>+        macTheme-&gt;setPaintCharacteristicsForScrollbar(*_scrollbar);
</ins><span class="cx"> 
</span><span class="cx">     if (part == WebCore::ThumbPart &amp;&amp; _scrollbar-&gt;orientation() == VerticalScrollbar) {
</span><span class="cx">         if (newAlpha == 1) {
</span><span class="lines">@@ -519,7 +519,7 @@
</span><span class="cx">     if (!_scrollbar)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    ASSERT(scrollerImp == scrollbarPainterForScrollbar(_scrollbar));
</del><ins>+    ASSERT(scrollerImp == scrollbarPainterForScrollbar(*_scrollbar));
</ins><span class="cx"> 
</span><span class="cx">     ScrollbarPainter scrollerPainter = (ScrollbarPainter)scrollerImp;
</span><span class="cx">     if (![self scrollAnimator]-&gt;scrollbarsCanBeActive()) {
</span><span class="lines">@@ -542,7 +542,7 @@
</span><span class="cx">     if (!_scrollbar)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    ASSERT(scrollerImp == scrollbarPainterForScrollbar(_scrollbar));
</del><ins>+    ASSERT(scrollerImp == scrollbarPainterForScrollbar(*_scrollbar));
</ins><span class="cx"> 
</span><span class="cx">     ScrollbarPainter scrollerPainter = (ScrollbarPainter)scrollerImp;
</span><span class="cx">     [self setUpAlphaAnimation:_trackAlphaAnimation scrollerPainter:scrollerPainter part:WebCore::BackTrackPart animateAlphaTo:newTrackAlpha duration:duration];
</span><span class="lines">@@ -556,7 +556,7 @@
</span><span class="cx">     if (!supportsUIStateTransitionProgress())
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    ASSERT(scrollerImp == scrollbarPainterForScrollbar(_scrollbar));
</del><ins>+    ASSERT(scrollerImp == scrollbarPainterForScrollbar(*_scrollbar));
</ins><span class="cx"> 
</span><span class="cx">     ScrollbarPainter scrollbarPainter = (ScrollbarPainter)scrollerImp;
</span><span class="cx"> 
</span><span class="lines">@@ -590,7 +590,7 @@
</span><span class="cx">     if (!supportsExpansionTransitionProgress())
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    ASSERT(scrollerImp == scrollbarPainterForScrollbar(_scrollbar));
</del><ins>+    ASSERT(scrollerImp == scrollbarPainterForScrollbar(*_scrollbar));
</ins><span class="cx"> 
</span><span class="cx">     ScrollbarPainter scrollbarPainter = (ScrollbarPainter)scrollerImp;
</span><span class="cx"> 
</span><span class="lines">@@ -834,7 +834,7 @@
</span><span class="cx"> 
</span><span class="cx">     if (!supportsUIStateTransitionProgress())
</span><span class="cx">         return;
</span><del>-    if (ScrollbarPainter painter = scrollbarPainterForScrollbar(scrollbar))
</del><ins>+    if (ScrollbarPainter painter = scrollbarPainterForScrollbar(*scrollbar))
</ins><span class="cx">         [painter mouseEnteredScroller];
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -849,7 +849,7 @@
</span><span class="cx"> 
</span><span class="cx">     if (!supportsUIStateTransitionProgress())
</span><span class="cx">         return;
</span><del>-    if (ScrollbarPainter painter = scrollbarPainterForScrollbar(scrollbar))
</del><ins>+    if (ScrollbarPainter painter = scrollbarPainterForScrollbar(*scrollbar))
</ins><span class="cx">         [painter mouseExitedScroller];
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -949,7 +949,7 @@
</span><span class="cx"> 
</span><span class="cx"> void ScrollAnimatorMac::didAddVerticalScrollbar(Scrollbar* scrollbar)
</span><span class="cx"> {
</span><del>-    ScrollbarPainter painter = scrollbarPainterForScrollbar(scrollbar);
</del><ins>+    ScrollbarPainter painter = scrollbarPainterForScrollbar(*scrollbar);
</ins><span class="cx">     if (!painter)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="lines">@@ -967,7 +967,7 @@
</span><span class="cx"> 
</span><span class="cx"> void ScrollAnimatorMac::willRemoveVerticalScrollbar(Scrollbar* scrollbar)
</span><span class="cx"> {
</span><del>-    ScrollbarPainter painter = scrollbarPainterForScrollbar(scrollbar);
</del><ins>+    ScrollbarPainter painter = scrollbarPainterForScrollbar(*scrollbar);
</ins><span class="cx">     if (!painter)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="lines">@@ -981,7 +981,7 @@
</span><span class="cx"> 
</span><span class="cx"> void ScrollAnimatorMac::didAddHorizontalScrollbar(Scrollbar* scrollbar)
</span><span class="cx"> {
</span><del>-    ScrollbarPainter painter = scrollbarPainterForScrollbar(scrollbar);
</del><ins>+    ScrollbarPainter painter = scrollbarPainterForScrollbar(*scrollbar);
</ins><span class="cx">     if (!painter)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="lines">@@ -999,7 +999,7 @@
</span><span class="cx"> 
</span><span class="cx"> void ScrollAnimatorMac::willRemoveHorizontalScrollbar(Scrollbar* scrollbar)
</span><span class="cx"> {
</span><del>-    ScrollbarPainter painter = scrollbarPainterForScrollbar(scrollbar);
</del><ins>+    ScrollbarPainter painter = scrollbarPainterForScrollbar(*scrollbar);
</ins><span class="cx">     if (!painter)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="lines">@@ -1014,7 +1014,7 @@
</span><span class="cx"> #if __MAC_OS_X_VERSION_MIN_REQUIRED &gt;= 101000
</span><span class="cx"> void ScrollAnimatorMac::invalidateScrollbarPartLayers(Scrollbar* scrollbar)
</span><span class="cx"> {
</span><del>-    ScrollbarPainter painter = scrollbarPainterForScrollbar(scrollbar);
</del><ins>+    ScrollbarPainter painter = scrollbarPainterForScrollbar(*scrollbar);
</ins><span class="cx">     [painter setNeedsDisplay:YES];
</span><span class="cx"> }
</span><span class="cx"> #else
</span><span class="lines">@@ -1030,7 +1030,7 @@
</span><span class="cx">     if (!scrollbar)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    ScrollbarPainter painter = scrollbarPainterForScrollbar(scrollbar);
</del><ins>+    ScrollbarPainter painter = scrollbarPainterForScrollbar(*scrollbar);
</ins><span class="cx">     if (!painter)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="lines">@@ -1044,7 +1044,7 @@
</span><span class="cx">     if (!scrollbar)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    ScrollbarPainter painter = scrollbarPainterForScrollbar(scrollbar);
</del><ins>+    ScrollbarPainter painter = scrollbarPainterForScrollbar(*scrollbar);
</ins><span class="cx">     if (!painter)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="lines">@@ -1061,7 +1061,7 @@
</span><span class="cx">         return true;
</span><span class="cx"> 
</span><span class="cx">     // Overlay scrollbars should participate in hit testing whenever they are at all visible.
</span><del>-    ScrollbarPainter painter = scrollbarPainterForScrollbar(scrollbar);
</del><ins>+    ScrollbarPainter painter = scrollbarPainterForScrollbar(*scrollbar);
</ins><span class="cx">     if (!painter)
</span><span class="cx">         return false;
</span><span class="cx">     return [painter knobAlpha] &gt; 0;
</span><span class="lines">@@ -1321,7 +1321,7 @@
</span><span class="cx">                                                                                     horizontal:NO 
</span><span class="cx">                                                                                     replacingScrollerImp:oldVerticalPainter];
</span><span class="cx">         [m_scrollbarPainterController setVerticalScrollerImp:newVerticalPainter];
</span><del>-        macTheme-&gt;setNewPainterForScrollbar(verticalScrollbar, newVerticalPainter);
</del><ins>+        macTheme-&gt;setNewPainterForScrollbar(*verticalScrollbar, newVerticalPainter);
</ins><span class="cx"> 
</span><span class="cx">         // The different scrollbar styles have different thicknesses, so we must re-set the 
</span><span class="cx">         // frameRect to the new thickness, and the re-layout below will ensure the position
</span><span class="lines">@@ -1339,7 +1339,7 @@
</span><span class="cx">                                                                                     horizontal:YES 
</span><span class="cx">                                                                                     replacingScrollerImp:oldHorizontalPainter];
</span><span class="cx">         [m_scrollbarPainterController setHorizontalScrollerImp:newHorizontalPainter];
</span><del>-        macTheme-&gt;setNewPainterForScrollbar(horizontalScrollbar, newHorizontalPainter);
</del><ins>+        macTheme-&gt;setNewPainterForScrollbar(*horizontalScrollbar, newHorizontalPainter);
</ins><span class="cx"> 
</span><span class="cx">         // The different scrollbar styles have different thicknesses, so we must re-set the 
</span><span class="cx">         // frameRect to the new thickness, and the re-layout below will ensure the position
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformmacScrollbarThemeMach"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/mac/ScrollbarThemeMac.h (185963 => 185964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/mac/ScrollbarThemeMac.h        2015-06-25 21:44:13 UTC (rev 185963)
+++ trunk/Source/WebCore/platform/mac/ScrollbarThemeMac.h        2015-06-25 22:03:25 UTC (rev 185964)
</span><span class="lines">@@ -37,29 +37,29 @@
</span><span class="cx"> 
</span><span class="cx">     void preferencesChanged();
</span><span class="cx"> 
</span><del>-    virtual void updateEnabledState(ScrollbarThemeClient*) override;
</del><ins>+    virtual void updateEnabledState(Scrollbar&amp;) override;
</ins><span class="cx"> 
</span><del>-    virtual bool paint(ScrollbarThemeClient*, GraphicsContext*, const IntRect&amp; damageRect) override;
</del><ins>+    virtual bool paint(Scrollbar&amp;, GraphicsContext&amp;, const IntRect&amp; damageRect) override;
</ins><span class="cx"> 
</span><span class="cx">     virtual int scrollbarThickness(ScrollbarControlSize = RegularScrollbar) override;
</span><span class="cx">     
</span><span class="cx">     virtual bool supportsControlTints() const override { return true; }
</span><span class="cx">     virtual bool usesOverlayScrollbars() const  override;
</span><span class="cx">     virtual void usesOverlayScrollbarsChanged() override;
</span><del>-    virtual void updateScrollbarOverlayStyle(ScrollbarThemeClient*)  override;
</del><ins>+    virtual void updateScrollbarOverlayStyle(Scrollbar&amp;)  override;
</ins><span class="cx"> 
</span><span class="cx">     virtual double initialAutoscrollTimerDelay() override;
</span><span class="cx">     virtual double autoscrollTimerDelay() override;
</span><span class="cx"> 
</span><span class="cx">     virtual ScrollbarButtonsPlacement buttonsPlacement() const override;
</span><span class="cx"> 
</span><del>-    virtual void registerScrollbar(ScrollbarThemeClient*) override;
-    virtual void unregisterScrollbar(ScrollbarThemeClient*) override;
</del><ins>+    virtual void registerScrollbar(Scrollbar&amp;) override;
+    virtual void unregisterScrollbar(Scrollbar&amp;) override;
</ins><span class="cx"> 
</span><del>-    void setNewPainterForScrollbar(ScrollbarThemeClient*, ScrollbarPainter);
-    ScrollbarPainter painterForScrollbar(ScrollbarThemeClient*);
</del><ins>+    void setNewPainterForScrollbar(Scrollbar&amp;, ScrollbarPainter);
+    ScrollbarPainter painterForScrollbar(Scrollbar&amp;);
</ins><span class="cx"> 
</span><del>-    void setPaintCharacteristicsForScrollbar(ScrollbarThemeClient*);
</del><ins>+    void setPaintCharacteristicsForScrollbar(Scrollbar&amp;);
</ins><span class="cx"> 
</span><span class="cx">     static bool isCurrentlyDrawingIntoLayer();
</span><span class="cx">     static void setIsCurrentlyDrawingIntoLayer(bool);
</span><span class="lines">@@ -73,19 +73,19 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> protected:
</span><del>-    virtual bool hasButtons(ScrollbarThemeClient*) override;
-    virtual bool hasThumb(ScrollbarThemeClient*) override;
</del><ins>+    virtual bool hasButtons(Scrollbar&amp;) override;
+    virtual bool hasThumb(Scrollbar&amp;) override;
</ins><span class="cx"> 
</span><del>-    virtual IntRect backButtonRect(ScrollbarThemeClient*, ScrollbarPart, bool painting = false) override;
-    virtual IntRect forwardButtonRect(ScrollbarThemeClient*, ScrollbarPart, bool painting = false) override;
-    virtual IntRect trackRect(ScrollbarThemeClient*, bool painting = false) override;
</del><ins>+    virtual IntRect backButtonRect(Scrollbar&amp;, ScrollbarPart, bool painting = false) override;
+    virtual IntRect forwardButtonRect(Scrollbar&amp;, ScrollbarPart, bool painting = false) override;
+    virtual IntRect trackRect(Scrollbar&amp;, bool painting = false) override;
</ins><span class="cx"> 
</span><span class="cx">     virtual int maxOverlapBetweenPages() override { return 40; }
</span><span class="cx"> 
</span><del>-    virtual int minimumThumbLength(ScrollbarThemeClient*) override;
</del><ins>+    virtual int minimumThumbLength(Scrollbar&amp;) override;
</ins><span class="cx">     
</span><del>-    virtual bool shouldCenterOnThumb(ScrollbarThemeClient*, const PlatformMouseEvent&amp;) override;
-    virtual bool shouldDragDocumentInsteadOfThumb(ScrollbarThemeClient*, const PlatformMouseEvent&amp;) override;
</del><ins>+    virtual bool shouldCenterOnThumb(Scrollbar&amp;, const PlatformMouseEvent&amp;) override;
+    virtual bool shouldDragDocumentInsteadOfThumb(Scrollbar&amp;, const PlatformMouseEvent&amp;) override;
</ins><span class="cx">     int scrollbarPartToHIPressedState(ScrollbarPart);
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(RUBBER_BANDING)
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformmacScrollbarThemeMacmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/mac/ScrollbarThemeMac.mm (185963 => 185964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/mac/ScrollbarThemeMac.mm        2015-06-25 21:44:13 UTC (rev 185963)
+++ trunk/Source/WebCore/platform/mac/ScrollbarThemeMac.mm        2015-06-25 22:03:25 UTC (rev 185964)
</span><span class="lines">@@ -51,7 +51,7 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-typedef HashMap&lt;ScrollbarThemeClient*, RetainPtr&lt;ScrollbarPainter&gt;&gt; ScrollbarPainterMap;
</del><ins>+typedef HashMap&lt;Scrollbar*, RetainPtr&lt;ScrollbarPainter&gt;&gt; ScrollbarPainterMap;
</ins><span class="cx"> 
</span><span class="cx"> static ScrollbarPainterMap* scrollbarMap()
</span><span class="cx"> {
</span><span class="lines">@@ -154,33 +154,33 @@
</span><span class="cx">     return NSRegularControlSize;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ScrollbarThemeMac::registerScrollbar(ScrollbarThemeClient* scrollbar)
</del><ins>+void ScrollbarThemeMac::registerScrollbar(Scrollbar&amp; scrollbar)
</ins><span class="cx"> {
</span><del>-    if (scrollbar-&gt;isCustomScrollbar())
</del><ins>+    if (scrollbar.isCustomScrollbar())
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    bool isHorizontal = scrollbar-&gt;orientation() == HorizontalScrollbar;
-    ScrollbarPainter scrollbarPainter = [NSClassFromString(@&quot;NSScrollerImp&quot;) scrollerImpWithStyle:recommendedScrollerStyle() controlSize:scrollbarControlSizeToNSControlSize(scrollbar-&gt;controlSize()) horizontal:isHorizontal replacingScrollerImp:nil];
-    scrollbarMap()-&gt;add(scrollbar, scrollbarPainter);
</del><ins>+    bool isHorizontal = scrollbar.orientation() == HorizontalScrollbar;
+    ScrollbarPainter scrollbarPainter = [NSClassFromString(@&quot;NSScrollerImp&quot;) scrollerImpWithStyle:recommendedScrollerStyle() controlSize:scrollbarControlSizeToNSControlSize(scrollbar.controlSize()) horizontal:isHorizontal replacingScrollerImp:nil];
+    scrollbarMap()-&gt;add(&amp;scrollbar, scrollbarPainter);
</ins><span class="cx">     updateEnabledState(scrollbar);
</span><span class="cx">     updateScrollbarOverlayStyle(scrollbar);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ScrollbarThemeMac::unregisterScrollbar(ScrollbarThemeClient* scrollbar)
</del><ins>+void ScrollbarThemeMac::unregisterScrollbar(Scrollbar&amp; scrollbar)
</ins><span class="cx"> {
</span><del>-    scrollbarMap()-&gt;remove(scrollbar);
</del><ins>+    scrollbarMap()-&gt;remove(&amp;scrollbar);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ScrollbarThemeMac::setNewPainterForScrollbar(ScrollbarThemeClient* scrollbar, ScrollbarPainter newPainter)
</del><ins>+void ScrollbarThemeMac::setNewPainterForScrollbar(Scrollbar&amp; scrollbar, ScrollbarPainter newPainter)
</ins><span class="cx"> {
</span><del>-    scrollbarMap()-&gt;set(scrollbar, newPainter);
</del><ins>+    scrollbarMap()-&gt;set(&amp;scrollbar, newPainter);
</ins><span class="cx">     updateEnabledState(scrollbar);
</span><span class="cx">     updateScrollbarOverlayStyle(scrollbar);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ScrollbarPainter ScrollbarThemeMac::painterForScrollbar(ScrollbarThemeClient* scrollbar)
</del><ins>+ScrollbarPainter ScrollbarThemeMac::painterForScrollbar(Scrollbar&amp; scrollbar)
</ins><span class="cx"> {
</span><del>-    return scrollbarMap()-&gt;get(scrollbar).get();
</del><ins>+    return scrollbarMap()-&gt;get(&amp;scrollbar).get();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static bool g_isCurrentlyDrawingIntoLayer;
</span><span class="lines">@@ -240,11 +240,11 @@
</span><span class="cx">     gUsesOverlayScrollbars = recommendedScrollerStyle() == NSScrollerStyleOverlay;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ScrollbarThemeMac::updateScrollbarOverlayStyle(ScrollbarThemeClient* scrollbar)
</del><ins>+void ScrollbarThemeMac::updateScrollbarOverlayStyle(Scrollbar&amp; scrollbar)
</ins><span class="cx"> {
</span><span class="cx">     BEGIN_BLOCK_OBJC_EXCEPTIONS;
</span><span class="cx">     ScrollbarPainter painter = painterForScrollbar(scrollbar);
</span><del>-    switch (scrollbar-&gt;scrollbarOverlayStyle()) {
</del><ins>+    switch (scrollbar.scrollbarOverlayStyle()) {
</ins><span class="cx">     case ScrollbarOverlayStyleDefault:
</span><span class="cx">         [painter setKnobStyle:NSScrollerKnobStyleDefault];
</span><span class="cx">         break;
</span><span class="lines">@@ -273,25 +273,25 @@
</span><span class="cx">     return gButtonPlacement;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool ScrollbarThemeMac::hasButtons(ScrollbarThemeClient* scrollbar)
</del><ins>+bool ScrollbarThemeMac::hasButtons(Scrollbar&amp; scrollbar)
</ins><span class="cx"> {
</span><del>-    return scrollbar-&gt;enabled() &amp;&amp; buttonsPlacement() != ScrollbarButtonsNone
-             &amp;&amp; (scrollbar-&gt;orientation() == HorizontalScrollbar
-             ? scrollbar-&gt;width()
-             : scrollbar-&gt;height()) &gt;= 2 * (cRealButtonLength[scrollbar-&gt;controlSize()] - cButtonHitInset[scrollbar-&gt;controlSize()]);
</del><ins>+    return scrollbar.enabled() &amp;&amp; buttonsPlacement() != ScrollbarButtonsNone
+             &amp;&amp; (scrollbar.orientation() == HorizontalScrollbar
+             ? scrollbar.width()
+             : scrollbar.height()) &gt;= 2 * (cRealButtonLength[scrollbar.controlSize()] - cButtonHitInset[scrollbar.controlSize()]);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool ScrollbarThemeMac::hasThumb(ScrollbarThemeClient* scrollbar)
</del><ins>+bool ScrollbarThemeMac::hasThumb(Scrollbar&amp; scrollbar)
</ins><span class="cx"> {
</span><span class="cx">     int minLengthForThumb;
</span><span class="cx"> 
</span><del>-    ScrollbarPainter painter = scrollbarMap()-&gt;get(scrollbar).get();
</del><ins>+    ScrollbarPainter painter = scrollbarMap()-&gt;get(&amp;scrollbar).get();
</ins><span class="cx">     minLengthForThumb = [painter knobMinLength] + [painter trackOverlapEndInset] + [painter knobOverlapEndInset]
</span><span class="cx">         + 2 * ([painter trackEndInset] + [painter knobEndInset]);
</span><span class="cx"> 
</span><del>-    return scrollbar-&gt;enabled() &amp;&amp; (scrollbar-&gt;orientation() == HorizontalScrollbar ? 
-             scrollbar-&gt;width() : 
-             scrollbar-&gt;height()) &gt;= minLengthForThumb;
</del><ins>+    return scrollbar.enabled() &amp;&amp; (scrollbar.orientation() == HorizontalScrollbar ?
+             scrollbar.width() :
+             scrollbar.height()) &gt;= minLengthForThumb;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static IntRect buttonRepaintRect(const IntRect&amp; buttonRect, ScrollbarOrientation orientation, ScrollbarControlSize controlSize, bool start)
</span><span class="lines">@@ -312,7 +312,7 @@
</span><span class="cx">     return paintRect;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-IntRect ScrollbarThemeMac::backButtonRect(ScrollbarThemeClient* scrollbar, ScrollbarPart part, bool painting)
</del><ins>+IntRect ScrollbarThemeMac::backButtonRect(Scrollbar&amp; scrollbar, ScrollbarPart part, bool painting)
</ins><span class="cx"> {
</span><span class="cx">     IntRect result;
</span><span class="cx">     
</span><span class="lines">@@ -322,31 +322,31 @@
</span><span class="cx">     if (part == BackButtonEndPart &amp;&amp; (buttonsPlacement() == ScrollbarButtonsNone || buttonsPlacement() == ScrollbarButtonsDoubleStart || buttonsPlacement() == ScrollbarButtonsSingle))
</span><span class="cx">         return result;
</span><span class="cx">         
</span><del>-    int thickness = scrollbarThickness(scrollbar-&gt;controlSize());
</del><ins>+    int thickness = scrollbarThickness(scrollbar.controlSize());
</ins><span class="cx">     bool outerButton = part == BackButtonStartPart &amp;&amp; (buttonsPlacement() == ScrollbarButtonsDoubleStart || buttonsPlacement() == ScrollbarButtonsDoubleBoth);
</span><span class="cx">     if (outerButton) {
</span><del>-        if (scrollbar-&gt;orientation() == HorizontalScrollbar)
-            result = IntRect(scrollbar-&gt;x(), scrollbar-&gt;y(), cOuterButtonLength[scrollbar-&gt;controlSize()] + (painting ? cOuterButtonOverlap : 0), thickness);
</del><ins>+        if (scrollbar.orientation() == HorizontalScrollbar)
+            result = IntRect(scrollbar.x(), scrollbar.y(), cOuterButtonLength[scrollbar.controlSize()] + (painting ? cOuterButtonOverlap : 0), thickness);
</ins><span class="cx">         else
</span><del>-            result = IntRect(scrollbar-&gt;x(), scrollbar-&gt;y(), thickness, cOuterButtonLength[scrollbar-&gt;controlSize()] + (painting ? cOuterButtonOverlap : 0));
</del><ins>+            result = IntRect(scrollbar.x(), scrollbar.y(), thickness, cOuterButtonLength[scrollbar.controlSize()] + (painting ? cOuterButtonOverlap : 0));
</ins><span class="cx">         return result;
</span><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     // Our repaint rect is slightly larger, since we are a button that is adjacent to the track.
</span><del>-    if (scrollbar-&gt;orientation() == HorizontalScrollbar) {
-        int start = part == BackButtonStartPart ? scrollbar-&gt;x() : scrollbar-&gt;x() + scrollbar-&gt;width() - cOuterButtonLength[scrollbar-&gt;controlSize()] - cButtonLength[scrollbar-&gt;controlSize()];
-        result = IntRect(start, scrollbar-&gt;y(), cButtonLength[scrollbar-&gt;controlSize()], thickness);
</del><ins>+    if (scrollbar.orientation() == HorizontalScrollbar) {
+        int start = part == BackButtonStartPart ? scrollbar.x() : scrollbar.x() + scrollbar.width() - cOuterButtonLength[scrollbar.controlSize()] - cButtonLength[scrollbar.controlSize()];
+        result = IntRect(start, scrollbar.y(), cButtonLength[scrollbar.controlSize()], thickness);
</ins><span class="cx">     } else {
</span><del>-        int start = part == BackButtonStartPart ? scrollbar-&gt;y() : scrollbar-&gt;y() + scrollbar-&gt;height() - cOuterButtonLength[scrollbar-&gt;controlSize()] - cButtonLength[scrollbar-&gt;controlSize()];
-        result = IntRect(scrollbar-&gt;x(), start, thickness, cButtonLength[scrollbar-&gt;controlSize()]);
</del><ins>+        int start = part == BackButtonStartPart ? scrollbar.y() : scrollbar.y() + scrollbar.height() - cOuterButtonLength[scrollbar.controlSize()] - cButtonLength[scrollbar.controlSize()];
+        result = IntRect(scrollbar.x(), start, thickness, cButtonLength[scrollbar.controlSize()]);
</ins><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     if (painting)
</span><del>-        return buttonRepaintRect(result, scrollbar-&gt;orientation(), scrollbar-&gt;controlSize(), part == BackButtonStartPart);
</del><ins>+        return buttonRepaintRect(result, scrollbar.orientation(), scrollbar.controlSize(), part == BackButtonStartPart);
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-IntRect ScrollbarThemeMac::forwardButtonRect(ScrollbarThemeClient* scrollbar, ScrollbarPart part, bool painting)
</del><ins>+IntRect ScrollbarThemeMac::forwardButtonRect(Scrollbar&amp; scrollbar, ScrollbarPart part, bool painting)
</ins><span class="cx"> {
</span><span class="cx">     IntRect result;
</span><span class="cx">     
</span><span class="lines">@@ -356,47 +356,47 @@
</span><span class="cx">     if (part == ForwardButtonStartPart &amp;&amp; (buttonsPlacement() == ScrollbarButtonsNone || buttonsPlacement() == ScrollbarButtonsDoubleEnd || buttonsPlacement() == ScrollbarButtonsSingle))
</span><span class="cx">         return result;
</span><span class="cx">         
</span><del>-    int thickness = scrollbarThickness(scrollbar-&gt;controlSize());
-    int outerButtonLength = cOuterButtonLength[scrollbar-&gt;controlSize()];
-    int buttonLength = cButtonLength[scrollbar-&gt;controlSize()];
</del><ins>+    int thickness = scrollbarThickness(scrollbar.controlSize());
+    int outerButtonLength = cOuterButtonLength[scrollbar.controlSize()];
+    int buttonLength = cButtonLength[scrollbar.controlSize()];
</ins><span class="cx">     
</span><span class="cx">     bool outerButton = part == ForwardButtonEndPart &amp;&amp; (buttonsPlacement() == ScrollbarButtonsDoubleEnd || buttonsPlacement() == ScrollbarButtonsDoubleBoth);
</span><span class="cx">     if (outerButton) {
</span><del>-        if (scrollbar-&gt;orientation() == HorizontalScrollbar) {
-            result = IntRect(scrollbar-&gt;x() + scrollbar-&gt;width() - outerButtonLength, scrollbar-&gt;y(), outerButtonLength, thickness);
</del><ins>+        if (scrollbar.orientation() == HorizontalScrollbar) {
+            result = IntRect(scrollbar.x() + scrollbar.width() - outerButtonLength, scrollbar.y(), outerButtonLength, thickness);
</ins><span class="cx">             if (painting)
</span><span class="cx">                 result.inflateX(cOuterButtonOverlap);
</span><span class="cx">         } else {
</span><del>-            result = IntRect(scrollbar-&gt;x(), scrollbar-&gt;y() + scrollbar-&gt;height() - outerButtonLength, thickness, outerButtonLength);
</del><ins>+            result = IntRect(scrollbar.x(), scrollbar.y() + scrollbar.height() - outerButtonLength, thickness, outerButtonLength);
</ins><span class="cx">             if (painting)
</span><span class="cx">                 result.inflateY(cOuterButtonOverlap);
</span><span class="cx">         }
</span><span class="cx">         return result;
</span><span class="cx">     }
</span><span class="cx">     
</span><del>-    if (scrollbar-&gt;orientation() == HorizontalScrollbar) {
-        int start = part == ForwardButtonEndPart ? scrollbar-&gt;x() + scrollbar-&gt;width() - buttonLength : scrollbar-&gt;x() + outerButtonLength;
-        result = IntRect(start, scrollbar-&gt;y(), buttonLength, thickness);
</del><ins>+    if (scrollbar.orientation() == HorizontalScrollbar) {
+        int start = part == ForwardButtonEndPart ? scrollbar.x() + scrollbar.width() - buttonLength : scrollbar.x() + outerButtonLength;
+        result = IntRect(start, scrollbar.y(), buttonLength, thickness);
</ins><span class="cx">     } else {
</span><del>-        int start = part == ForwardButtonEndPart ? scrollbar-&gt;y() + scrollbar-&gt;height() - buttonLength : scrollbar-&gt;y() + outerButtonLength;
-        result = IntRect(scrollbar-&gt;x(), start, thickness, buttonLength);
</del><ins>+        int start = part == ForwardButtonEndPart ? scrollbar.y() + scrollbar.height() - buttonLength : scrollbar.y() + outerButtonLength;
+        result = IntRect(scrollbar.x(), start, thickness, buttonLength);
</ins><span class="cx">     }
</span><span class="cx">     if (painting)
</span><del>-        return buttonRepaintRect(result, scrollbar-&gt;orientation(), scrollbar-&gt;controlSize(), part == ForwardButtonStartPart);
</del><ins>+        return buttonRepaintRect(result, scrollbar.orientation(), scrollbar.controlSize(), part == ForwardButtonStartPart);
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-IntRect ScrollbarThemeMac::trackRect(ScrollbarThemeClient* scrollbar, bool painting)
</del><ins>+IntRect ScrollbarThemeMac::trackRect(Scrollbar&amp; scrollbar, bool painting)
</ins><span class="cx"> {
</span><span class="cx">     if (painting || !hasButtons(scrollbar))
</span><del>-        return scrollbar-&gt;frameRect();
</del><ins>+        return scrollbar.frameRect();
</ins><span class="cx">     
</span><span class="cx">     IntRect result;
</span><del>-    int thickness = scrollbarThickness(scrollbar-&gt;controlSize());
</del><ins>+    int thickness = scrollbarThickness(scrollbar.controlSize());
</ins><span class="cx">     int startWidth = 0;
</span><span class="cx">     int endWidth = 0;
</span><del>-    int outerButtonLength = cOuterButtonLength[scrollbar-&gt;controlSize()];
-    int buttonLength = cButtonLength[scrollbar-&gt;controlSize()];
</del><ins>+    int outerButtonLength = cOuterButtonLength[scrollbar.controlSize()];
+    int buttonLength = cButtonLength[scrollbar.controlSize()];
</ins><span class="cx">     int doubleButtonLength = outerButtonLength + buttonLength;
</span><span class="cx">     switch (buttonsPlacement()) {
</span><span class="cx">         case ScrollbarButtonsSingle:
</span><span class="lines">@@ -418,19 +418,19 @@
</span><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     int totalWidth = startWidth + endWidth;
</span><del>-    if (scrollbar-&gt;orientation() == HorizontalScrollbar)
-        return IntRect(scrollbar-&gt;x() + startWidth, scrollbar-&gt;y(), scrollbar-&gt;width() - totalWidth, thickness);
-    return IntRect(scrollbar-&gt;x(), scrollbar-&gt;y() + startWidth, thickness, scrollbar-&gt;height() - totalWidth);
</del><ins>+    if (scrollbar.orientation() == HorizontalScrollbar)
+        return IntRect(scrollbar.x() + startWidth, scrollbar.y(), scrollbar.width() - totalWidth, thickness);
+    return IntRect(scrollbar.x(), scrollbar.y() + startWidth, thickness, scrollbar.height() - totalWidth);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-int ScrollbarThemeMac::minimumThumbLength(ScrollbarThemeClient* scrollbar)
</del><ins>+int ScrollbarThemeMac::minimumThumbLength(Scrollbar&amp; scrollbar)
</ins><span class="cx"> {
</span><span class="cx">     BEGIN_BLOCK_OBJC_EXCEPTIONS;
</span><del>-    return [scrollbarMap()-&gt;get(scrollbar) knobMinLength];
</del><ins>+    return [scrollbarMap()-&gt;get(&amp;scrollbar) knobMinLength];
</ins><span class="cx">     END_BLOCK_OBJC_EXCEPTIONS;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool ScrollbarThemeMac::shouldCenterOnThumb(ScrollbarThemeClient*, const PlatformMouseEvent&amp; evt)
</del><ins>+bool ScrollbarThemeMac::shouldCenterOnThumb(Scrollbar&amp;, const PlatformMouseEvent&amp; evt)
</ins><span class="cx"> {
</span><span class="cx">     if (evt.button() != LeftButton)
</span><span class="cx">         return false;
</span><span class="lines">@@ -439,7 +439,7 @@
</span><span class="cx">     return evt.altKey();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool ScrollbarThemeMac::shouldDragDocumentInsteadOfThumb(ScrollbarThemeClient*, const PlatformMouseEvent&amp; event)
</del><ins>+bool ScrollbarThemeMac::shouldDragDocumentInsteadOfThumb(Scrollbar&amp;, const PlatformMouseEvent&amp; event)
</ins><span class="cx"> {
</span><span class="cx">     return event.altKey();
</span><span class="cx"> }
</span><span class="lines">@@ -462,25 +462,25 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ScrollbarThemeMac::updateEnabledState(ScrollbarThemeClient* scrollbar)
</del><ins>+void ScrollbarThemeMac::updateEnabledState(Scrollbar&amp; scrollbar)
</ins><span class="cx"> {
</span><span class="cx">     BEGIN_BLOCK_OBJC_EXCEPTIONS;
</span><del>-    [scrollbarMap()-&gt;get(scrollbar) setEnabled:scrollbar-&gt;enabled()];
</del><ins>+    [scrollbarMap()-&gt;get(&amp;scrollbar) setEnabled:scrollbar.enabled()];
</ins><span class="cx">     END_BLOCK_OBJC_EXCEPTIONS;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ScrollbarThemeMac::setPaintCharacteristicsForScrollbar(ScrollbarThemeClient* scrollbar)
</del><ins>+void ScrollbarThemeMac::setPaintCharacteristicsForScrollbar(Scrollbar&amp; scrollbar)
</ins><span class="cx"> {
</span><span class="cx">     BEGIN_BLOCK_OBJC_EXCEPTIONS;
</span><span class="cx">     ScrollbarPainter painter = painterForScrollbar(scrollbar);
</span><span class="cx"> 
</span><span class="cx">     float value;
</span><span class="cx">     float overhang;
</span><del>-    ScrollableArea::computeScrollbarValueAndOverhang(scrollbar-&gt;currentPos(), scrollbar-&gt;totalSize(), scrollbar-&gt;visibleSize(), value, overhang);
-    float proportion = scrollbar-&gt;totalSize() &gt; 0 ? (static_cast&lt;CGFloat&gt;(scrollbar-&gt;visibleSize()) - overhang) / scrollbar-&gt;totalSize() : 1;
</del><ins>+    ScrollableArea::computeScrollbarValueAndOverhang(scrollbar.currentPos(), scrollbar.totalSize(), scrollbar.visibleSize(), value, overhang);
+    float proportion = scrollbar.totalSize() &gt; 0 ? (static_cast&lt;CGFloat&gt;(scrollbar.visibleSize()) - overhang) / scrollbar.totalSize() : 1;
</ins><span class="cx"> 
</span><del>-    [painter setEnabled:scrollbar-&gt;enabled()];
-    [painter setBoundsSize:scrollbar-&gt;frameRect().size()];
</del><ins>+    [painter setEnabled:scrollbar.enabled()];
+    [painter setBoundsSize:scrollbar.frameRect().size()];
</ins><span class="cx">     [painter setDoubleValue:value];
</span><span class="cx"> #if ENABLE(ASYNC_SCROLLING) &amp;&amp; PLATFORM(MAC) &amp;&amp; __MAC_OS_X_VERSION_MIN_REQUIRED &gt;= 101000
</span><span class="cx">     [painter setPresentationValue:value];
</span><span class="lines">@@ -503,18 +503,18 @@
</span><span class="cx">     END_BLOCK_OBJC_EXCEPTIONS;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool ScrollbarThemeMac::paint(ScrollbarThemeClient* scrollbar, GraphicsContext* context, const IntRect&amp; damageRect)
</del><ins>+bool ScrollbarThemeMac::paint(Scrollbar&amp; scrollbar, GraphicsContext&amp; context, const IntRect&amp; damageRect)
</ins><span class="cx"> {
</span><span class="cx">     setPaintCharacteristicsForScrollbar(scrollbar);
</span><span class="cx"> 
</span><del>-    if (!scrollbar-&gt;supportsUpdateOnSecondaryThread()) {
-        TemporaryChange&lt;bool&gt; isCurrentlyDrawingIntoLayer(g_isCurrentlyDrawingIntoLayer, context-&gt;isCALayerContext());
</del><ins>+    if (!scrollbar.supportsUpdateOnSecondaryThread()) {
+        TemporaryChange&lt;bool&gt; isCurrentlyDrawingIntoLayer(g_isCurrentlyDrawingIntoLayer, context.isCALayerContext());
</ins><span class="cx">     
</span><del>-        GraphicsContextStateSaver stateSaver(*context);
-        context-&gt;clip(damageRect);
-        context-&gt;translate(scrollbar-&gt;frameRect().x(), scrollbar-&gt;frameRect().y());
-        LocalCurrentGraphicsContext localContext(context);
-        scrollbarPainterPaint(scrollbarMap()-&gt;get(scrollbar).get(), scrollbar-&gt;enabled());
</del><ins>+        GraphicsContextStateSaver stateSaver(context);
+        context.clip(damageRect);
+        context.translate(scrollbar.frameRect().x(), scrollbar.frameRect().y());
+        LocalCurrentGraphicsContext localContext(&amp;context);
+        scrollbarPainterPaint(scrollbarMap()-&gt;get(&amp;scrollbar).get(), scrollbar.enabled());
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     return true;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformmockScrollbarThemeMockcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/mock/ScrollbarThemeMock.cpp (185963 => 185964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/mock/ScrollbarThemeMock.cpp        2015-06-25 21:44:13 UTC (rev 185963)
+++ trunk/Source/WebCore/platform/mock/ScrollbarThemeMock.cpp        2015-06-25 22:03:25 UTC (rev 185964)
</span><span class="lines">@@ -32,9 +32,9 @@
</span><span class="cx"> 
</span><span class="cx"> static const int cScrollbarThickness[] = { 15, 11 };
</span><span class="cx"> 
</span><del>-IntRect ScrollbarThemeMock::trackRect(ScrollbarThemeClient* scrollbar, bool)
</del><ins>+IntRect ScrollbarThemeMock::trackRect(Scrollbar&amp; scrollbar, bool)
</ins><span class="cx"> {
</span><del>-    return scrollbar-&gt;frameRect();
</del><ins>+    return scrollbar.frameRect();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> int ScrollbarThemeMock::scrollbarThickness(ScrollbarControlSize controlSize)
</span><span class="lines">@@ -42,15 +42,15 @@
</span><span class="cx">     return cScrollbarThickness[controlSize];
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ScrollbarThemeMock::paintTrackBackground(GraphicsContext* context, ScrollbarThemeClient* scrollbar, const IntRect&amp; trackRect)
</del><ins>+void ScrollbarThemeMock::paintTrackBackground(GraphicsContext&amp; context, Scrollbar&amp; scrollbar, const IntRect&amp; trackRect)
</ins><span class="cx"> {
</span><del>-    context-&gt;fillRect(trackRect, scrollbar-&gt;enabled() ? Color::lightGray : Color(0xFFE0E0E0), ColorSpaceDeviceRGB);
</del><ins>+    context.fillRect(trackRect, scrollbar.enabled() ? Color::lightGray : Color(0xFFE0E0E0), ColorSpaceDeviceRGB);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ScrollbarThemeMock::paintThumb(GraphicsContext* context, ScrollbarThemeClient* scrollbar, const IntRect&amp; thumbRect)
</del><ins>+void ScrollbarThemeMock::paintThumb(GraphicsContext&amp; context, Scrollbar&amp; scrollbar, const IntRect&amp; thumbRect)
</ins><span class="cx"> {
</span><del>-    if (scrollbar-&gt;enabled())
-        context-&gt;fillRect(thumbRect, Color::darkGray, ColorSpaceDeviceRGB);
</del><ins>+    if (scrollbar.enabled())
+        context.fillRect(thumbRect, Color::darkGray, ColorSpaceDeviceRGB);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformmockScrollbarThemeMockh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/mock/ScrollbarThemeMock.h (185963 => 185964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/mock/ScrollbarThemeMock.h        2015-06-25 21:44:13 UTC (rev 185963)
+++ trunk/Source/WebCore/platform/mock/ScrollbarThemeMock.h        2015-06-25 22:03:25 UTC (rev 185964)
</span><span class="lines">@@ -33,22 +33,22 @@
</span><span class="cx"> // Scrollbar theme used in image snapshots, to eliminate appearance differences between platforms.
</span><span class="cx"> class ScrollbarThemeMock : public ScrollbarThemeComposite {
</span><span class="cx"> public:
</span><del>-    virtual int scrollbarThickness(ScrollbarControlSize = RegularScrollbar);
</del><ins>+    virtual int scrollbarThickness(ScrollbarControlSize = RegularScrollbar) override;
</ins><span class="cx"> 
</span><span class="cx"> protected:
</span><del>-    virtual bool hasButtons(ScrollbarThemeClient*) { return false; }
-    virtual bool hasThumb(ScrollbarThemeClient*) { return true; }
</del><ins>+    virtual bool hasButtons(Scrollbar&amp;) override { return false; }
+    virtual bool hasThumb(Scrollbar&amp;) override  { return true; }
</ins><span class="cx"> 
</span><del>-    virtual IntRect backButtonRect(ScrollbarThemeClient*, ScrollbarPart, bool /*painting*/ = false) { return IntRect(); }
-    virtual IntRect forwardButtonRect(ScrollbarThemeClient*, ScrollbarPart, bool /*painting*/ = false) { return IntRect(); }
-    virtual IntRect trackRect(ScrollbarThemeClient*, bool painting = false);
</del><ins>+    virtual IntRect backButtonRect(Scrollbar&amp;, ScrollbarPart, bool /*painting*/ = false) override { return IntRect(); }
+    virtual IntRect forwardButtonRect(Scrollbar&amp;, ScrollbarPart, bool /*painting*/ = false) override { return IntRect(); }
+    virtual IntRect trackRect(Scrollbar&amp;, bool painting = false) override;
</ins><span class="cx">     
</span><del>-    virtual void paintTrackBackground(GraphicsContext*, ScrollbarThemeClient*, const IntRect&amp;);
-    virtual void paintThumb(GraphicsContext*, ScrollbarThemeClient*, const IntRect&amp;);
-    virtual int maxOverlapBetweenPages() { return 40; }
</del><ins>+    virtual void paintTrackBackground(GraphicsContext&amp;, Scrollbar&amp;, const IntRect&amp;) override;
+    virtual void paintThumb(GraphicsContext&amp;, Scrollbar&amp;, const IntRect&amp;) override;
+    virtual int maxOverlapBetweenPages() override { return 40; }
</ins><span class="cx">     
</span><span class="cx"> private:
</span><del>-    virtual bool isMockTheme() const { return true; }
</del><ins>+    virtual bool isMockTheme() const override { return true; }
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformwinScrollbarThemeSafaricpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/win/ScrollbarThemeSafari.cpp (185963 => 185964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/win/ScrollbarThemeSafari.cpp        2015-06-25 21:44:13 UTC (rev 185963)
+++ trunk/Source/WebCore/platform/win/ScrollbarThemeSafari.cpp        2015-06-25 22:03:25 UTC (rev 185964)
</span><span class="lines">@@ -104,18 +104,18 @@
</span><span class="cx">     return cScrollbarThickness[controlSize];
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool ScrollbarThemeSafari::hasButtons(ScrollbarThemeClient* scrollbar)
</del><ins>+bool ScrollbarThemeSafari::hasButtons(Scrollbar&amp; scrollbar)
</ins><span class="cx"> {
</span><del>-    return scrollbar-&gt;enabled() &amp;&amp; (scrollbar-&gt;orientation() == HorizontalScrollbar ? 
-             scrollbar-&gt;width() : 
-             scrollbar-&gt;height()) &gt;= 2 * (cRealButtonLength[scrollbar-&gt;controlSize()] - cButtonHitInset[scrollbar-&gt;controlSize()]);
</del><ins>+    return scrollbar.enabled() &amp;&amp; (scrollbar.orientation() == HorizontalScrollbar ? 
+             scrollbar.width() : 
+             scrollbar.height()) &gt;= 2 * (cRealButtonLength[scrollbar.controlSize()] - cButtonHitInset[scrollbar.controlSize()]);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool ScrollbarThemeSafari::hasThumb(ScrollbarThemeClient* scrollbar)
</del><ins>+bool ScrollbarThemeSafari::hasThumb(Scrollbar&amp; scrollbar)
</ins><span class="cx"> {
</span><del>-    return scrollbar-&gt;enabled() &amp;&amp; (scrollbar-&gt;orientation() == HorizontalScrollbar ? 
-             scrollbar-&gt;width() : 
-             scrollbar-&gt;height()) &gt;= 2 * cButtonInset[scrollbar-&gt;controlSize()] + cThumbMinLength[scrollbar-&gt;controlSize()] + 1;
</del><ins>+    return scrollbar.enabled() &amp;&amp; (scrollbar.orientation() == HorizontalScrollbar ? 
+             scrollbar.width() : 
+             scrollbar.height()) &gt;= 2 * cButtonInset[scrollbar.controlSize()] + cThumbMinLength[scrollbar.controlSize()] + 1;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static IntRect buttonRepaintRect(const IntRect&amp; buttonRect, ScrollbarOrientation orientation, ScrollbarControlSize controlSize, bool start)
</span><span class="lines">@@ -134,7 +134,7 @@
</span><span class="cx">     return paintRect;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-IntRect ScrollbarThemeSafari::backButtonRect(ScrollbarThemeClient* scrollbar, ScrollbarPart part, bool painting)
</del><ins>+IntRect ScrollbarThemeSafari::backButtonRect(Scrollbar&amp; scrollbar, ScrollbarPart part, bool painting)
</ins><span class="cx"> {
</span><span class="cx">     IntRect result;
</span><span class="cx"> 
</span><span class="lines">@@ -142,17 +142,17 @@
</span><span class="cx">     if (part == BackButtonEndPart)
</span><span class="cx">         return result;
</span><span class="cx"> 
</span><del>-    int thickness = scrollbarThickness(scrollbar-&gt;controlSize());
-    if (scrollbar-&gt;orientation() == HorizontalScrollbar)
-        result = IntRect(scrollbar-&gt;x(), scrollbar-&gt;y(), cButtonLength[scrollbar-&gt;controlSize()], thickness);
</del><ins>+    int thickness = scrollbarThickness(scrollbar.controlSize());
+    if (scrollbar.orientation() == HorizontalScrollbar)
+        result = IntRect(scrollbar.x(), scrollbar.y(), cButtonLength[scrollbar.controlSize()], thickness);
</ins><span class="cx">     else
</span><del>-        result = IntRect(scrollbar-&gt;x(), scrollbar-&gt;y(), thickness, cButtonLength[scrollbar-&gt;controlSize()]);
</del><ins>+        result = IntRect(scrollbar.x(), scrollbar.y(), thickness, cButtonLength[scrollbar.controlSize()]);
</ins><span class="cx">     if (painting)
</span><del>-        return buttonRepaintRect(result, scrollbar-&gt;orientation(), scrollbar-&gt;controlSize(), true);
</del><ins>+        return buttonRepaintRect(result, scrollbar.orientation(), scrollbar.controlSize(), true);
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-IntRect ScrollbarThemeSafari::forwardButtonRect(ScrollbarThemeClient* scrollbar, ScrollbarPart part, bool painting)
</del><ins>+IntRect ScrollbarThemeSafari::forwardButtonRect(Scrollbar&amp; scrollbar, ScrollbarPart part, bool painting)
</ins><span class="cx"> {
</span><span class="cx">     IntRect result;
</span><span class="cx">     
</span><span class="lines">@@ -160,13 +160,13 @@
</span><span class="cx">     if (part == ForwardButtonStartPart)
</span><span class="cx">         return result;
</span><span class="cx"> 
</span><del>-    int thickness = scrollbarThickness(scrollbar-&gt;controlSize());
-    if (scrollbar-&gt;orientation() == HorizontalScrollbar)
-        result = IntRect(scrollbar-&gt;x() + scrollbar-&gt;width() - cButtonLength[scrollbar-&gt;controlSize()], scrollbar-&gt;y(), cButtonLength[scrollbar-&gt;controlSize()], thickness);
</del><ins>+    int thickness = scrollbarThickness(scrollbar.controlSize());
+    if (scrollbar.orientation() == HorizontalScrollbar)
+        result = IntRect(scrollbar.x() + scrollbar.width() - cButtonLength[scrollbar.controlSize()], scrollbar.y(), cButtonLength[scrollbar.controlSize()], thickness);
</ins><span class="cx">     else
</span><del>-        result = IntRect(scrollbar-&gt;x(), scrollbar-&gt;y() + scrollbar-&gt;height() - cButtonLength[scrollbar-&gt;controlSize()], thickness, cButtonLength[scrollbar-&gt;controlSize()]);
</del><ins>+        result = IntRect(scrollbar.x(), scrollbar.y() + scrollbar.height() - cButtonLength[scrollbar.controlSize()], thickness, cButtonLength[scrollbar.controlSize()]);
</ins><span class="cx">     if (painting)
</span><del>-        return buttonRepaintRect(result, scrollbar-&gt;orientation(), scrollbar-&gt;controlSize(), false);
</del><ins>+        return buttonRepaintRect(result, scrollbar.orientation(), scrollbar.controlSize(), false);
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -181,74 +181,74 @@
</span><span class="cx">     return paintRect;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-IntRect ScrollbarThemeSafari::trackRect(ScrollbarThemeClient* scrollbar, bool painting)
</del><ins>+IntRect ScrollbarThemeSafari::trackRect(Scrollbar&amp; scrollbar, bool painting)
</ins><span class="cx"> {
</span><span class="cx">     if (painting || !hasButtons(scrollbar))
</span><del>-        return scrollbar-&gt;frameRect();
</del><ins>+        return scrollbar.frameRect();
</ins><span class="cx">     
</span><span class="cx">     IntRect result;
</span><del>-    int thickness = scrollbarThickness(scrollbar-&gt;controlSize());
-    if (scrollbar-&gt;orientation() == HorizontalScrollbar) 
-        return IntRect(scrollbar-&gt;x() + cButtonLength[scrollbar-&gt;controlSize()], scrollbar-&gt;y(), scrollbar-&gt;width() - 2 * cButtonLength[scrollbar-&gt;controlSize()], thickness);
-    return IntRect(scrollbar-&gt;x(), scrollbar-&gt;y() + cButtonLength[scrollbar-&gt;controlSize()], thickness, scrollbar-&gt;height() - 2 * cButtonLength[scrollbar-&gt;controlSize()]);
</del><ins>+    int thickness = scrollbarThickness(scrollbar.controlSize());
+    if (scrollbar.orientation() == HorizontalScrollbar) 
+        return IntRect(scrollbar.x() + cButtonLength[scrollbar.controlSize()], scrollbar.y(), scrollbar.width() - 2 * cButtonLength[scrollbar.controlSize()], thickness);
+    return IntRect(scrollbar.x(), scrollbar.y() + cButtonLength[scrollbar.controlSize()], thickness, scrollbar.height() - 2 * cButtonLength[scrollbar.controlSize()]);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-int ScrollbarThemeSafari::minimumThumbLength(ScrollbarThemeClient* scrollbar)
</del><ins>+int ScrollbarThemeSafari::minimumThumbLength(Scrollbar&amp; scrollbar)
</ins><span class="cx"> {
</span><del>-    return cThumbMinLength[scrollbar-&gt;controlSize()];
</del><ins>+    return cThumbMinLength[scrollbar.controlSize()];
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool ScrollbarThemeSafari::shouldCenterOnThumb(ScrollbarThemeClient*, const PlatformMouseEvent&amp; evt)
</del><ins>+bool ScrollbarThemeSafari::shouldCenterOnThumb(Scrollbar&amp;, const PlatformMouseEvent&amp; evt)
</ins><span class="cx"> {
</span><span class="cx">     return evt.shiftKey() &amp;&amp; evt.button() == LeftButton;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ScrollbarThemeSafari::paintTrackBackground(GraphicsContext* graphicsContext, ScrollbarThemeClient* scrollbar, const IntRect&amp; trackRect)
</del><ins>+void ScrollbarThemeSafari::paintTrackBackground(GraphicsContext&amp; graphicsContext, Scrollbar&amp; scrollbar, const IntRect&amp; trackRect)
</ins><span class="cx"> {
</span><span class="cx">     if (!SafariThemeLibrary())
</span><span class="cx">         return;
</span><del>-    NSControlSize size = scrollbar-&gt;controlSize() == SmallScrollbar ? NSSmallControlSize : NSRegularControlSize;
</del><ins>+    NSControlSize size = scrollbar.controlSize() == SmallScrollbar ? NSSmallControlSize : NSRegularControlSize;
</ins><span class="cx">     ThemeControlState state = 0;
</span><del>-    if (scrollbar-&gt;isScrollableAreaActive())
</del><ins>+    if (scrollbar.isScrollableAreaActive())
</ins><span class="cx">         state |= ActiveState;
</span><span class="cx">     if (hasButtons(scrollbar))
</span><span class="cx">         state |= EnabledState;
</span><del>-    paintThemePart(scrollbar-&gt;orientation() == VerticalScrollbar ? VScrollTrackPart : HScrollTrackPart, graphicsContext-&gt;platformContext(), trackRect, size, state); 
</del><ins>+    paintThemePart(scrollbar.orientation() == VerticalScrollbar ? VScrollTrackPart : HScrollTrackPart, graphicsContext.platformContext(), trackRect, size, state); 
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ScrollbarThemeSafari::paintButton(GraphicsContext* graphicsContext, ScrollbarThemeClient* scrollbar, const IntRect&amp; buttonRect, ScrollbarPart part)
</del><ins>+void ScrollbarThemeSafari::paintButton(GraphicsContext&amp; graphicsContext, Scrollbar&amp; scrollbar, const IntRect&amp; buttonRect, ScrollbarPart part)
</ins><span class="cx"> {
</span><span class="cx">     if (!SafariThemeLibrary())
</span><span class="cx">         return;
</span><del>-    NSControlSize size = scrollbar-&gt;controlSize() == SmallScrollbar ? NSSmallControlSize : NSRegularControlSize;
</del><ins>+    NSControlSize size = scrollbar.controlSize() == SmallScrollbar ? NSSmallControlSize : NSRegularControlSize;
</ins><span class="cx">     ThemeControlState state = 0;
</span><del>-    if (scrollbar-&gt;isScrollableAreaActive())
</del><ins>+    if (scrollbar.isScrollableAreaActive())
</ins><span class="cx">         state |= ActiveState;
</span><span class="cx">     if (hasButtons(scrollbar))
</span><span class="cx">         state |= EnabledState;
</span><del>-    if (scrollbar-&gt;pressedPart() == part)
</del><ins>+    if (scrollbar.pressedPart() == part)
</ins><span class="cx">         state |= PressedState;
</span><span class="cx">     if (part == BackButtonStartPart)
</span><del>-        paintThemePart(scrollbar-&gt;orientation() == VerticalScrollbar ? ScrollUpArrowPart : ScrollLeftArrowPart, graphicsContext-&gt;platformContext(),
</del><ins>+        paintThemePart(scrollbar.orientation() == VerticalScrollbar ? ScrollUpArrowPart : ScrollLeftArrowPart, graphicsContext.platformContext(),
</ins><span class="cx">                        buttonRect, size, state);
</span><span class="cx">     else if (part == ForwardButtonEndPart)
</span><del>-        paintThemePart(scrollbar-&gt;orientation() == VerticalScrollbar ? ScrollDownArrowPart : ScrollRightArrowPart, graphicsContext-&gt;platformContext(),
</del><ins>+        paintThemePart(scrollbar.orientation() == VerticalScrollbar ? ScrollDownArrowPart : ScrollRightArrowPart, graphicsContext.platformContext(),
</ins><span class="cx">                        buttonRect, size, state);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ScrollbarThemeSafari::paintThumb(GraphicsContext* graphicsContext, ScrollbarThemeClient* scrollbar, const IntRect&amp; thumbRect)
</del><ins>+void ScrollbarThemeSafari::paintThumb(GraphicsContext&amp; graphicsContext, Scrollbar&amp; scrollbar, const IntRect&amp; thumbRect)
</ins><span class="cx"> {
</span><span class="cx">     if (!SafariThemeLibrary())
</span><span class="cx">         return;
</span><del>-    NSControlSize size = scrollbar-&gt;controlSize() == SmallScrollbar ? NSSmallControlSize : NSRegularControlSize;
</del><ins>+    NSControlSize size = scrollbar.controlSize() == SmallScrollbar ? NSSmallControlSize : NSRegularControlSize;
</ins><span class="cx">     ThemeControlState state = 0;
</span><del>-    if (scrollbar-&gt;isScrollableAreaActive())
</del><ins>+    if (scrollbar.isScrollableAreaActive())
</ins><span class="cx">         state |= ActiveState;
</span><span class="cx">     if (hasThumb(scrollbar))
</span><span class="cx">         state |= EnabledState;
</span><del>-    if (scrollbar-&gt;pressedPart() == ThumbPart)
</del><ins>+    if (scrollbar.pressedPart() == ThumbPart)
</ins><span class="cx">         state |= PressedState;
</span><del>-    paintThemePart(scrollbar-&gt;orientation() == VerticalScrollbar ? VScrollThumbPart : HScrollThumbPart, graphicsContext-&gt;platformContext(), 
</del><ins>+    paintThemePart(scrollbar.orientation() == VerticalScrollbar ? VScrollThumbPart : HScrollThumbPart, graphicsContext.platformContext(), 
</ins><span class="cx">                    thumbRect, size, state);
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformwinScrollbarThemeSafarih"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/win/ScrollbarThemeSafari.h (185963 => 185964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/win/ScrollbarThemeSafari.h        2015-06-25 21:44:13 UTC (rev 185963)
+++ trunk/Source/WebCore/platform/win/ScrollbarThemeSafari.h        2015-06-25 22:03:25 UTC (rev 185964)
</span><span class="lines">@@ -41,20 +41,20 @@
</span><span class="cx">     virtual bool supportsControlTints() const { return true; }
</span><span class="cx"> 
</span><span class="cx"> protected:
</span><del>-    virtual bool hasButtons(ScrollbarThemeClient*);
-    virtual bool hasThumb(ScrollbarThemeClient*);
</del><ins>+    virtual bool hasButtons(Scrollbar&amp;);
+    virtual bool hasThumb(Scrollbar&amp;);
</ins><span class="cx"> 
</span><del>-    virtual IntRect backButtonRect(ScrollbarThemeClient*, ScrollbarPart, bool painting = false);
-    virtual IntRect forwardButtonRect(ScrollbarThemeClient*, ScrollbarPart, bool painting = false);
-    virtual IntRect trackRect(ScrollbarThemeClient*, bool painting = false);
</del><ins>+    virtual IntRect backButtonRect(Scrollbar&amp;, ScrollbarPart, bool painting = false);
+    virtual IntRect forwardButtonRect(Scrollbar&amp;, ScrollbarPart, bool painting = false);
+    virtual IntRect trackRect(Scrollbar&amp;, bool painting = false);
</ins><span class="cx"> 
</span><del>-    virtual int minimumThumbLength(ScrollbarThemeClient*);
</del><ins>+    virtual int minimumThumbLength(Scrollbar&amp;);
</ins><span class="cx">     
</span><del>-    virtual bool shouldCenterOnThumb(ScrollbarThemeClient*, const PlatformMouseEvent&amp;);
</del><ins>+    virtual bool shouldCenterOnThumb(Scrollbar&amp;, const PlatformMouseEvent&amp;);
</ins><span class="cx"> 
</span><del>-    virtual void paintTrackBackground(GraphicsContext*, ScrollbarThemeClient*, const IntRect&amp;);
-    virtual void paintButton(GraphicsContext*, ScrollbarThemeClient*, const IntRect&amp;, ScrollbarPart);
-    virtual void paintThumb(GraphicsContext*, ScrollbarThemeClient*, const IntRect&amp;);
</del><ins>+    virtual void paintTrackBackground(GraphicsContext&amp;, Scrollbar&amp;, const IntRect&amp;);
+    virtual void paintButton(GraphicsContext&amp;, Scrollbar&amp;, const IntRect&amp;, ScrollbarPart);
+    virtual void paintThumb(GraphicsContext&amp;, Scrollbar&amp;, const IntRect&amp;);
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformwinScrollbarThemeWincpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/win/ScrollbarThemeWin.cpp (185963 => 185964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/win/ScrollbarThemeWin.cpp        2015-06-25 21:44:13 UTC (rev 185963)
+++ trunk/Source/WebCore/platform/win/ScrollbarThemeWin.cpp        2015-06-25 22:03:25 UTC (rev 185964)
</span><span class="lines">@@ -129,12 +129,12 @@
</span><span class="cx">     return runningVista;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool ScrollbarThemeWin::hasThumb(ScrollbarThemeClient* scrollbar)
</del><ins>+bool ScrollbarThemeWin::hasThumb(Scrollbar&amp; scrollbar)
</ins><span class="cx"> {
</span><span class="cx">     return thumbLength(scrollbar) &gt; 0;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-IntRect ScrollbarThemeWin::backButtonRect(ScrollbarThemeClient* scrollbar, ScrollbarPart part, bool)
</del><ins>+IntRect ScrollbarThemeWin::backButtonRect(Scrollbar&amp; scrollbar, ScrollbarPart part, bool)
</ins><span class="cx"> {
</span><span class="cx">     // Windows just has single arrows.
</span><span class="cx">     if (part == BackButtonEndPart)
</span><span class="lines">@@ -146,14 +146,14 @@
</span><span class="cx">     // we have &lt; 34 pixels left.  This allows the scrollbar
</span><span class="cx">     // to scale down and function even at tiny sizes.
</span><span class="cx">     int thickness = scrollbarThickness();
</span><del>-    if (scrollbar-&gt;orientation() == HorizontalScrollbar)
-        return IntRect(scrollbar-&gt;x(), scrollbar-&gt;y(),
-                       scrollbar-&gt;width() &lt; 2 * thickness ? scrollbar-&gt;width() / 2 : thickness, thickness);
-    return IntRect(scrollbar-&gt;x(), scrollbar-&gt;y(),
-                   thickness, scrollbar-&gt;height() &lt; 2 * thickness ? scrollbar-&gt;height() / 2 : thickness);
</del><ins>+    if (scrollbar.orientation() == HorizontalScrollbar)
+        return IntRect(scrollbar.x(), scrollbar.y(),
+                       scrollbar.width() &lt; 2 * thickness ? scrollbar.width() / 2 : thickness, thickness);
+    return IntRect(scrollbar.x(), scrollbar.y(),
+                   thickness, scrollbar.height() &lt; 2 * thickness ? scrollbar.height() / 2 : thickness);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-IntRect ScrollbarThemeWin::forwardButtonRect(ScrollbarThemeClient* scrollbar, ScrollbarPart part, bool)
</del><ins>+IntRect ScrollbarThemeWin::forwardButtonRect(Scrollbar&amp; scrollbar, ScrollbarPart part, bool)
</ins><span class="cx"> {
</span><span class="cx">     // Windows just has single arrows.
</span><span class="cx">     if (part == ForwardButtonStartPart)
</span><span class="lines">@@ -165,75 +165,75 @@
</span><span class="cx">     // we have &lt; 34 pixels left.  This allows the scrollbar
</span><span class="cx">     // to scale down and function even at tiny sizes.
</span><span class="cx">     int thickness = scrollbarThickness();
</span><del>-    if (scrollbar-&gt;orientation() == HorizontalScrollbar) {
-        int w = scrollbar-&gt;width() &lt; 2 * thickness ? scrollbar-&gt;width() / 2 : thickness;
-        return IntRect(scrollbar-&gt;x() + scrollbar-&gt;width() - w, scrollbar-&gt;y(), w, thickness);
</del><ins>+    if (scrollbar.orientation() == HorizontalScrollbar) {
+        int w = scrollbar.width() &lt; 2 * thickness ? scrollbar.width() / 2 : thickness;
+        return IntRect(scrollbar.x() + scrollbar.width() - w, scrollbar.y(), w, thickness);
</ins><span class="cx">     }
</span><span class="cx">     
</span><del>-    int h = scrollbar-&gt;height() &lt; 2 * thickness ? scrollbar-&gt;height() / 2 : thickness;
-    return IntRect(scrollbar-&gt;x(), scrollbar-&gt;y() + scrollbar-&gt;height() - h, thickness, h);
</del><ins>+    int h = scrollbar.height() &lt; 2 * thickness ? scrollbar.height() / 2 : thickness;
+    return IntRect(scrollbar.x(), scrollbar.y() + scrollbar.height() - h, thickness, h);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-IntRect ScrollbarThemeWin::trackRect(ScrollbarThemeClient* scrollbar, bool)
</del><ins>+IntRect ScrollbarThemeWin::trackRect(Scrollbar&amp; scrollbar, bool)
</ins><span class="cx"> {
</span><span class="cx">     int thickness = scrollbarThickness();
</span><del>-    if (scrollbar-&gt;orientation() == HorizontalScrollbar) {
-        if (scrollbar-&gt;width() &lt; 2 * thickness)
</del><ins>+    if (scrollbar.orientation() == HorizontalScrollbar) {
+        if (scrollbar.width() &lt; 2 * thickness)
</ins><span class="cx">             return IntRect();
</span><del>-        return IntRect(scrollbar-&gt;x() + thickness, scrollbar-&gt;y(), scrollbar-&gt;width() - 2 * thickness, thickness);
</del><ins>+        return IntRect(scrollbar.x() + thickness, scrollbar.y(), scrollbar.width() - 2 * thickness, thickness);
</ins><span class="cx">     }
</span><del>-    if (scrollbar-&gt;height() &lt; 2 * thickness)
</del><ins>+    if (scrollbar.height() &lt; 2 * thickness)
</ins><span class="cx">         return IntRect();
</span><del>-    return IntRect(scrollbar-&gt;x(), scrollbar-&gt;y() + thickness, thickness, scrollbar-&gt;height() - 2 * thickness);
</del><ins>+    return IntRect(scrollbar.x(), scrollbar.y() + thickness, thickness, scrollbar.height() - 2 * thickness);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool ScrollbarThemeWin::shouldCenterOnThumb(ScrollbarThemeClient*, const PlatformMouseEvent&amp; evt)
</del><ins>+bool ScrollbarThemeWin::shouldCenterOnThumb(Scrollbar&amp;, const PlatformMouseEvent&amp; evt)
</ins><span class="cx"> {
</span><span class="cx">     return evt.shiftKey() &amp;&amp; evt.button() == LeftButton;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool ScrollbarThemeWin::shouldSnapBackToDragOrigin(ScrollbarThemeClient* scrollbar, const PlatformMouseEvent&amp; evt)
</del><ins>+bool ScrollbarThemeWin::shouldSnapBackToDragOrigin(Scrollbar&amp; scrollbar, const PlatformMouseEvent&amp; evt)
</ins><span class="cx"> {
</span><span class="cx">     // Find the rect within which we shouldn't snap, by expanding the track rect
</span><span class="cx">     // in both dimensions.
</span><span class="cx">     IntRect rect = trackRect(scrollbar);
</span><del>-    const bool horz = scrollbar-&gt;orientation() == HorizontalScrollbar;
-    const int thickness = scrollbarThickness(scrollbar-&gt;controlSize());
</del><ins>+    const bool horz = scrollbar.orientation() == HorizontalScrollbar;
+    const int thickness = scrollbarThickness(scrollbar.controlSize());
</ins><span class="cx">     rect.inflateX((horz ? kOffEndMultiplier : kOffSideMultiplier) * thickness);
</span><span class="cx">     rect.inflateY((horz ? kOffSideMultiplier : kOffEndMultiplier) * thickness);
</span><span class="cx"> 
</span><span class="cx">     // Convert the event to local coordinates.
</span><del>-    IntPoint mousePosition = scrollbar-&gt;convertFromContainingWindow(evt.position());
-    mousePosition.move(scrollbar-&gt;x(), scrollbar-&gt;y());
</del><ins>+    IntPoint mousePosition = scrollbar.convertFromContainingWindow(evt.position());
+    mousePosition.move(scrollbar.x(), scrollbar.y());
</ins><span class="cx"> 
</span><span class="cx">     // We should snap iff the event is outside our calculated rect.
</span><span class="cx">     return !rect.contains(mousePosition);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ScrollbarThemeWin::paintTrackBackground(GraphicsContext* context, ScrollbarThemeClient* scrollbar, const IntRect&amp; rect)
</del><ins>+void ScrollbarThemeWin::paintTrackBackground(GraphicsContext&amp; context, Scrollbar&amp; scrollbar, const IntRect&amp; rect)
</ins><span class="cx"> {
</span><span class="cx">     // Just assume a forward track part.  We only paint the track as a single piece when there is no thumb.
</span><span class="cx">     if (!hasThumb(scrollbar))
</span><span class="cx">         paintTrackPiece(context, scrollbar, rect, ForwardTrackPart);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ScrollbarThemeWin::paintTrackPiece(GraphicsContext* context, ScrollbarThemeClient* scrollbar, const IntRect&amp; rect, ScrollbarPart partType)
</del><ins>+void ScrollbarThemeWin::paintTrackPiece(GraphicsContext&amp; context, Scrollbar&amp; scrollbar, const IntRect&amp; rect, ScrollbarPart partType)
</ins><span class="cx"> {
</span><span class="cx">     checkAndInitScrollbarTheme();
</span><span class="cx"> 
</span><span class="cx">     bool start = partType == BackTrackPart;
</span><span class="cx">     int part;
</span><del>-    if (scrollbar-&gt;orientation() == HorizontalScrollbar)
</del><ins>+    if (scrollbar.orientation() == HorizontalScrollbar)
</ins><span class="cx">         part = start ? SP_TRACKSTARTHOR : SP_TRACKENDHOR;
</span><span class="cx">     else
</span><span class="cx">         part = start ? SP_TRACKSTARTVERT : SP_TRACKENDVERT;
</span><span class="cx"> 
</span><span class="cx">     int state;
</span><del>-    if (!scrollbar-&gt;enabled())
</del><ins>+    if (!scrollbar.enabled())
</ins><span class="cx">         state = TS_DISABLED;
</span><del>-    else if ((scrollbar-&gt;hoveredPart() == BackTrackPart &amp;&amp; start) ||
-             (scrollbar-&gt;hoveredPart() == ForwardTrackPart &amp;&amp; !start))
-        state = (scrollbar-&gt;pressedPart() == scrollbar-&gt;hoveredPart() ? TS_ACTIVE : TS_HOVER);
</del><ins>+    else if ((scrollbar.hoveredPart() == BackTrackPart &amp;&amp; start) ||
+             (scrollbar.hoveredPart() == ForwardTrackPart &amp;&amp; !start))
+        state = (scrollbar.pressedPart() == scrollbar.hoveredPart() ? TS_ACTIVE : TS_HOVER);
</ins><span class="cx">     else
</span><span class="cx">         state = TS_NORMAL;
</span><span class="cx"> 
</span><span class="lines">@@ -241,7 +241,7 @@
</span><span class="cx">     if (scrollbarTheme)
</span><span class="cx">         alphaBlend = IsThemeBackgroundPartiallyTransparent(scrollbarTheme, part, state);
</span><span class="cx"> 
</span><del>-    LocalWindowsContext windowsContext(context, rect, alphaBlend);
</del><ins>+    LocalWindowsContext windowsContext(&amp;context, rect, alphaBlend);
</ins><span class="cx">     RECT themeRect(rect);
</span><span class="cx"> 
</span><span class="cx">     if (scrollbarTheme)
</span><span class="lines">@@ -267,39 +267,39 @@
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    if (!alphaBlend &amp;&amp; !context-&gt;isInTransparencyLayer())
</del><ins>+    if (!alphaBlend &amp;&amp; !context.isInTransparencyLayer())
</ins><span class="cx">         DIBPixelData::setRGBABitmapAlpha(windowsContext.hdc(), rect, 255);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ScrollbarThemeWin::paintButton(GraphicsContext* context, ScrollbarThemeClient* scrollbar, const IntRect&amp; rect, ScrollbarPart part)
</del><ins>+void ScrollbarThemeWin::paintButton(GraphicsContext&amp; context, Scrollbar&amp; scrollbar, const IntRect&amp; rect, ScrollbarPart part)
</ins><span class="cx"> {
</span><span class="cx">     checkAndInitScrollbarTheme();
</span><span class="cx"> 
</span><span class="cx">     bool start = (part == BackButtonStartPart);
</span><span class="cx">     int xpState = 0;
</span><span class="cx">     int classicState = 0;
</span><del>-    if (scrollbar-&gt;orientation() == HorizontalScrollbar)
</del><ins>+    if (scrollbar.orientation() == HorizontalScrollbar)
</ins><span class="cx">         xpState = start ? TS_LEFT_BUTTON : TS_RIGHT_BUTTON;
</span><span class="cx">     else
</span><span class="cx">         xpState = start ? TS_UP_BUTTON : TS_DOWN_BUTTON;
</span><span class="cx">     classicState = xpState / 4;
</span><span class="cx"> 
</span><del>-    if (!scrollbar-&gt;enabled()) {
</del><ins>+    if (!scrollbar.enabled()) {
</ins><span class="cx">         xpState += TS_DISABLED;
</span><span class="cx">         classicState |= DFCS_INACTIVE;
</span><del>-    } else if ((scrollbar-&gt;hoveredPart() == BackButtonStartPart &amp;&amp; start) ||
-               (scrollbar-&gt;hoveredPart() == ForwardButtonEndPart &amp;&amp; !start)) {
-        if (scrollbar-&gt;pressedPart() == scrollbar-&gt;hoveredPart()) {
</del><ins>+    } else if ((scrollbar.hoveredPart() == BackButtonStartPart &amp;&amp; start) ||
+               (scrollbar.hoveredPart() == ForwardButtonEndPart &amp;&amp; !start)) {
+        if (scrollbar.pressedPart() == scrollbar.hoveredPart()) {
</ins><span class="cx">             xpState += TS_ACTIVE;
</span><span class="cx">             classicState |= DFCS_PUSHED;
</span><span class="cx">             classicState |= DFCS_FLAT;
</span><span class="cx">         } else
</span><span class="cx">             xpState += TS_HOVER;
</span><span class="cx">     } else {
</span><del>-        if (scrollbar-&gt;hoveredPart() == NoPart || !runningVista)
</del><ins>+        if (scrollbar.hoveredPart() == NoPart || !runningVista)
</ins><span class="cx">             xpState += TS_NORMAL;
</span><span class="cx">         else {
</span><del>-            if (scrollbar-&gt;orientation() == HorizontalScrollbar)
</del><ins>+            if (scrollbar.orientation() == HorizontalScrollbar)
</ins><span class="cx">                 xpState = start ? TS_LEFT_BUTTON_HOVER : TS_RIGHT_BUTTON_HOVER;
</span><span class="cx">             else
</span><span class="cx">                 xpState = start ? TS_UP_BUTTON_HOVER : TS_DOWN_BUTTON_HOVER;
</span><span class="lines">@@ -310,14 +310,14 @@
</span><span class="cx">     if (scrollbarTheme)
</span><span class="cx">         alphaBlend = IsThemeBackgroundPartiallyTransparent(scrollbarTheme, SP_BUTTON, xpState);
</span><span class="cx"> 
</span><del>-    LocalWindowsContext windowsContext(context, rect, alphaBlend);
</del><ins>+    LocalWindowsContext windowsContext(&amp;context, rect, alphaBlend);
</ins><span class="cx">     RECT themeRect(rect);
</span><span class="cx">     if (scrollbarTheme)
</span><span class="cx">         DrawThemeBackground(scrollbarTheme, windowsContext.hdc(), SP_BUTTON, xpState, &amp;themeRect, 0);
</span><span class="cx">     else
</span><span class="cx">         ::DrawFrameControl(windowsContext.hdc(), &amp;themeRect, DFC_SCROLL, classicState);
</span><span class="cx"> 
</span><del>-    if (!alphaBlend &amp;&amp; !context-&gt;isInTransparencyLayer())
</del><ins>+    if (!alphaBlend &amp;&amp; !context.isInTransparencyLayer())
</ins><span class="cx">         DIBPixelData::setRGBABitmapAlpha(windowsContext.hdc(), rect, 255);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -330,51 +330,51 @@
</span><span class="cx">                    gripperThickness, gripperThickness);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static void paintGripper(ScrollbarThemeClient* scrollbar, HDC hdc, const IntRect&amp; rect)
</del><ins>+static void paintGripper(Scrollbar&amp; scrollbar, HDC hdc, const IntRect&amp; rect)
</ins><span class="cx"> {
</span><span class="cx">     if (!scrollbarTheme)
</span><span class="cx">         return;  // Classic look has no gripper.
</span><span class="cx">    
</span><span class="cx">     int state;
</span><del>-    if (!scrollbar-&gt;enabled())
</del><ins>+    if (!scrollbar.enabled())
</ins><span class="cx">         state = TS_DISABLED;
</span><del>-    else if (scrollbar-&gt;pressedPart() == ThumbPart)
</del><ins>+    else if (scrollbar.pressedPart() == ThumbPart)
</ins><span class="cx">         state = TS_ACTIVE; // Thumb always stays active once pressed.
</span><del>-    else if (scrollbar-&gt;hoveredPart() == ThumbPart)
</del><ins>+    else if (scrollbar.hoveredPart() == ThumbPart)
</ins><span class="cx">         state = TS_HOVER;
</span><span class="cx">     else
</span><span class="cx">         state = TS_NORMAL;
</span><span class="cx"> 
</span><span class="cx">     RECT themeRect(rect);
</span><del>-    DrawThemeBackground(scrollbarTheme, hdc, scrollbar-&gt;orientation() == HorizontalScrollbar ? SP_GRIPPERHOR : SP_GRIPPERVERT, state, &amp;themeRect, 0);
</del><ins>+    DrawThemeBackground(scrollbarTheme, hdc, scrollbar.orientation() == HorizontalScrollbar ? SP_GRIPPERHOR : SP_GRIPPERVERT, state, &amp;themeRect, 0);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ScrollbarThemeWin::paintThumb(GraphicsContext* context, ScrollbarThemeClient* scrollbar, const IntRect&amp; rect)
</del><ins>+void ScrollbarThemeWin::paintThumb(GraphicsContext&amp; context, Scrollbar&amp; scrollbar, const IntRect&amp; rect)
</ins><span class="cx"> {
</span><span class="cx">     checkAndInitScrollbarTheme();
</span><span class="cx"> 
</span><span class="cx">     int state;
</span><del>-    if (!scrollbar-&gt;enabled())
</del><ins>+    if (!scrollbar.enabled())
</ins><span class="cx">         state = TS_DISABLED;
</span><del>-    else if (scrollbar-&gt;pressedPart() == ThumbPart)
</del><ins>+    else if (scrollbar.pressedPart() == ThumbPart)
</ins><span class="cx">         state = TS_ACTIVE; // Thumb always stays active once pressed.
</span><del>-    else if (scrollbar-&gt;hoveredPart() == ThumbPart)
</del><ins>+    else if (scrollbar.hoveredPart() == ThumbPart)
</ins><span class="cx">         state = TS_HOVER;
</span><span class="cx">     else
</span><span class="cx">         state = TS_NORMAL;
</span><span class="cx"> 
</span><span class="cx">     bool alphaBlend = false;
</span><span class="cx">     if (scrollbarTheme)
</span><del>-        alphaBlend = IsThemeBackgroundPartiallyTransparent(scrollbarTheme, scrollbar-&gt;orientation() == HorizontalScrollbar ? SP_THUMBHOR : SP_THUMBVERT, state);
-    LocalWindowsContext windowsContext(context, rect, alphaBlend);
</del><ins>+        alphaBlend = IsThemeBackgroundPartiallyTransparent(scrollbarTheme, scrollbar.orientation() == HorizontalScrollbar ? SP_THUMBHOR : SP_THUMBVERT, state);
+    LocalWindowsContext windowsContext(&amp;context, rect, alphaBlend);
</ins><span class="cx">     RECT themeRect(rect);
</span><span class="cx">     if (scrollbarTheme) {
</span><del>-        DrawThemeBackground(scrollbarTheme, windowsContext.hdc(), scrollbar-&gt;orientation() == HorizontalScrollbar ? SP_THUMBHOR : SP_THUMBVERT, state, &amp;themeRect, 0);
</del><ins>+        DrawThemeBackground(scrollbarTheme, windowsContext.hdc(), scrollbar.orientation() == HorizontalScrollbar ? SP_THUMBHOR : SP_THUMBVERT, state, &amp;themeRect, 0);
</ins><span class="cx">         paintGripper(scrollbar, windowsContext.hdc(), gripperRect(scrollbarThickness(), rect));
</span><span class="cx">     } else
</span><span class="cx">         ::DrawEdge(windowsContext.hdc(), &amp;themeRect, EDGE_RAISED, BF_RECT | BF_MIDDLE);
</span><span class="cx"> 
</span><del>-    if (!alphaBlend &amp;&amp; !context-&gt;isInTransparencyLayer())
</del><ins>+    if (!alphaBlend &amp;&amp; !context.isInTransparencyLayer())
</ins><span class="cx">         DIBPixelData::setRGBABitmapAlpha(windowsContext.hdc(), rect, 255);
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformwinScrollbarThemeWinh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/win/ScrollbarThemeWin.h (185963 => 185964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/win/ScrollbarThemeWin.h        2015-06-25 21:44:13 UTC (rev 185963)
+++ trunk/Source/WebCore/platform/win/ScrollbarThemeWin.h        2015-06-25 22:03:25 UTC (rev 185964)
</span><span class="lines">@@ -41,21 +41,21 @@
</span><span class="cx">     
</span><span class="cx">     bool invalidateOnMouseEnterExit() override;
</span><span class="cx"> 
</span><del>-    IntRect backButtonRect(ScrollbarThemeClient*, ScrollbarPart, bool painting = false) override;
-    IntRect forwardButtonRect(ScrollbarThemeClient*, ScrollbarPart, bool painting = false) override;
-    IntRect trackRect(ScrollbarThemeClient*, bool painting = false) override;
</del><ins>+    IntRect backButtonRect(Scrollbar&amp;, ScrollbarPart, bool painting = false) override;
+    IntRect forwardButtonRect(Scrollbar&amp;, ScrollbarPart, bool painting = false) override;
+    IntRect trackRect(Scrollbar&amp;, bool painting = false) override;
</ins><span class="cx"> 
</span><span class="cx"> protected:
</span><del>-    bool hasButtons(ScrollbarThemeClient*) override { return true; }
-    bool hasThumb(ScrollbarThemeClient*) override;
</del><ins>+    bool hasButtons(Scrollbar&amp;) override { return true; }
+    bool hasThumb(Scrollbar&amp;) override;
</ins><span class="cx"> 
</span><del>-    bool shouldCenterOnThumb(ScrollbarThemeClient*, const PlatformMouseEvent&amp;) override;
-    bool shouldSnapBackToDragOrigin(ScrollbarThemeClient*, const PlatformMouseEvent&amp;) override;
</del><ins>+    bool shouldCenterOnThumb(Scrollbar&amp;, const PlatformMouseEvent&amp;) override;
+    bool shouldSnapBackToDragOrigin(Scrollbar&amp;, const PlatformMouseEvent&amp;) override;
</ins><span class="cx"> 
</span><del>-    void paintTrackBackground(GraphicsContext*, ScrollbarThemeClient*, const IntRect&amp;) override;
-    void paintTrackPiece(GraphicsContext*, ScrollbarThemeClient*, const IntRect&amp;, ScrollbarPart) override;
-    void paintButton(GraphicsContext*, ScrollbarThemeClient*, const IntRect&amp;, ScrollbarPart) override;
-    void paintThumb(GraphicsContext*, ScrollbarThemeClient*, const IntRect&amp;) override;
</del><ins>+    void paintTrackBackground(GraphicsContext&amp;, Scrollbar&amp;, const IntRect&amp;) override;
+    void paintTrackPiece(GraphicsContext&amp;, Scrollbar&amp;, const IntRect&amp;, ScrollbarPart) override;
+    void paintButton(GraphicsContext&amp;, Scrollbar&amp;, const IntRect&amp;, ScrollbarPart) override;
+    void paintThumb(GraphicsContext&amp;, Scrollbar&amp;, const IntRect&amp;) override;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderScrollbarh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderScrollbar.h (185963 => 185964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderScrollbar.h        2015-06-25 21:44:13 UTC (rev 185963)
+++ trunk/Source/WebCore/rendering/RenderScrollbar.h        2015-06-25 22:03:25 UTC (rev 185964)
</span><span class="lines">@@ -91,7 +91,7 @@
</span><span class="cx"> } // namespace WebCore
</span><span class="cx"> 
</span><span class="cx"> SPECIALIZE_TYPE_TRAITS_BEGIN(WebCore::RenderScrollbar)
</span><del>-    static bool isType(const WebCore::ScrollbarThemeClient&amp; scrollbar) { return scrollbar.isCustomScrollbar(); }
</del><ins>+    static bool isType(const WebCore::Scrollbar&amp; scrollbar) { return scrollbar.isCustomScrollbar(); }
</ins><span class="cx"> SPECIALIZE_TYPE_TRAITS_END()
</span><span class="cx"> 
</span><span class="cx"> #endif // RenderScrollbar_h
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderScrollbarPartcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderScrollbarPart.cpp (185963 => 185964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderScrollbarPart.cpp        2015-06-25 21:44:13 UTC (rev 185963)
+++ trunk/Source/WebCore/rendering/RenderScrollbarPart.cpp        2015-06-25 22:03:25 UTC (rev 185964)
</span><span class="lines">@@ -138,13 +138,13 @@
</span><span class="cx">     setFloating(false);
</span><span class="cx">     setHasOverflowClip(false);
</span><span class="cx">     if (oldStyle &amp;&amp; m_scrollbar &amp;&amp; m_part != NoPart &amp;&amp; diff &gt;= StyleDifferenceRepaint)
</span><del>-        m_scrollbar-&gt;theme()-&gt;invalidatePart(m_scrollbar, m_part);
</del><ins>+        m_scrollbar-&gt;theme()-&gt;invalidatePart(*m_scrollbar, m_part);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void RenderScrollbarPart::imageChanged(WrappedImagePtr image, const IntRect* rect)
</span><span class="cx"> {
</span><span class="cx">     if (m_scrollbar &amp;&amp; m_part != NoPart)
</span><del>-        m_scrollbar-&gt;theme()-&gt;invalidatePart(m_scrollbar, m_part);
</del><ins>+        m_scrollbar-&gt;theme()-&gt;invalidatePart(*m_scrollbar, m_part);
</ins><span class="cx">     else {
</span><span class="cx">         if (view().frameView().isFrameViewScrollCorner(this)) {
</span><span class="cx">             view().frameView().invalidateScrollCorner(view().frameView().scrollCornerRect());
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderScrollbarThemecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderScrollbarTheme.cpp (185963 => 185964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderScrollbarTheme.cpp        2015-06-25 21:44:13 UTC (rev 185963)
+++ trunk/Source/WebCore/rendering/RenderScrollbarTheme.cpp        2015-06-25 22:03:25 UTC (rev 185964)
</span><span class="lines">@@ -37,13 +37,13 @@
</span><span class="cx">     return &amp;theme;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void RenderScrollbarTheme::buttonSizesAlongTrackAxis(ScrollbarThemeClient* scrollbar, int&amp; beforeSize, int&amp; afterSize)
</del><ins>+void RenderScrollbarTheme::buttonSizesAlongTrackAxis(Scrollbar&amp; scrollbar, int&amp; beforeSize, int&amp; afterSize)
</ins><span class="cx"> {
</span><span class="cx">     IntRect firstButton = backButtonRect(scrollbar, BackButtonStartPart);
</span><span class="cx">     IntRect secondButton = forwardButtonRect(scrollbar, ForwardButtonStartPart);
</span><span class="cx">     IntRect thirdButton = backButtonRect(scrollbar, BackButtonEndPart);
</span><span class="cx">     IntRect fourthButton = forwardButtonRect(scrollbar, ForwardButtonEndPart);
</span><del>-    if (scrollbar-&gt;orientation() == HorizontalScrollbar) {
</del><ins>+    if (scrollbar.orientation() == HorizontalScrollbar) {
</ins><span class="cx">         beforeSize = firstButton.width() + secondButton.width();
</span><span class="cx">         afterSize = thirdButton.width() + fourthButton.width();
</span><span class="cx">     } else {
</span><span class="lines">@@ -52,52 +52,52 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool RenderScrollbarTheme::hasButtons(ScrollbarThemeClient* scrollbar)
</del><ins>+bool RenderScrollbarTheme::hasButtons(Scrollbar&amp; scrollbar)
</ins><span class="cx"> {
</span><span class="cx">     int startSize;
</span><span class="cx">     int endSize;
</span><span class="cx">     buttonSizesAlongTrackAxis(scrollbar, startSize, endSize);
</span><del>-    return (startSize + endSize) &lt;= (scrollbar-&gt;orientation() == HorizontalScrollbar ? scrollbar-&gt;width() : scrollbar-&gt;height());
</del><ins>+    return (startSize + endSize) &lt;= (scrollbar.orientation() == HorizontalScrollbar ? scrollbar.width() : scrollbar.height());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool RenderScrollbarTheme::hasThumb(ScrollbarThemeClient* scrollbar)
</del><ins>+bool RenderScrollbarTheme::hasThumb(Scrollbar&amp; scrollbar)
</ins><span class="cx"> {
</span><span class="cx">     return trackLength(scrollbar) - thumbLength(scrollbar) &gt;= 0;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-int RenderScrollbarTheme::minimumThumbLength(ScrollbarThemeClient* scrollbar)
</del><ins>+int RenderScrollbarTheme::minimumThumbLength(Scrollbar&amp; scrollbar)
</ins><span class="cx"> {
</span><del>-    return downcast&lt;RenderScrollbar&gt;(*scrollbar).minimumThumbLength();
</del><ins>+    return downcast&lt;RenderScrollbar&gt;(scrollbar).minimumThumbLength();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-IntRect RenderScrollbarTheme::backButtonRect(ScrollbarThemeClient* scrollbar, ScrollbarPart partType, bool)
</del><ins>+IntRect RenderScrollbarTheme::backButtonRect(Scrollbar&amp; scrollbar, ScrollbarPart partType, bool)
</ins><span class="cx"> {
</span><del>-    return downcast&lt;RenderScrollbar&gt;(*scrollbar).buttonRect(partType);
</del><ins>+    return downcast&lt;RenderScrollbar&gt;(scrollbar).buttonRect(partType);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-IntRect RenderScrollbarTheme::forwardButtonRect(ScrollbarThemeClient* scrollbar, ScrollbarPart partType, bool)
</del><ins>+IntRect RenderScrollbarTheme::forwardButtonRect(Scrollbar&amp; scrollbar, ScrollbarPart partType, bool)
</ins><span class="cx"> {
</span><del>-    return downcast&lt;RenderScrollbar&gt;(*scrollbar).buttonRect(partType);
</del><ins>+    return downcast&lt;RenderScrollbar&gt;(scrollbar).buttonRect(partType);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-IntRect RenderScrollbarTheme::trackRect(ScrollbarThemeClient* scrollbar, bool)
</del><ins>+IntRect RenderScrollbarTheme::trackRect(Scrollbar&amp; scrollbar, bool)
</ins><span class="cx"> {
</span><span class="cx">     if (!hasButtons(scrollbar))
</span><del>-        return scrollbar-&gt;frameRect();
</del><ins>+        return scrollbar.frameRect();
</ins><span class="cx">     
</span><span class="cx">     int startLength;
</span><span class="cx">     int endLength;
</span><span class="cx">     buttonSizesAlongTrackAxis(scrollbar, startLength, endLength);
</span><span class="cx">     
</span><del>-    return downcast&lt;RenderScrollbar&gt;(*scrollbar).trackRect(startLength, endLength);
</del><ins>+    return downcast&lt;RenderScrollbar&gt;(scrollbar).trackRect(startLength, endLength);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-IntRect RenderScrollbarTheme::constrainTrackRectToTrackPieces(ScrollbarThemeClient* scrollbar, const IntRect&amp; rect)
</del><ins>+IntRect RenderScrollbarTheme::constrainTrackRectToTrackPieces(Scrollbar&amp; scrollbar, const IntRect&amp; rect)
</ins><span class="cx"> { 
</span><del>-    IntRect backRect = downcast&lt;RenderScrollbar&gt;(*scrollbar).trackPieceRectWithMargins(BackTrackPart, rect);
-    IntRect forwardRect = downcast&lt;RenderScrollbar&gt;(*scrollbar).trackPieceRectWithMargins(ForwardTrackPart, rect);
</del><ins>+    IntRect backRect = downcast&lt;RenderScrollbar&gt;(scrollbar).trackPieceRectWithMargins(BackTrackPart, rect);
+    IntRect forwardRect = downcast&lt;RenderScrollbar&gt;(scrollbar).trackPieceRectWithMargins(ForwardTrackPart, rect);
</ins><span class="cx">     IntRect result = rect;
</span><del>-    if (scrollbar-&gt;orientation() == HorizontalScrollbar) {
</del><ins>+    if (scrollbar.orientation() == HorizontalScrollbar) {
</ins><span class="cx">         result.setX(backRect.x());
</span><span class="cx">         result.setWidth(forwardRect.maxX() - backRect.x());
</span><span class="cx">     } else {
</span><span class="lines">@@ -107,22 +107,22 @@
</span><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void RenderScrollbarTheme::willPaintScrollbar(GraphicsContext* context, ScrollbarThemeClient* scrollbar)
</del><ins>+void RenderScrollbarTheme::willPaintScrollbar(GraphicsContext&amp; context, Scrollbar&amp; scrollbar)
</ins><span class="cx"> {
</span><del>-    float opacity = downcast&lt;RenderScrollbar&gt;(*scrollbar).opacity();
</del><ins>+    float opacity = downcast&lt;RenderScrollbar&gt;(scrollbar).opacity();
</ins><span class="cx">     if (opacity != 1) {
</span><del>-        context-&gt;save();
-        context-&gt;clip(scrollbar-&gt;frameRect());
-        context-&gt;beginTransparencyLayer(opacity);
</del><ins>+        context.save();
+        context.clip(scrollbar.frameRect());
+        context.beginTransparencyLayer(opacity);
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void RenderScrollbarTheme::didPaintScrollbar(GraphicsContext* context, ScrollbarThemeClient* scrollbar)
</del><ins>+void RenderScrollbarTheme::didPaintScrollbar(GraphicsContext&amp; context, Scrollbar&amp; scrollbar)
</ins><span class="cx"> {
</span><del>-    float opacity = downcast&lt;RenderScrollbar&gt;(*scrollbar).opacity();
</del><ins>+    float opacity = downcast&lt;RenderScrollbar&gt;(scrollbar).opacity();
</ins><span class="cx">     if (opacity != 1) {
</span><del>-        context-&gt;endTransparencyLayer();
-        context-&gt;restore();
</del><ins>+        context.endTransparencyLayer();
+        context.restore();
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -132,32 +132,32 @@
</span><span class="cx">     context-&gt;fillRect(cornerRect, Color::white, ColorSpaceDeviceRGB);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void RenderScrollbarTheme::paintScrollbarBackground(GraphicsContext* context, ScrollbarThemeClient* scrollbar)
</del><ins>+void RenderScrollbarTheme::paintScrollbarBackground(GraphicsContext&amp; context, Scrollbar&amp; scrollbar)
</ins><span class="cx"> {
</span><del>-    downcast&lt;RenderScrollbar&gt;(*scrollbar).paintPart(context, ScrollbarBGPart, scrollbar-&gt;frameRect());
</del><ins>+    downcast&lt;RenderScrollbar&gt;(scrollbar).paintPart(&amp;context, ScrollbarBGPart, scrollbar.frameRect());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void RenderScrollbarTheme::paintTrackBackground(GraphicsContext* context, ScrollbarThemeClient* scrollbar, const IntRect&amp; rect)
</del><ins>+void RenderScrollbarTheme::paintTrackBackground(GraphicsContext&amp; context, Scrollbar&amp; scrollbar, const IntRect&amp; rect)
</ins><span class="cx"> {
</span><del>-    downcast&lt;RenderScrollbar&gt;(*scrollbar).paintPart(context, TrackBGPart, rect);
</del><ins>+    downcast&lt;RenderScrollbar&gt;(scrollbar).paintPart(&amp;context, TrackBGPart, rect);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void RenderScrollbarTheme::paintTrackPiece(GraphicsContext* context, ScrollbarThemeClient* scrollbar, const IntRect&amp; rect, ScrollbarPart part)
</del><ins>+void RenderScrollbarTheme::paintTrackPiece(GraphicsContext&amp; context, Scrollbar&amp; scrollbar, const IntRect&amp; rect, ScrollbarPart part)
</ins><span class="cx"> {
</span><del>-    downcast&lt;RenderScrollbar&gt;(*scrollbar).paintPart(context, part, rect);
</del><ins>+    downcast&lt;RenderScrollbar&gt;(scrollbar).paintPart(&amp;context, part, rect);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void RenderScrollbarTheme::paintButton(GraphicsContext* context, ScrollbarThemeClient* scrollbar, const IntRect&amp; rect, ScrollbarPart part)
</del><ins>+void RenderScrollbarTheme::paintButton(GraphicsContext&amp; context, Scrollbar&amp; scrollbar, const IntRect&amp; rect, ScrollbarPart part)
</ins><span class="cx"> {
</span><del>-    downcast&lt;RenderScrollbar&gt;(*scrollbar).paintPart(context, part, rect);
</del><ins>+    downcast&lt;RenderScrollbar&gt;(scrollbar).paintPart(&amp;context, part, rect);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void RenderScrollbarTheme::paintThumb(GraphicsContext* context, ScrollbarThemeClient* scrollbar, const IntRect&amp; rect)
</del><ins>+void RenderScrollbarTheme::paintThumb(GraphicsContext&amp; context, Scrollbar&amp; scrollbar, const IntRect&amp; rect)
</ins><span class="cx"> {
</span><del>-    downcast&lt;RenderScrollbar&gt;(*scrollbar).paintPart(context, ThumbPart, rect);
</del><ins>+    downcast&lt;RenderScrollbar&gt;(scrollbar).paintPart(&amp;context, ThumbPart, rect);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void RenderScrollbarTheme::paintTickmarks(GraphicsContext* context, ScrollbarThemeClient* scrollbar, const IntRect&amp; rect)
</del><ins>+void RenderScrollbarTheme::paintTickmarks(GraphicsContext&amp; context, Scrollbar&amp; scrollbar, const IntRect&amp; rect)
</ins><span class="cx"> {
</span><span class="cx">     ScrollbarTheme::theme()-&gt;paintTickmarks(context, scrollbar, rect);
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderScrollbarThemeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderScrollbarTheme.h (185963 => 185964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderScrollbarTheme.h        2015-06-25 21:44:13 UTC (rev 185963)
+++ trunk/Source/WebCore/rendering/RenderScrollbarTheme.h        2015-06-25 22:03:25 UTC (rev 185964)
</span><span class="lines">@@ -46,39 +46,39 @@
</span><span class="cx"> 
</span><span class="cx">     virtual void paintScrollCorner(ScrollView*, GraphicsContext*, const IntRect&amp; cornerRect) override;
</span><span class="cx"> 
</span><del>-    virtual bool shouldCenterOnThumb(ScrollbarThemeClient* scrollbar, const PlatformMouseEvent&amp; event) override { return ScrollbarTheme::theme()-&gt;shouldCenterOnThumb(scrollbar, event); }
</del><ins>+    virtual bool shouldCenterOnThumb(Scrollbar&amp; scrollbar, const PlatformMouseEvent&amp; event) override { return ScrollbarTheme::theme()-&gt;shouldCenterOnThumb(scrollbar, event); }
</ins><span class="cx">     
</span><span class="cx">     virtual double initialAutoscrollTimerDelay() override { return ScrollbarTheme::theme()-&gt;initialAutoscrollTimerDelay(); }
</span><span class="cx">     virtual double autoscrollTimerDelay() override { return ScrollbarTheme::theme()-&gt;autoscrollTimerDelay(); }
</span><span class="cx"> 
</span><del>-    virtual void registerScrollbar(ScrollbarThemeClient* scrollbar) override { return ScrollbarTheme::theme()-&gt;registerScrollbar(scrollbar); }
-    virtual void unregisterScrollbar(ScrollbarThemeClient* scrollbar) override { return ScrollbarTheme::theme()-&gt;unregisterScrollbar(scrollbar); }
</del><ins>+    virtual void registerScrollbar(Scrollbar&amp; scrollbar) override { return ScrollbarTheme::theme()-&gt;registerScrollbar(scrollbar); }
+    virtual void unregisterScrollbar(Scrollbar&amp; scrollbar) override { return ScrollbarTheme::theme()-&gt;unregisterScrollbar(scrollbar); }
</ins><span class="cx"> 
</span><del>-    virtual int minimumThumbLength(ScrollbarThemeClient*) override;
</del><ins>+    virtual int minimumThumbLength(Scrollbar&amp;) override;
</ins><span class="cx"> 
</span><del>-    void buttonSizesAlongTrackAxis(ScrollbarThemeClient*, int&amp; beforeSize, int&amp; afterSize);
</del><ins>+    void buttonSizesAlongTrackAxis(Scrollbar&amp;, int&amp; beforeSize, int&amp; afterSize);
</ins><span class="cx">     
</span><span class="cx">     static RenderScrollbarTheme* renderScrollbarTheme();
</span><span class="cx"> 
</span><span class="cx"> protected:
</span><del>-    virtual bool hasButtons(ScrollbarThemeClient*) override;
-    virtual bool hasThumb(ScrollbarThemeClient*) override;
</del><ins>+    virtual bool hasButtons(Scrollbar&amp;) override;
+    virtual bool hasThumb(Scrollbar&amp;) override;
</ins><span class="cx"> 
</span><del>-    virtual IntRect backButtonRect(ScrollbarThemeClient*, ScrollbarPart, bool painting = false) override;
-    virtual IntRect forwardButtonRect(ScrollbarThemeClient*, ScrollbarPart, bool painting = false) override;
-    virtual IntRect trackRect(ScrollbarThemeClient*, bool painting = false) override;
</del><ins>+    virtual IntRect backButtonRect(Scrollbar&amp;, ScrollbarPart, bool painting = false) override;
+    virtual IntRect forwardButtonRect(Scrollbar&amp;, ScrollbarPart, bool painting = false) override;
+    virtual IntRect trackRect(Scrollbar&amp;, bool painting = false) override;
</ins><span class="cx"> 
</span><del>-    virtual void willPaintScrollbar(GraphicsContext*, ScrollbarThemeClient*) override;
-    virtual void didPaintScrollbar(GraphicsContext*, ScrollbarThemeClient*) override;
</del><ins>+    virtual void willPaintScrollbar(GraphicsContext&amp;, Scrollbar&amp;) override;
+    virtual void didPaintScrollbar(GraphicsContext&amp;, Scrollbar&amp;) override;
</ins><span class="cx">     
</span><del>-    virtual void paintScrollbarBackground(GraphicsContext*, ScrollbarThemeClient*) override;
-    virtual void paintTrackBackground(GraphicsContext*, ScrollbarThemeClient*, const IntRect&amp;) override;
-    virtual void paintTrackPiece(GraphicsContext*, ScrollbarThemeClient*, const IntRect&amp;, ScrollbarPart) override;
-    virtual void paintButton(GraphicsContext*, ScrollbarThemeClient*, const IntRect&amp;, ScrollbarPart) override;
-    virtual void paintThumb(GraphicsContext*, ScrollbarThemeClient*, const IntRect&amp;) override;
-    virtual void paintTickmarks(GraphicsContext*, ScrollbarThemeClient*, const IntRect&amp;) override;
</del><ins>+    virtual void paintScrollbarBackground(GraphicsContext&amp;, Scrollbar&amp;) override;
+    virtual void paintTrackBackground(GraphicsContext&amp;, Scrollbar&amp;, const IntRect&amp;) override;
+    virtual void paintTrackPiece(GraphicsContext&amp;, Scrollbar&amp;, const IntRect&amp;, ScrollbarPart) override;
+    virtual void paintButton(GraphicsContext&amp;, Scrollbar&amp;, const IntRect&amp;, ScrollbarPart) override;
+    virtual void paintThumb(GraphicsContext&amp;, Scrollbar&amp;, const IntRect&amp;) override;
+    virtual void paintTickmarks(GraphicsContext&amp;, Scrollbar&amp;, const IntRect&amp;) override;
</ins><span class="cx"> 
</span><del>-    virtual IntRect constrainTrackRectToTrackPieces(ScrollbarThemeClient*, const IntRect&amp;) override;
</del><ins>+    virtual IntRect constrainTrackRectToTrackPieces(Scrollbar&amp;, const IntRect&amp;) override;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre>
</div>
</div>

</body>
</html>