<!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 <andersca@apple.com>
+
+ 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 <mrajca@apple.com>
</span><span class="cx">
</span><span class="cx"> MediaSession: fall back to "content" 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<ScrollbarThemeMac*>(scrollbarTheme);
</span><span class="cx">
</span><span class="cx"> ScrollbarPainter verticalPainter = verticalScrollbar && verticalScrollbar->supportsUpdateOnSecondaryThread()
</span><del>- ? macTheme->painterForScrollbar(verticalScrollbar) : 0;
</del><ins>+ ? macTheme->painterForScrollbar(*verticalScrollbar) : nullptr;
</ins><span class="cx"> ScrollbarPainter horizontalPainter = horizontalScrollbar && horizontalScrollbar->supportsUpdateOnSecondaryThread()
</span><del>- ? macTheme->painterForScrollbar(horizontalScrollbar) : 0;
</del><ins>+ ? macTheme->painterForScrollbar(*horizontalScrollbar) : nullptr;
</ins><span class="cx">
</span><span class="cx"> if (m_verticalScrollbarPainter == verticalPainter && 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()->updateScrollbarOverlayStyle(horizontalScrollbar());
</del><ins>+ ScrollbarTheme::theme()->updateScrollbarOverlayStyle(*horizontalScrollbar());
</ins><span class="cx"> horizontalScrollbar()->invalidate();
</span><span class="cx"> if (ScrollAnimator* scrollAnimator = existingScrollAnimator())
</span><span class="cx"> scrollAnimator->invalidateScrollbarPartLayers(horizontalScrollbar());
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> if (verticalScrollbar()) {
</span><del>- ScrollbarTheme::theme()->updateScrollbarOverlayStyle(verticalScrollbar());
</del><ins>+ ScrollbarTheme::theme()->updateScrollbarOverlayStyle(*verticalScrollbar());
</ins><span class="cx"> verticalScrollbar()->invalidate();
</span><span class="cx"> if (ScrollAnimator* scrollAnimator = existingScrollAnimator())
</span><span class="cx"> scrollAnimator->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->registerScrollbar(this);
</del><ins>+ m_theme->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->unregisterScrollbar(this);
</del><ins>+ m_theme->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()->thumbPosition(this);
</del><ins>+ int oldThumbPosition = theme()->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()->thumbPosition(this) - oldThumbPosition);
</del><ins>+ setPressedPos(m_pressedPos + theme()->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()->invalidateParts(this, ForwardTrackPart | BackTrackPart | ThumbPart);
</del><ins>+ theme()->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->paintingDisabled() || !frameRect().intersects(damageRect))
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- if (!theme()->paint(this, context, damageRect))
</del><ins>+ if (!theme()->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->theme()->trackPosition(scrollbar) + scrollbar->theme()->thumbPosition(scrollbar);
- int thumbLength = scrollbar->theme()->thumbLength(scrollbar);
</del><ins>+ int thumbPos = scrollbar->theme()->trackPosition(*scrollbar) + scrollbar->theme()->thumbPosition(*scrollbar);
+ int thumbLength = scrollbar->theme()->thumbLength(*scrollbar);
</ins><span class="cx"> return scrollbar->pressedPos() >= thumbPos && scrollbar->pressedPos() < 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) && thumbUnderMouse(this)) {
</span><del>- theme()->invalidatePart(this, m_pressedPart);
</del><ins>+ theme()->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) && thumbUnderMouse(this)) {
</span><del>- theme()->invalidatePart(this, m_pressedPart);
</del><ins>+ theme()->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()->thumbPosition(this);
- int thumbLen = theme()->thumbLength(this);
- int trackLen = theme()->trackLength(this);
</del><ins>+ int thumbPos = theme()->thumbPosition(*this);
+ int thumbLen = theme()->thumbLength(*this);
+ int trackLen = theme()->trackLength(*this);
</ins><span class="cx"> int maxPos = trackLen - thumbLen;
</span><span class="cx"> if (delta > 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) && theme()->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()->invalidatePart(this, part);
- theme()->invalidatePart(this, m_hoveredPart);
</del><ins>+ theme()->invalidatePart(*this, part);
+ theme()->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()->invalidatePart(this, m_pressedPart);
</del><ins>+ theme()->invalidatePart(*this, m_pressedPart);
</ins><span class="cx"> m_pressedPart = part;
</span><span class="cx"> if (m_pressedPart != NoPart)
</span><del>- theme()->invalidatePart(this, m_pressedPart);
</del><ins>+ theme()->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()->invalidatePart(this, m_hoveredPart);
</del><ins>+ theme()->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& evt)
</span><span class="cx"> {
</span><span class="cx"> if (m_pressedPart == ThumbPart) {
</span><del>- if (theme()->shouldSnapBackToDragOrigin(this, evt))
</del><ins>+ if (theme()->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()->shouldDragDocumentInsteadOfThumb(this, evt));
</del><ins>+ convertFromContainingWindow(evt.position()).y(), theme()->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()->hitTest(this, evt.position());
</del><ins>+ ScrollbarPart part = theme()->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()->autoscrollTimerDelay());
</span><del>- theme()->invalidatePart(this, m_pressedPart);
</del><ins>+ theme()->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()->invalidatePart(this, m_pressedPart);
</del><ins>+ theme()->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()->hitTest(this, mouseEvent.position());
</del><ins>+ ScrollbarPart part = theme()->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()->hitTest(this, evt.position()));
</del><ins>+ setPressedPart(theme()->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) && theme()->shouldCenterOnThumb(this, evt)) {
</del><ins>+ if ((m_pressedPart == BackTrackPart || m_pressedPart == ForwardTrackPart) && theme()->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()->thumbLength(this);
</del><ins>+ int thumbLen = theme()->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()->trackPosition(this) + theme()->thumbPosition(this) + thumbLen / 2;
</del><ins>+ m_pressedPos = theme()->trackPosition(*this) + theme()->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()->updateEnabledState(this);
</del><ins>+ theme()->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&) { }
</ins><span class="cx">
</span><del>- virtual bool paint(ScrollbarThemeClient*, GraphicsContext*, const IntRect& /*damageRect*/) { return false; }
- virtual ScrollbarPart hitTest(ScrollbarThemeClient*, const IntPoint&) { return NoPart; }
</del><ins>+ virtual bool paint(Scrollbar&, GraphicsContext&, const IntRect& /*damageRect*/) { return false; }
+ virtual ScrollbarPart hitTest(Scrollbar&, const IntPoint&) { 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&) { }
</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& scrollbar, ScrollbarControlPartMask mask)
</ins><span class="cx"> {
</span><span class="cx"> if (mask & 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&, ScrollbarPart) { }
</ins><span class="cx">
</span><span class="cx"> virtual void paintScrollCorner(ScrollView*, GraphicsContext* context, const IntRect& cornerRect) { defaultPaintScrollCorner(context, cornerRect); }
</span><span class="cx"> static void defaultPaintScrollCorner(GraphicsContext* context, const IntRect& cornerRect) { context->fillRect(cornerRect, Color::white, ColorSpaceDeviceRGB); }
</span><span class="cx">
</span><del>- virtual void paintTickmarks(GraphicsContext*, ScrollbarThemeClient*, const IntRect&) { }
</del><ins>+ virtual void paintTickmarks(GraphicsContext&, Scrollbar&, const IntRect&) { }
</ins><span class="cx"> virtual void paintOverhangAreas(ScrollView*, GraphicsContext*, const IntRect&, const IntRect&, const IntRect&) { }
</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&) { return false; }
- virtual bool shouldSnapBackToDragOrigin(ScrollbarThemeClient*, const PlatformMouseEvent&) { return false; }
- virtual bool shouldDragDocumentInsteadOfThumb(ScrollbarThemeClient*, const PlatformMouseEvent&) { 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&, const PlatformMouseEvent&) { return false; }
+ virtual bool shouldSnapBackToDragOrigin(Scrollbar&, const PlatformMouseEvent&) { return false; }
+ virtual bool shouldDragDocumentInsteadOfThumb(Scrollbar&, const PlatformMouseEvent&) { return false; }
+ virtual int thumbPosition(Scrollbar&) { return 0; } // The position of the thumb relative to the track.
+ virtual int thumbLength(Scrollbar&) { return 0; } // The length of the thumb along the axis of the scrollbar.
+ virtual int trackPosition(Scrollbar&) { return 0; } // The position of the track relative to the scrollbar.
+ virtual int trackLength(Scrollbar&) { 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<int>::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&) { }
+ virtual void unregisterScrollbar(Scrollbar&) { }
</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 "ScrollbarThemeComposite.h"
</span><span class="cx">
</span><span class="cx"> #include "GraphicsContext.h"
</span><del>-#include "ScrollbarThemeClient.h"
</del><ins>+#include "Scrollbar.h"
</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& damageRect)
</del><ins>+bool ScrollbarThemeComposite::paint(Scrollbar& scrollbar, GraphicsContext& graphicsContext, const IntRect& 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& position)
</del><ins>+ScrollbarPart ScrollbarThemeComposite::hitTest(Scrollbar& scrollbar, const IntPoint& position)
</ins><span class="cx"> {
</span><span class="cx"> ScrollbarPart result = NoPart;
</span><del>- if (!scrollbar->enabled())
</del><ins>+ if (!scrollbar.enabled())
</ins><span class="cx"> return result;
</span><span class="cx">
</span><del>- IntPoint testPosition = scrollbar->convertFromContainingWindow(position);
- testPosition.move(scrollbar->x(), scrollbar->y());
</del><ins>+ IntPoint testPosition = scrollbar.convertFromContainingWindow(position);
+ testPosition.move(scrollbar.x(), scrollbar.y());
</ins><span class="cx">
</span><del>- if (!scrollbar->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& 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->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->location());
- scrollbar->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& unconstrainedTrackRect, IntRect& beforeThumbRect, IntRect& thumbRect, IntRect& afterThumbRect)
</del><ins>+void ScrollbarThemeComposite::splitTrack(Scrollbar& scrollbar, const IntRect& unconstrainedTrackRect, IntRect& beforeThumbRect, IntRect& thumbRect, IntRect& 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->orientation() == HorizontalScrollbar ? scrollbar->height() : scrollbar->width();
</del><ins>+ int thickness = scrollbar.orientation() == HorizontalScrollbar ? scrollbar.height() : scrollbar.width();
</ins><span class="cx"> int thumbPos = thumbPosition(scrollbar);
</span><del>- if (scrollbar->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& scrollbar)
</ins><span class="cx"> {
</span><del>- float overhangAtStart = -scrollbar->currentPos();
- float overhangAtEnd = scrollbar->currentPos() + scrollbar->visibleSize() - scrollbar->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->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& scrollbar)
</ins><span class="cx"> {
</span><del>- if (scrollbar->enabled()) {
- float size = usedTotalSize(scrollbar) - scrollbar->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->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 < 1 && pos > 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& scrollbar)
</ins><span class="cx"> {
</span><del>- if (!scrollbar->enabled())
</del><ins>+ if (!scrollbar.enabled())
</ins><span class="cx"> return 0;
</span><span class="cx">
</span><del>- float proportion = scrollbar->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& scrollbar)
</ins><span class="cx"> {
</span><del>- return scrollbarThickness(scrollbar->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& scrollbar)
</ins><span class="cx"> {
</span><span class="cx"> IntRect constrainedTrackRect = constrainTrackRectToTrackPieces(scrollbar, trackRect(scrollbar));
</span><del>- return (scrollbar->orientation() == HorizontalScrollbar) ? constrainedTrackRect.x() - scrollbar->x() : constrainedTrackRect.y() - scrollbar->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& scrollbar)
</ins><span class="cx"> {
</span><span class="cx"> IntRect constrainedTrackRect = constrainTrackRectToTrackPieces(scrollbar, trackRect(scrollbar));
</span><del>- return (scrollbar->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& cornerRect)
</span><span class="lines">@@ -265,7 +265,7 @@
</span><span class="cx"> context->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& 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& damageRect);
- virtual ScrollbarPart hitTest(ScrollbarThemeClient*, const IntPoint&);
- 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& cornerRect);
- virtual void paintOverhangAreas(ScrollView*, GraphicsContext*, const IntRect& horizontalOverhangArea, const IntRect& verticalOverhangArea, const IntRect& dirtyRect);
</del><ins>+ virtual bool paint(Scrollbar&, GraphicsContext&, const IntRect& damageRect) override;
+ virtual ScrollbarPart hitTest(Scrollbar&, const IntPoint&) override;
+ virtual void invalidatePart(Scrollbar&, ScrollbarPart) override;
+ virtual int thumbPosition(Scrollbar&) override;
+ virtual int thumbLength(Scrollbar&) override;
+ virtual int trackPosition(Scrollbar&) override;
+ virtual int trackLength(Scrollbar&) override;
+ virtual void paintScrollCorner(ScrollView*, GraphicsContext*, const IntRect& cornerRect) override;
+ virtual void paintOverhangAreas(ScrollView*, GraphicsContext*, const IntRect& horizontalOverhangArea, const IntRect& verticalOverhangArea, const IntRect& dirtyRect) override;
</ins><span class="cx">
</span><del>- virtual bool hasButtons(ScrollbarThemeClient*) = 0;
- virtual bool hasThumb(ScrollbarThemeClient*) = 0;
</del><ins>+ virtual bool hasButtons(Scrollbar&) = 0;
+ virtual bool hasThumb(Scrollbar&) = 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&, ScrollbarPart, bool painting = false) = 0;
+ virtual IntRect forwardButtonRect(Scrollbar&, ScrollbarPart, bool painting = false) = 0;
+ virtual IntRect trackRect(Scrollbar&, bool painting = false) = 0;
+ virtual IntRect thumbRect(Scrollbar&);
</ins><span class="cx">
</span><del>- virtual void splitTrack(ScrollbarThemeClient*, const IntRect& track, IntRect& startTrack, IntRect& thumb, IntRect& endTrack);
</del><ins>+ virtual void splitTrack(Scrollbar&, const IntRect& track, IntRect& startTrack, IntRect& thumb, IntRect& endTrack);
</ins><span class="cx">
</span><del>- virtual int minimumThumbLength(ScrollbarThemeClient*);
</del><ins>+ virtual int minimumThumbLength(Scrollbar&);
</ins><span class="cx">
</span><del>- virtual void willPaintScrollbar(GraphicsContext*, ScrollbarThemeClient*) { }
- virtual void didPaintScrollbar(GraphicsContext*, ScrollbarThemeClient*) { }
</del><ins>+ virtual void willPaintScrollbar(GraphicsContext&, Scrollbar&) { }
+ virtual void didPaintScrollbar(GraphicsContext&, Scrollbar&) { }
</ins><span class="cx">
</span><del>- virtual void paintScrollbarBackground(GraphicsContext*, ScrollbarThemeClient*) { }
- virtual void paintTrackBackground(GraphicsContext*, ScrollbarThemeClient*, const IntRect&) { }
- virtual void paintTrackPiece(GraphicsContext*, ScrollbarThemeClient*, const IntRect&, ScrollbarPart) { }
- virtual void paintButton(GraphicsContext*, ScrollbarThemeClient*, const IntRect&, ScrollbarPart) { }
- virtual void paintThumb(GraphicsContext*, ScrollbarThemeClient*, const IntRect&) { }
</del><ins>+ virtual void paintScrollbarBackground(GraphicsContext&, Scrollbar&) { }
+ virtual void paintTrackBackground(GraphicsContext&, Scrollbar&, const IntRect&) { }
+ virtual void paintTrackPiece(GraphicsContext&, Scrollbar&, const IntRect&, ScrollbarPart) { }
+ virtual void paintButton(GraphicsContext&, Scrollbar&, const IntRect&, ScrollbarPart) { }
+ virtual void paintThumb(GraphicsContext&, Scrollbar&, const IntRect&) { }
</ins><span class="cx">
</span><del>- virtual IntRect constrainTrackRectToTrackPieces(ScrollbarThemeClient*, const IntRect& rect) { return rect; }
</del><ins>+ virtual IntRect constrainTrackRectToTrackPieces(Scrollbar&, const IntRect& 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&) override { }
+ virtual void unregisterScrollbar(Scrollbar&) 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& 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& scrollbar, ScrollbarPart part, bool)
</ins><span class="cx"> {
</span><span class="cx"> #ifndef GTK_API_VERSION_2
</span><span class="cx"> if (part == BackButtonEndPart && !m_hasBackButtonEndPart)
</span><span class="lines">@@ -66,18 +66,18 @@
</span><span class="cx"> if (part == BackButtonStartPart && !m_hasBackButtonStartPart)
</span><span class="cx"> return IntRect();
</span><span class="cx">
</span><del>- int x = scrollbar->x() + m_troughBorderWidth;
- int y = scrollbar->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->orientation() == HorizontalScrollbar)
- return IntRect(scrollbar->x() + scrollbar->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->y() + scrollbar->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& scrollbar, ScrollbarPart part, bool)
</ins><span class="cx"> {
</span><span class="cx"> #ifndef GTK_API_VERSION_2
</span><span class="cx"> if (part == ForwardButtonStartPart && !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->orientation() == HorizontalScrollbar) {
- int y = scrollbar->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->x() + scrollbar->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->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->x() + m_troughBorderWidth;
</del><ins>+ int x = scrollbar.x() + m_troughBorderWidth;
</ins><span class="cx"> if (part == ForwardButtonEndPart)
</span><del>- return IntRect(x, scrollbar->y() + scrollbar->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->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& 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->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->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->width() < 2 * thickness)
</del><ins>+ if (scrollbar.width() < 2 * thickness)
</ins><span class="cx"> return IntRect();
</span><del>- return IntRect(scrollbar->x() + movementAxisPadding + startButtonsOffset, scrollbar->y(),
- scrollbar->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->height() < 2 * thickness)
</del><ins>+ if (scrollbar.height() < 2 * thickness)
</ins><span class="cx"> return IntRect();
</span><del>- return IntRect(scrollbar->x(), scrollbar->y() + movementAxisPadding + startButtonsOffset,
- thickness, scrollbar->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<ScrollbarThemeClient*> ScrollbarMap;
</del><ins>+typedef HashSet<Scrollbar*> ScrollbarMap;
</ins><span class="cx">
</span><span class="cx"> static ScrollbarMap& 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& scrollbar)
</ins><span class="cx"> {
</span><del>- scrollbarMap().add(scrollbar);
</del><ins>+ scrollbarMap().add(&scrollbar);
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void ScrollbarThemeGtk::unregisterScrollbar(ScrollbarThemeClient* scrollbar)
</del><ins>+void ScrollbarThemeGtk::unregisterScrollbar(Scrollbar& scrollbar)
</ins><span class="cx"> {
</span><del>- scrollbarMap().remove(scrollbar);
</del><ins>+ scrollbarMap().remove(&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& unconstrainedTrackRect)
</del><ins>+IntRect ScrollbarThemeGtk::thumbRect(Scrollbar& scrollbar, const IntRect& 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->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& rect)
</del><ins>+void ScrollbarThemeGtk::paintTrackBackground(GraphicsContext& context, Scrollbar& scrollbar, const IntRect& 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->x(), scrollbar->y(), scrollbar->width(), scrollbar->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->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<GtkStateFlags>(0), fullScrollbarRect);
</span><del>- gtk_render_background(styleContext, context->platformContext()->cr(), fullScrollbarRect.x(), fullScrollbarRect.y(), fullScrollbarRect.width(), fullScrollbarRect.height());
- gtk_render_frame(styleContext, context->platformContext()->cr(), fullScrollbarRect.x(), fullScrollbarRect.y(), fullScrollbarRect.width(), fullScrollbarRect.height());
</del><ins>+ gtk_render_background(styleContext, context.platformContext()->cr(), fullScrollbarRect.x(), fullScrollbarRect.y(), fullScrollbarRect.width(), fullScrollbarRect.height());
+ gtk_render_frame(styleContext, context.platformContext()->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& context, Scrollbar& 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->orientation());
</del><ins>+ applyScrollbarStyleContextClasses(styleContext, scrollbar.orientation());
</ins><span class="cx"> gtk_style_context_add_class(styleContext, "scrolled-window");
</span><del>- gtk_render_frame(styleContext, context->platformContext()->cr(), scrollbar->x(), scrollbar->y(), scrollbar->width(), scrollbar->height());
</del><ins>+ gtk_render_frame(styleContext, context.platformContext()->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& rect)
</del><ins>+void ScrollbarThemeGtk::paintThumb(GraphicsContext& context, Scrollbar& scrollbar, const IntRect& 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->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->pressedPart() == ThumbPart)
</del><ins>+ if (scrollbar.pressedPart() == ThumbPart)
</ins><span class="cx"> flags |= GTK_STATE_FLAG_ACTIVE;
</span><del>- if (scrollbar->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<GtkStateFlags>(flags));
</span><span class="cx">
</span><span class="cx"> IntRect thumbRect(rect);
</span><span class="cx"> adjustRectAccordingToMargin(styleContext, static_cast<GtkStateFlags>(flags), thumbRect);
</span><del>- gtk_render_slider(styleContext, context->platformContext()->cr(), thumbRect.x(), thumbRect.y(), thumbRect.width(), thumbRect.height(),
</del><ins>+ gtk_render_slider(styleContext, context.platformContext()->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& rect, ScrollbarPart part)
</del><ins>+void ScrollbarThemeGtk::paintButton(GraphicsContext& context, Scrollbar& scrollbar, const IntRect& 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->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 && scrollbar->currentPos())
- || (BackButtonEndPart == part && scrollbar->currentPos())
- || (ForwardButtonEndPart == part && scrollbar->currentPos() != scrollbar->maximum())
- || (ForwardButtonStartPart == part && scrollbar->currentPos() != scrollbar->maximum())) {
- if (part == scrollbar->pressedPart())
</del><ins>+ if ((BackButtonStartPart == part && scrollbar.currentPos())
+ || (BackButtonEndPart == part && scrollbar.currentPos())
+ || (ForwardButtonEndPart == part && scrollbar.currentPos() != scrollbar.maximum())
+ || (ForwardButtonStartPart == part && scrollbar.currentPos() != scrollbar.maximum())) {
+ if (part == scrollbar.pressedPart())
</ins><span class="cx"> flags |= GTK_STATE_FLAG_ACTIVE;
</span><del>- if (part == scrollbar->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<GtkStateFlags>(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->platformContext()->cr(), rect.x(), rect.y(), rect.width(), rect.height());
- gtk_render_frame(styleContext, context->platformContext()->cr(), rect.x(), rect.y(), rect.width(), rect.height());
</del><ins>+ gtk_render_background(styleContext, context.platformContext()->cr(), rect.x(), rect.y(), rect.width(), rect.height());
+ gtk_render_frame(styleContext, context.platformContext()->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, "arrow-scaling", &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->platformContext()->cr(), angle, arrowPoint.x(), arrowPoint.y(), arrowSize);
</del><ins>+ gtk_render_arrow(styleContext, context.platformContext()->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& damageRect)
</del><ins>+bool ScrollbarThemeGtk::paint(Scrollbar& scrollbar, GraphicsContext& graphicsContext, const IntRect& damageRect)
</ins><span class="cx"> {
</span><del>- if (graphicsContext->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& event)
</del><ins>+bool ScrollbarThemeGtk::shouldCenterOnThumb(Scrollbar&, const PlatformMouseEvent& event)
</ins><span class="cx"> {
</span><span class="cx"> return (event.shiftKey() && 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& scrollbar)
</ins><span class="cx"> {
</span><del>- if (scrollbar->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&)
</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&) { return true; }
+ virtual bool hasThumb(Scrollbar&);
+ virtual IntRect backButtonRect(Scrollbar&, ScrollbarPart, bool);
+ virtual IntRect forwardButtonRect(Scrollbar&, ScrollbarPart, bool);
+ virtual IntRect trackRect(Scrollbar&, 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& unconstrainedTrackRect);
- bool paint(ScrollbarThemeClient*, GraphicsContext*, const IntRect& damageRect);
- void paintScrollbarBackground(GraphicsContext*, ScrollbarThemeClient*);
- void paintTrackBackground(GraphicsContext*, ScrollbarThemeClient*, const IntRect&);
- void paintThumb(GraphicsContext*, ScrollbarThemeClient*, const IntRect&);
- virtual void paintButton(GraphicsContext*, ScrollbarThemeClient*, const IntRect&, ScrollbarPart);
- virtual bool shouldCenterOnThumb(ScrollbarThemeClient*, const PlatformMouseEvent&);
</del><ins>+ IntRect thumbRect(Scrollbar&, const IntRect& unconstrainedTrackRect);
+ bool paint(Scrollbar&, GraphicsContext&, const IntRect& damageRect);
+ void paintScrollbarBackground(GraphicsContext&, Scrollbar&);
+ void paintTrackBackground(GraphicsContext&, Scrollbar&, const IntRect&);
+ void paintThumb(GraphicsContext&, Scrollbar&, const IntRect&);
+ virtual void paintButton(GraphicsContext&, Scrollbar&, const IntRect&, ScrollbarPart);
+ virtual bool shouldCenterOnThumb(Scrollbar&, const PlatformMouseEvent&);
</ins><span class="cx"> virtual int scrollbarThickness(ScrollbarControlSize);
</span><del>- virtual IntSize buttonSize(ScrollbarThemeClient*);
- virtual int minimumThumbLength(ScrollbarThemeClient*);
</del><ins>+ virtual IntSize buttonSize(Scrollbar&);
+ virtual int minimumThumbLength(Scrollbar&);
</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&);
+ void unregisterScrollbar(Scrollbar&);
</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& damageRect) override;
</del><ins>+ virtual bool paint(Scrollbar&, GraphicsContext&, const IntRect& 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&) override;
+ virtual void unregisterScrollbar(Scrollbar&) 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&) override;
+ virtual bool hasThumb(Scrollbar&) 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&, ScrollbarPart, bool painting = false) override;
+ virtual IntRect forwardButtonRect(Scrollbar&, ScrollbarPart, bool painting = false) override;
+ virtual IntRect trackRect(Scrollbar&, bool painting = false) override;
</ins><span class="cx">
</span><del>- virtual int minimumThumbLength(ScrollbarThemeClient*) override;
</del><ins>+ virtual int minimumThumbLength(Scrollbar&) override;
</ins><span class="cx">
</span><del>- virtual bool shouldCenterOnThumb(ScrollbarThemeClient*, const PlatformMouseEvent&) override;
</del><ins>+ virtual bool shouldCenterOnThumb(Scrollbar&, const PlatformMouseEvent&) 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 &theme.get();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void ScrollbarThemeIOS::registerScrollbar(ScrollbarThemeClient*)
</del><ins>+void ScrollbarThemeIOS::registerScrollbar(Scrollbar&)
</ins><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void ScrollbarThemeIOS::unregisterScrollbar(ScrollbarThemeClient*)
</del><ins>+void ScrollbarThemeIOS::unregisterScrollbar(Scrollbar&)
</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&)
</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&)
</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&, 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&, 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&, 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&)
</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&)
</del><ins>+bool ScrollbarThemeIOS::shouldCenterOnThumb(Scrollbar&, const PlatformMouseEvent&)
</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& /*damageRect*/)
</del><ins>+bool ScrollbarThemeIOS::paint(Scrollbar&, GraphicsContext&, const IntRect& /*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->isMockTheme() ? static_cast<ScrollbarThemeMac*>(scrollbarTheme) : 0;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-static ScrollbarPainter scrollbarPainterForScrollbar(Scrollbar* scrollbar)
</del><ins>+static ScrollbarPainter scrollbarPainterForScrollbar(Scrollbar& scrollbar)
</ins><span class="cx"> {
</span><span class="cx"> if (ScrollbarThemeMac* scrollbarTheme = macScrollbarTheme())
</span><span class="cx"> return scrollbarTheme->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->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->convertFromContainingView(_scrollbar->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->setPaintCharacteristicsForScrollbar(_scrollbar);
</del><ins>+ macTheme->setPaintCharacteristicsForScrollbar(*_scrollbar);
</ins><span class="cx">
</span><span class="cx"> if (part == WebCore::ThumbPart && _scrollbar->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]->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 >= 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] > 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->setNewPainterForScrollbar(verticalScrollbar, newVerticalPainter);
</del><ins>+ macTheme->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->setNewPainterForScrollbar(horizontalScrollbar, newHorizontalPainter);
</del><ins>+ macTheme->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&) override;
</ins><span class="cx">
</span><del>- virtual bool paint(ScrollbarThemeClient*, GraphicsContext*, const IntRect& damageRect) override;
</del><ins>+ virtual bool paint(Scrollbar&, GraphicsContext&, const IntRect& 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&) 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&) override;
+ virtual void unregisterScrollbar(Scrollbar&) override;
</ins><span class="cx">
</span><del>- void setNewPainterForScrollbar(ScrollbarThemeClient*, ScrollbarPainter);
- ScrollbarPainter painterForScrollbar(ScrollbarThemeClient*);
</del><ins>+ void setNewPainterForScrollbar(Scrollbar&, ScrollbarPainter);
+ ScrollbarPainter painterForScrollbar(Scrollbar&);
</ins><span class="cx">
</span><del>- void setPaintCharacteristicsForScrollbar(ScrollbarThemeClient*);
</del><ins>+ void setPaintCharacteristicsForScrollbar(Scrollbar&);
</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&) override;
+ virtual bool hasThumb(Scrollbar&) 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&, ScrollbarPart, bool painting = false) override;
+ virtual IntRect forwardButtonRect(Scrollbar&, ScrollbarPart, bool painting = false) override;
+ virtual IntRect trackRect(Scrollbar&, 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&) override;
</ins><span class="cx">
</span><del>- virtual bool shouldCenterOnThumb(ScrollbarThemeClient*, const PlatformMouseEvent&) override;
- virtual bool shouldDragDocumentInsteadOfThumb(ScrollbarThemeClient*, const PlatformMouseEvent&) override;
</del><ins>+ virtual bool shouldCenterOnThumb(Scrollbar&, const PlatformMouseEvent&) override;
+ virtual bool shouldDragDocumentInsteadOfThumb(Scrollbar&, const PlatformMouseEvent&) 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<ScrollbarThemeClient*, RetainPtr<ScrollbarPainter>> ScrollbarPainterMap;
</del><ins>+typedef HashMap<Scrollbar*, RetainPtr<ScrollbarPainter>> 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& scrollbar)
</ins><span class="cx"> {
</span><del>- if (scrollbar->isCustomScrollbar())
</del><ins>+ if (scrollbar.isCustomScrollbar())
</ins><span class="cx"> return;
</span><span class="cx">
</span><del>- bool isHorizontal = scrollbar->orientation() == HorizontalScrollbar;
- ScrollbarPainter scrollbarPainter = [NSClassFromString(@"NSScrollerImp") scrollerImpWithStyle:recommendedScrollerStyle() controlSize:scrollbarControlSizeToNSControlSize(scrollbar->controlSize()) horizontal:isHorizontal replacingScrollerImp:nil];
- scrollbarMap()->add(scrollbar, scrollbarPainter);
</del><ins>+ bool isHorizontal = scrollbar.orientation() == HorizontalScrollbar;
+ ScrollbarPainter scrollbarPainter = [NSClassFromString(@"NSScrollerImp") scrollerImpWithStyle:recommendedScrollerStyle() controlSize:scrollbarControlSizeToNSControlSize(scrollbar.controlSize()) horizontal:isHorizontal replacingScrollerImp:nil];
+ scrollbarMap()->add(&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& scrollbar)
</ins><span class="cx"> {
</span><del>- scrollbarMap()->remove(scrollbar);
</del><ins>+ scrollbarMap()->remove(&scrollbar);
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void ScrollbarThemeMac::setNewPainterForScrollbar(ScrollbarThemeClient* scrollbar, ScrollbarPainter newPainter)
</del><ins>+void ScrollbarThemeMac::setNewPainterForScrollbar(Scrollbar& scrollbar, ScrollbarPainter newPainter)
</ins><span class="cx"> {
</span><del>- scrollbarMap()->set(scrollbar, newPainter);
</del><ins>+ scrollbarMap()->set(&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& scrollbar)
</ins><span class="cx"> {
</span><del>- return scrollbarMap()->get(scrollbar).get();
</del><ins>+ return scrollbarMap()->get(&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& 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->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& scrollbar)
</ins><span class="cx"> {
</span><del>- return scrollbar->enabled() && buttonsPlacement() != ScrollbarButtonsNone
- && (scrollbar->orientation() == HorizontalScrollbar
- ? scrollbar->width()
- : scrollbar->height()) >= 2 * (cRealButtonLength[scrollbar->controlSize()] - cButtonHitInset[scrollbar->controlSize()]);
</del><ins>+ return scrollbar.enabled() && buttonsPlacement() != ScrollbarButtonsNone
+ && (scrollbar.orientation() == HorizontalScrollbar
+ ? scrollbar.width()
+ : scrollbar.height()) >= 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& scrollbar)
</ins><span class="cx"> {
</span><span class="cx"> int minLengthForThumb;
</span><span class="cx">
</span><del>- ScrollbarPainter painter = scrollbarMap()->get(scrollbar).get();
</del><ins>+ ScrollbarPainter painter = scrollbarMap()->get(&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->enabled() && (scrollbar->orientation() == HorizontalScrollbar ?
- scrollbar->width() :
- scrollbar->height()) >= minLengthForThumb;
</del><ins>+ return scrollbar.enabled() && (scrollbar.orientation() == HorizontalScrollbar ?
+ scrollbar.width() :
+ scrollbar.height()) >= minLengthForThumb;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> static IntRect buttonRepaintRect(const IntRect& 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& 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 && (buttonsPlacement() == ScrollbarButtonsNone || buttonsPlacement() == ScrollbarButtonsDoubleStart || buttonsPlacement() == ScrollbarButtonsSingle))
</span><span class="cx"> return result;
</span><span class="cx">
</span><del>- int thickness = scrollbarThickness(scrollbar->controlSize());
</del><ins>+ int thickness = scrollbarThickness(scrollbar.controlSize());
</ins><span class="cx"> bool outerButton = part == BackButtonStartPart && (buttonsPlacement() == ScrollbarButtonsDoubleStart || buttonsPlacement() == ScrollbarButtonsDoubleBoth);
</span><span class="cx"> if (outerButton) {
</span><del>- if (scrollbar->orientation() == HorizontalScrollbar)
- result = IntRect(scrollbar->x(), scrollbar->y(), cOuterButtonLength[scrollbar->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->x(), scrollbar->y(), thickness, cOuterButtonLength[scrollbar->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->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);
</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->y() : scrollbar->y() + scrollbar->height() - cOuterButtonLength[scrollbar->controlSize()] - cButtonLength[scrollbar->controlSize()];
- result = IntRect(scrollbar->x(), start, thickness, cButtonLength[scrollbar->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->orientation(), scrollbar->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& 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 && (buttonsPlacement() == ScrollbarButtonsNone || buttonsPlacement() == ScrollbarButtonsDoubleEnd || buttonsPlacement() == ScrollbarButtonsSingle))
</span><span class="cx"> return result;
</span><span class="cx">
</span><del>- int thickness = scrollbarThickness(scrollbar->controlSize());
- int outerButtonLength = cOuterButtonLength[scrollbar->controlSize()];
- int buttonLength = cButtonLength[scrollbar->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 && (buttonsPlacement() == ScrollbarButtonsDoubleEnd || buttonsPlacement() == ScrollbarButtonsDoubleBoth);
</span><span class="cx"> if (outerButton) {
</span><del>- if (scrollbar->orientation() == HorizontalScrollbar) {
- result = IntRect(scrollbar->x() + scrollbar->width() - outerButtonLength, scrollbar->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->x(), scrollbar->y() + scrollbar->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->orientation() == HorizontalScrollbar) {
- int start = part == ForwardButtonEndPart ? scrollbar->x() + scrollbar->width() - buttonLength : scrollbar->x() + outerButtonLength;
- result = IntRect(start, scrollbar->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->y() + scrollbar->height() - buttonLength : scrollbar->y() + outerButtonLength;
- result = IntRect(scrollbar->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->orientation(), scrollbar->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& scrollbar, bool painting)
</ins><span class="cx"> {
</span><span class="cx"> if (painting || !hasButtons(scrollbar))
</span><del>- return scrollbar->frameRect();
</del><ins>+ return scrollbar.frameRect();
</ins><span class="cx">
</span><span class="cx"> IntRect result;
</span><del>- int thickness = scrollbarThickness(scrollbar->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->controlSize()];
- int buttonLength = cButtonLength[scrollbar->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->orientation() == HorizontalScrollbar)
- return IntRect(scrollbar->x() + startWidth, scrollbar->y(), scrollbar->width() - totalWidth, thickness);
- return IntRect(scrollbar->x(), scrollbar->y() + startWidth, thickness, scrollbar->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& scrollbar)
</ins><span class="cx"> {
</span><span class="cx"> BEGIN_BLOCK_OBJC_EXCEPTIONS;
</span><del>- return [scrollbarMap()->get(scrollbar) knobMinLength];
</del><ins>+ return [scrollbarMap()->get(&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& evt)
</del><ins>+bool ScrollbarThemeMac::shouldCenterOnThumb(Scrollbar&, const PlatformMouseEvent& 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& event)
</del><ins>+bool ScrollbarThemeMac::shouldDragDocumentInsteadOfThumb(Scrollbar&, const PlatformMouseEvent& 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& scrollbar)
</ins><span class="cx"> {
</span><span class="cx"> BEGIN_BLOCK_OBJC_EXCEPTIONS;
</span><del>- [scrollbarMap()->get(scrollbar) setEnabled:scrollbar->enabled()];
</del><ins>+ [scrollbarMap()->get(&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& 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->currentPos(), scrollbar->totalSize(), scrollbar->visibleSize(), value, overhang);
- float proportion = scrollbar->totalSize() > 0 ? (static_cast<CGFloat>(scrollbar->visibleSize()) - overhang) / scrollbar->totalSize() : 1;
</del><ins>+ ScrollableArea::computeScrollbarValueAndOverhang(scrollbar.currentPos(), scrollbar.totalSize(), scrollbar.visibleSize(), value, overhang);
+ float proportion = scrollbar.totalSize() > 0 ? (static_cast<CGFloat>(scrollbar.visibleSize()) - overhang) / scrollbar.totalSize() : 1;
</ins><span class="cx">
</span><del>- [painter setEnabled:scrollbar->enabled()];
- [painter setBoundsSize:scrollbar->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) && PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 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& damageRect)
</del><ins>+bool ScrollbarThemeMac::paint(Scrollbar& scrollbar, GraphicsContext& context, const IntRect& damageRect)
</ins><span class="cx"> {
</span><span class="cx"> setPaintCharacteristicsForScrollbar(scrollbar);
</span><span class="cx">
</span><del>- if (!scrollbar->supportsUpdateOnSecondaryThread()) {
- TemporaryChange<bool> isCurrentlyDrawingIntoLayer(g_isCurrentlyDrawingIntoLayer, context->isCALayerContext());
</del><ins>+ if (!scrollbar.supportsUpdateOnSecondaryThread()) {
+ TemporaryChange<bool> isCurrentlyDrawingIntoLayer(g_isCurrentlyDrawingIntoLayer, context.isCALayerContext());
</ins><span class="cx">
</span><del>- GraphicsContextStateSaver stateSaver(*context);
- context->clip(damageRect);
- context->translate(scrollbar->frameRect().x(), scrollbar->frameRect().y());
- LocalCurrentGraphicsContext localContext(context);
- scrollbarPainterPaint(scrollbarMap()->get(scrollbar).get(), scrollbar->enabled());
</del><ins>+ GraphicsContextStateSaver stateSaver(context);
+ context.clip(damageRect);
+ context.translate(scrollbar.frameRect().x(), scrollbar.frameRect().y());
+ LocalCurrentGraphicsContext localContext(&context);
+ scrollbarPainterPaint(scrollbarMap()->get(&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& scrollbar, bool)
</ins><span class="cx"> {
</span><del>- return scrollbar->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& trackRect)
</del><ins>+void ScrollbarThemeMock::paintTrackBackground(GraphicsContext& context, Scrollbar& scrollbar, const IntRect& trackRect)
</ins><span class="cx"> {
</span><del>- context->fillRect(trackRect, scrollbar->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& thumbRect)
</del><ins>+void ScrollbarThemeMock::paintThumb(GraphicsContext& context, Scrollbar& scrollbar, const IntRect& thumbRect)
</ins><span class="cx"> {
</span><del>- if (scrollbar->enabled())
- context->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&) override { return false; }
+ virtual bool hasThumb(Scrollbar&) 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&, ScrollbarPart, bool /*painting*/ = false) override { return IntRect(); }
+ virtual IntRect forwardButtonRect(Scrollbar&, ScrollbarPart, bool /*painting*/ = false) override { return IntRect(); }
+ virtual IntRect trackRect(Scrollbar&, bool painting = false) override;
</ins><span class="cx">
</span><del>- virtual void paintTrackBackground(GraphicsContext*, ScrollbarThemeClient*, const IntRect&);
- virtual void paintThumb(GraphicsContext*, ScrollbarThemeClient*, const IntRect&);
- virtual int maxOverlapBetweenPages() { return 40; }
</del><ins>+ virtual void paintTrackBackground(GraphicsContext&, Scrollbar&, const IntRect&) override;
+ virtual void paintThumb(GraphicsContext&, Scrollbar&, const IntRect&) 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& scrollbar)
</ins><span class="cx"> {
</span><del>- return scrollbar->enabled() && (scrollbar->orientation() == HorizontalScrollbar ?
- scrollbar->width() :
- scrollbar->height()) >= 2 * (cRealButtonLength[scrollbar->controlSize()] - cButtonHitInset[scrollbar->controlSize()]);
</del><ins>+ return scrollbar.enabled() && (scrollbar.orientation() == HorizontalScrollbar ?
+ scrollbar.width() :
+ scrollbar.height()) >= 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& scrollbar)
</ins><span class="cx"> {
</span><del>- return scrollbar->enabled() && (scrollbar->orientation() == HorizontalScrollbar ?
- scrollbar->width() :
- scrollbar->height()) >= 2 * cButtonInset[scrollbar->controlSize()] + cThumbMinLength[scrollbar->controlSize()] + 1;
</del><ins>+ return scrollbar.enabled() && (scrollbar.orientation() == HorizontalScrollbar ?
+ scrollbar.width() :
+ scrollbar.height()) >= 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& 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& 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->controlSize());
- if (scrollbar->orientation() == HorizontalScrollbar)
- result = IntRect(scrollbar->x(), scrollbar->y(), cButtonLength[scrollbar->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->x(), scrollbar->y(), thickness, cButtonLength[scrollbar->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->orientation(), scrollbar->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& 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->controlSize());
- if (scrollbar->orientation() == HorizontalScrollbar)
- result = IntRect(scrollbar->x() + scrollbar->width() - cButtonLength[scrollbar->controlSize()], scrollbar->y(), cButtonLength[scrollbar->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->x(), scrollbar->y() + scrollbar->height() - cButtonLength[scrollbar->controlSize()], thickness, cButtonLength[scrollbar->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->orientation(), scrollbar->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& scrollbar, bool painting)
</ins><span class="cx"> {
</span><span class="cx"> if (painting || !hasButtons(scrollbar))
</span><del>- return scrollbar->frameRect();
</del><ins>+ return scrollbar.frameRect();
</ins><span class="cx">
</span><span class="cx"> IntRect result;
</span><del>- 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()]);
</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& scrollbar)
</ins><span class="cx"> {
</span><del>- return cThumbMinLength[scrollbar->controlSize()];
</del><ins>+ return cThumbMinLength[scrollbar.controlSize()];
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-bool ScrollbarThemeSafari::shouldCenterOnThumb(ScrollbarThemeClient*, const PlatformMouseEvent& evt)
</del><ins>+bool ScrollbarThemeSafari::shouldCenterOnThumb(Scrollbar&, const PlatformMouseEvent& evt)
</ins><span class="cx"> {
</span><span class="cx"> return evt.shiftKey() && evt.button() == LeftButton;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void ScrollbarThemeSafari::paintTrackBackground(GraphicsContext* graphicsContext, ScrollbarThemeClient* scrollbar, const IntRect& trackRect)
</del><ins>+void ScrollbarThemeSafari::paintTrackBackground(GraphicsContext& graphicsContext, Scrollbar& scrollbar, const IntRect& trackRect)
</ins><span class="cx"> {
</span><span class="cx"> if (!SafariThemeLibrary())
</span><span class="cx"> return;
</span><del>- NSControlSize size = scrollbar->controlSize() == SmallScrollbar ? NSSmallControlSize : NSRegularControlSize;
</del><ins>+ NSControlSize size = scrollbar.controlSize() == SmallScrollbar ? NSSmallControlSize : NSRegularControlSize;
</ins><span class="cx"> ThemeControlState state = 0;
</span><del>- if (scrollbar->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->orientation() == VerticalScrollbar ? VScrollTrackPart : HScrollTrackPart, graphicsContext->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& buttonRect, ScrollbarPart part)
</del><ins>+void ScrollbarThemeSafari::paintButton(GraphicsContext& graphicsContext, Scrollbar& scrollbar, const IntRect& buttonRect, ScrollbarPart part)
</ins><span class="cx"> {
</span><span class="cx"> if (!SafariThemeLibrary())
</span><span class="cx"> return;
</span><del>- NSControlSize size = scrollbar->controlSize() == SmallScrollbar ? NSSmallControlSize : NSRegularControlSize;
</del><ins>+ NSControlSize size = scrollbar.controlSize() == SmallScrollbar ? NSSmallControlSize : NSRegularControlSize;
</ins><span class="cx"> ThemeControlState state = 0;
</span><del>- if (scrollbar->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->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->orientation() == VerticalScrollbar ? ScrollUpArrowPart : ScrollLeftArrowPart, graphicsContext->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->orientation() == VerticalScrollbar ? ScrollDownArrowPart : ScrollRightArrowPart, graphicsContext->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& thumbRect)
</del><ins>+void ScrollbarThemeSafari::paintThumb(GraphicsContext& graphicsContext, Scrollbar& scrollbar, const IntRect& thumbRect)
</ins><span class="cx"> {
</span><span class="cx"> if (!SafariThemeLibrary())
</span><span class="cx"> return;
</span><del>- NSControlSize size = scrollbar->controlSize() == SmallScrollbar ? NSSmallControlSize : NSRegularControlSize;
</del><ins>+ NSControlSize size = scrollbar.controlSize() == SmallScrollbar ? NSSmallControlSize : NSRegularControlSize;
</ins><span class="cx"> ThemeControlState state = 0;
</span><del>- if (scrollbar->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->pressedPart() == ThumbPart)
</del><ins>+ if (scrollbar.pressedPart() == ThumbPart)
</ins><span class="cx"> state |= PressedState;
</span><del>- paintThemePart(scrollbar->orientation() == VerticalScrollbar ? VScrollThumbPart : HScrollThumbPart, graphicsContext->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&);
+ virtual bool hasThumb(Scrollbar&);
</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&, ScrollbarPart, bool painting = false);
+ virtual IntRect forwardButtonRect(Scrollbar&, ScrollbarPart, bool painting = false);
+ virtual IntRect trackRect(Scrollbar&, bool painting = false);
</ins><span class="cx">
</span><del>- virtual int minimumThumbLength(ScrollbarThemeClient*);
</del><ins>+ virtual int minimumThumbLength(Scrollbar&);
</ins><span class="cx">
</span><del>- virtual bool shouldCenterOnThumb(ScrollbarThemeClient*, const PlatformMouseEvent&);
</del><ins>+ virtual bool shouldCenterOnThumb(Scrollbar&, const PlatformMouseEvent&);
</ins><span class="cx">
</span><del>- virtual void paintTrackBackground(GraphicsContext*, ScrollbarThemeClient*, const IntRect&);
- virtual void paintButton(GraphicsContext*, ScrollbarThemeClient*, const IntRect&, ScrollbarPart);
- virtual void paintThumb(GraphicsContext*, ScrollbarThemeClient*, const IntRect&);
</del><ins>+ virtual void paintTrackBackground(GraphicsContext&, Scrollbar&, const IntRect&);
+ virtual void paintButton(GraphicsContext&, Scrollbar&, const IntRect&, ScrollbarPart);
+ virtual void paintThumb(GraphicsContext&, Scrollbar&, const IntRect&);
</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& scrollbar)
</ins><span class="cx"> {
</span><span class="cx"> return thumbLength(scrollbar) > 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& 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 < 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->orientation() == HorizontalScrollbar)
- return IntRect(scrollbar->x(), scrollbar->y(),
- scrollbar->width() < 2 * thickness ? scrollbar->width() / 2 : thickness, thickness);
- return IntRect(scrollbar->x(), scrollbar->y(),
- thickness, scrollbar->height() < 2 * thickness ? scrollbar->height() / 2 : thickness);
</del><ins>+ if (scrollbar.orientation() == HorizontalScrollbar)
+ return IntRect(scrollbar.x(), scrollbar.y(),
+ scrollbar.width() < 2 * thickness ? scrollbar.width() / 2 : thickness, thickness);
+ return IntRect(scrollbar.x(), scrollbar.y(),
+ thickness, scrollbar.height() < 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& 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 < 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->orientation() == HorizontalScrollbar) {
- int w = scrollbar->width() < 2 * thickness ? scrollbar->width() / 2 : thickness;
- return IntRect(scrollbar->x() + scrollbar->width() - w, scrollbar->y(), w, thickness);
</del><ins>+ if (scrollbar.orientation() == HorizontalScrollbar) {
+ int w = scrollbar.width() < 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->height() < 2 * thickness ? scrollbar->height() / 2 : thickness;
- return IntRect(scrollbar->x(), scrollbar->y() + scrollbar->height() - h, thickness, h);
</del><ins>+ int h = scrollbar.height() < 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& scrollbar, bool)
</ins><span class="cx"> {
</span><span class="cx"> int thickness = scrollbarThickness();
</span><del>- if (scrollbar->orientation() == HorizontalScrollbar) {
- if (scrollbar->width() < 2 * thickness)
</del><ins>+ if (scrollbar.orientation() == HorizontalScrollbar) {
+ if (scrollbar.width() < 2 * thickness)
</ins><span class="cx"> return IntRect();
</span><del>- return IntRect(scrollbar->x() + thickness, scrollbar->y(), scrollbar->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->height() < 2 * thickness)
</del><ins>+ if (scrollbar.height() < 2 * thickness)
</ins><span class="cx"> return IntRect();
</span><del>- return IntRect(scrollbar->x(), scrollbar->y() + thickness, thickness, scrollbar->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& evt)
</del><ins>+bool ScrollbarThemeWin::shouldCenterOnThumb(Scrollbar&, const PlatformMouseEvent& evt)
</ins><span class="cx"> {
</span><span class="cx"> return evt.shiftKey() && evt.button() == LeftButton;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-bool ScrollbarThemeWin::shouldSnapBackToDragOrigin(ScrollbarThemeClient* scrollbar, const PlatformMouseEvent& evt)
</del><ins>+bool ScrollbarThemeWin::shouldSnapBackToDragOrigin(Scrollbar& scrollbar, const PlatformMouseEvent& 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->orientation() == HorizontalScrollbar;
- const int thickness = scrollbarThickness(scrollbar->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->convertFromContainingWindow(evt.position());
- mousePosition.move(scrollbar->x(), scrollbar->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& rect)
</del><ins>+void ScrollbarThemeWin::paintTrackBackground(GraphicsContext& context, Scrollbar& scrollbar, const IntRect& 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& rect, ScrollbarPart partType)
</del><ins>+void ScrollbarThemeWin::paintTrackPiece(GraphicsContext& context, Scrollbar& scrollbar, const IntRect& 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->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->enabled())
</del><ins>+ if (!scrollbar.enabled())
</ins><span class="cx"> state = TS_DISABLED;
</span><del>- else if ((scrollbar->hoveredPart() == BackTrackPart && start) ||
- (scrollbar->hoveredPart() == ForwardTrackPart && !start))
- state = (scrollbar->pressedPart() == scrollbar->hoveredPart() ? TS_ACTIVE : TS_HOVER);
</del><ins>+ else if ((scrollbar.hoveredPart() == BackTrackPart && start) ||
+ (scrollbar.hoveredPart() == ForwardTrackPart && !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(&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 && !context->isInTransparencyLayer())
</del><ins>+ if (!alphaBlend && !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& rect, ScrollbarPart part)
</del><ins>+void ScrollbarThemeWin::paintButton(GraphicsContext& context, Scrollbar& scrollbar, const IntRect& 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->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->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->hoveredPart() == BackButtonStartPart && start) ||
- (scrollbar->hoveredPart() == ForwardButtonEndPart && !start)) {
- if (scrollbar->pressedPart() == scrollbar->hoveredPart()) {
</del><ins>+ } else if ((scrollbar.hoveredPart() == BackButtonStartPart && start) ||
+ (scrollbar.hoveredPart() == ForwardButtonEndPart && !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->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->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(&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, &themeRect, 0);
</span><span class="cx"> else
</span><span class="cx"> ::DrawFrameControl(windowsContext.hdc(), &themeRect, DFC_SCROLL, classicState);
</span><span class="cx">
</span><del>- if (!alphaBlend && !context->isInTransparencyLayer())
</del><ins>+ if (!alphaBlend && !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& rect)
</del><ins>+static void paintGripper(Scrollbar& scrollbar, HDC hdc, const IntRect& 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->enabled())
</del><ins>+ if (!scrollbar.enabled())
</ins><span class="cx"> state = TS_DISABLED;
</span><del>- else if (scrollbar->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->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->orientation() == HorizontalScrollbar ? SP_GRIPPERHOR : SP_GRIPPERVERT, state, &themeRect, 0);
</del><ins>+ DrawThemeBackground(scrollbarTheme, hdc, scrollbar.orientation() == HorizontalScrollbar ? SP_GRIPPERHOR : SP_GRIPPERVERT, state, &themeRect, 0);
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void ScrollbarThemeWin::paintThumb(GraphicsContext* context, ScrollbarThemeClient* scrollbar, const IntRect& rect)
</del><ins>+void ScrollbarThemeWin::paintThumb(GraphicsContext& context, Scrollbar& scrollbar, const IntRect& rect)
</ins><span class="cx"> {
</span><span class="cx"> checkAndInitScrollbarTheme();
</span><span class="cx">
</span><span class="cx"> int state;
</span><del>- if (!scrollbar->enabled())
</del><ins>+ if (!scrollbar.enabled())
</ins><span class="cx"> state = TS_DISABLED;
</span><del>- else if (scrollbar->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->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->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(&context, rect, alphaBlend);
</ins><span class="cx"> RECT themeRect(rect);
</span><span class="cx"> if (scrollbarTheme) {
</span><del>- DrawThemeBackground(scrollbarTheme, windowsContext.hdc(), scrollbar->orientation() == HorizontalScrollbar ? SP_THUMBHOR : SP_THUMBVERT, state, &themeRect, 0);
</del><ins>+ DrawThemeBackground(scrollbarTheme, windowsContext.hdc(), scrollbar.orientation() == HorizontalScrollbar ? SP_THUMBHOR : SP_THUMBVERT, state, &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(), &themeRect, EDGE_RAISED, BF_RECT | BF_MIDDLE);
</span><span class="cx">
</span><del>- if (!alphaBlend && !context->isInTransparencyLayer())
</del><ins>+ if (!alphaBlend && !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&, ScrollbarPart, bool painting = false) override;
+ IntRect forwardButtonRect(Scrollbar&, ScrollbarPart, bool painting = false) override;
+ IntRect trackRect(Scrollbar&, 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&) override { return true; }
+ bool hasThumb(Scrollbar&) override;
</ins><span class="cx">
</span><del>- bool shouldCenterOnThumb(ScrollbarThemeClient*, const PlatformMouseEvent&) override;
- bool shouldSnapBackToDragOrigin(ScrollbarThemeClient*, const PlatformMouseEvent&) override;
</del><ins>+ bool shouldCenterOnThumb(Scrollbar&, const PlatformMouseEvent&) override;
+ bool shouldSnapBackToDragOrigin(Scrollbar&, const PlatformMouseEvent&) override;
</ins><span class="cx">
</span><del>- void paintTrackBackground(GraphicsContext*, ScrollbarThemeClient*, const IntRect&) override;
- void paintTrackPiece(GraphicsContext*, ScrollbarThemeClient*, const IntRect&, ScrollbarPart) override;
- void paintButton(GraphicsContext*, ScrollbarThemeClient*, const IntRect&, ScrollbarPart) override;
- void paintThumb(GraphicsContext*, ScrollbarThemeClient*, const IntRect&) override;
</del><ins>+ void paintTrackBackground(GraphicsContext&, Scrollbar&, const IntRect&) override;
+ void paintTrackPiece(GraphicsContext&, Scrollbar&, const IntRect&, ScrollbarPart) override;
+ void paintButton(GraphicsContext&, Scrollbar&, const IntRect&, ScrollbarPart) override;
+ void paintThumb(GraphicsContext&, Scrollbar&, const IntRect&) 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& scrollbar) { return scrollbar.isCustomScrollbar(); }
</del><ins>+ static bool isType(const WebCore::Scrollbar& 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 && m_scrollbar && m_part != NoPart && diff >= StyleDifferenceRepaint)
</span><del>- m_scrollbar->theme()->invalidatePart(m_scrollbar, m_part);
</del><ins>+ m_scrollbar->theme()->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 && m_part != NoPart)
</span><del>- m_scrollbar->theme()->invalidatePart(m_scrollbar, m_part);
</del><ins>+ m_scrollbar->theme()->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 &theme;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void RenderScrollbarTheme::buttonSizesAlongTrackAxis(ScrollbarThemeClient* scrollbar, int& beforeSize, int& afterSize)
</del><ins>+void RenderScrollbarTheme::buttonSizesAlongTrackAxis(Scrollbar& scrollbar, int& beforeSize, int& 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->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& 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) <= (scrollbar->orientation() == HorizontalScrollbar ? scrollbar->width() : scrollbar->height());
</del><ins>+ return (startSize + endSize) <= (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& scrollbar)
</ins><span class="cx"> {
</span><span class="cx"> return trackLength(scrollbar) - thumbLength(scrollbar) >= 0;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-int RenderScrollbarTheme::minimumThumbLength(ScrollbarThemeClient* scrollbar)
</del><ins>+int RenderScrollbarTheme::minimumThumbLength(Scrollbar& scrollbar)
</ins><span class="cx"> {
</span><del>- return downcast<RenderScrollbar>(*scrollbar).minimumThumbLength();
</del><ins>+ return downcast<RenderScrollbar>(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& scrollbar, ScrollbarPart partType, bool)
</ins><span class="cx"> {
</span><del>- return downcast<RenderScrollbar>(*scrollbar).buttonRect(partType);
</del><ins>+ return downcast<RenderScrollbar>(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& scrollbar, ScrollbarPart partType, bool)
</ins><span class="cx"> {
</span><del>- return downcast<RenderScrollbar>(*scrollbar).buttonRect(partType);
</del><ins>+ return downcast<RenderScrollbar>(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& scrollbar, bool)
</ins><span class="cx"> {
</span><span class="cx"> if (!hasButtons(scrollbar))
</span><del>- return scrollbar->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<RenderScrollbar>(*scrollbar).trackRect(startLength, endLength);
</del><ins>+ return downcast<RenderScrollbar>(scrollbar).trackRect(startLength, endLength);
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-IntRect RenderScrollbarTheme::constrainTrackRectToTrackPieces(ScrollbarThemeClient* scrollbar, const IntRect& rect)
</del><ins>+IntRect RenderScrollbarTheme::constrainTrackRectToTrackPieces(Scrollbar& scrollbar, const IntRect& rect)
</ins><span class="cx"> {
</span><del>- IntRect backRect = downcast<RenderScrollbar>(*scrollbar).trackPieceRectWithMargins(BackTrackPart, rect);
- IntRect forwardRect = downcast<RenderScrollbar>(*scrollbar).trackPieceRectWithMargins(ForwardTrackPart, rect);
</del><ins>+ IntRect backRect = downcast<RenderScrollbar>(scrollbar).trackPieceRectWithMargins(BackTrackPart, rect);
+ IntRect forwardRect = downcast<RenderScrollbar>(scrollbar).trackPieceRectWithMargins(ForwardTrackPart, rect);
</ins><span class="cx"> IntRect result = rect;
</span><del>- if (scrollbar->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& context, Scrollbar& scrollbar)
</ins><span class="cx"> {
</span><del>- float opacity = downcast<RenderScrollbar>(*scrollbar).opacity();
</del><ins>+ float opacity = downcast<RenderScrollbar>(scrollbar).opacity();
</ins><span class="cx"> if (opacity != 1) {
</span><del>- context->save();
- context->clip(scrollbar->frameRect());
- context->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& context, Scrollbar& scrollbar)
</ins><span class="cx"> {
</span><del>- float opacity = downcast<RenderScrollbar>(*scrollbar).opacity();
</del><ins>+ float opacity = downcast<RenderScrollbar>(scrollbar).opacity();
</ins><span class="cx"> if (opacity != 1) {
</span><del>- context->endTransparencyLayer();
- context->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->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& context, Scrollbar& scrollbar)
</ins><span class="cx"> {
</span><del>- downcast<RenderScrollbar>(*scrollbar).paintPart(context, ScrollbarBGPart, scrollbar->frameRect());
</del><ins>+ downcast<RenderScrollbar>(scrollbar).paintPart(&context, ScrollbarBGPart, scrollbar.frameRect());
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void RenderScrollbarTheme::paintTrackBackground(GraphicsContext* context, ScrollbarThemeClient* scrollbar, const IntRect& rect)
</del><ins>+void RenderScrollbarTheme::paintTrackBackground(GraphicsContext& context, Scrollbar& scrollbar, const IntRect& rect)
</ins><span class="cx"> {
</span><del>- downcast<RenderScrollbar>(*scrollbar).paintPart(context, TrackBGPart, rect);
</del><ins>+ downcast<RenderScrollbar>(scrollbar).paintPart(&context, TrackBGPart, rect);
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void RenderScrollbarTheme::paintTrackPiece(GraphicsContext* context, ScrollbarThemeClient* scrollbar, const IntRect& rect, ScrollbarPart part)
</del><ins>+void RenderScrollbarTheme::paintTrackPiece(GraphicsContext& context, Scrollbar& scrollbar, const IntRect& rect, ScrollbarPart part)
</ins><span class="cx"> {
</span><del>- downcast<RenderScrollbar>(*scrollbar).paintPart(context, part, rect);
</del><ins>+ downcast<RenderScrollbar>(scrollbar).paintPart(&context, part, rect);
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void RenderScrollbarTheme::paintButton(GraphicsContext* context, ScrollbarThemeClient* scrollbar, const IntRect& rect, ScrollbarPart part)
</del><ins>+void RenderScrollbarTheme::paintButton(GraphicsContext& context, Scrollbar& scrollbar, const IntRect& rect, ScrollbarPart part)
</ins><span class="cx"> {
</span><del>- downcast<RenderScrollbar>(*scrollbar).paintPart(context, part, rect);
</del><ins>+ downcast<RenderScrollbar>(scrollbar).paintPart(&context, part, rect);
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void RenderScrollbarTheme::paintThumb(GraphicsContext* context, ScrollbarThemeClient* scrollbar, const IntRect& rect)
</del><ins>+void RenderScrollbarTheme::paintThumb(GraphicsContext& context, Scrollbar& scrollbar, const IntRect& rect)
</ins><span class="cx"> {
</span><del>- downcast<RenderScrollbar>(*scrollbar).paintPart(context, ThumbPart, rect);
</del><ins>+ downcast<RenderScrollbar>(scrollbar).paintPart(&context, ThumbPart, rect);
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void RenderScrollbarTheme::paintTickmarks(GraphicsContext* context, ScrollbarThemeClient* scrollbar, const IntRect& rect)
</del><ins>+void RenderScrollbarTheme::paintTickmarks(GraphicsContext& context, Scrollbar& scrollbar, const IntRect& rect)
</ins><span class="cx"> {
</span><span class="cx"> ScrollbarTheme::theme()->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& cornerRect) override;
</span><span class="cx">
</span><del>- virtual bool shouldCenterOnThumb(ScrollbarThemeClient* scrollbar, const PlatformMouseEvent& event) override { return ScrollbarTheme::theme()->shouldCenterOnThumb(scrollbar, event); }
</del><ins>+ virtual bool shouldCenterOnThumb(Scrollbar& scrollbar, const PlatformMouseEvent& event) override { return ScrollbarTheme::theme()->shouldCenterOnThumb(scrollbar, event); }
</ins><span class="cx">
</span><span class="cx"> virtual double initialAutoscrollTimerDelay() override { return ScrollbarTheme::theme()->initialAutoscrollTimerDelay(); }
</span><span class="cx"> virtual double autoscrollTimerDelay() override { return ScrollbarTheme::theme()->autoscrollTimerDelay(); }
</span><span class="cx">
</span><del>- virtual void registerScrollbar(ScrollbarThemeClient* scrollbar) override { return ScrollbarTheme::theme()->registerScrollbar(scrollbar); }
- virtual void unregisterScrollbar(ScrollbarThemeClient* scrollbar) override { return ScrollbarTheme::theme()->unregisterScrollbar(scrollbar); }
</del><ins>+ virtual void registerScrollbar(Scrollbar& scrollbar) override { return ScrollbarTheme::theme()->registerScrollbar(scrollbar); }
+ virtual void unregisterScrollbar(Scrollbar& scrollbar) override { return ScrollbarTheme::theme()->unregisterScrollbar(scrollbar); }
</ins><span class="cx">
</span><del>- virtual int minimumThumbLength(ScrollbarThemeClient*) override;
</del><ins>+ virtual int minimumThumbLength(Scrollbar&) override;
</ins><span class="cx">
</span><del>- void buttonSizesAlongTrackAxis(ScrollbarThemeClient*, int& beforeSize, int& afterSize);
</del><ins>+ void buttonSizesAlongTrackAxis(Scrollbar&, int& beforeSize, int& 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&) override;
+ virtual bool hasThumb(Scrollbar&) 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&, ScrollbarPart, bool painting = false) override;
+ virtual IntRect forwardButtonRect(Scrollbar&, ScrollbarPart, bool painting = false) override;
+ virtual IntRect trackRect(Scrollbar&, 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&, Scrollbar&) override;
+ virtual void didPaintScrollbar(GraphicsContext&, Scrollbar&) override;
</ins><span class="cx">
</span><del>- virtual void paintScrollbarBackground(GraphicsContext*, ScrollbarThemeClient*) override;
- virtual void paintTrackBackground(GraphicsContext*, ScrollbarThemeClient*, const IntRect&) override;
- virtual void paintTrackPiece(GraphicsContext*, ScrollbarThemeClient*, const IntRect&, ScrollbarPart) override;
- virtual void paintButton(GraphicsContext*, ScrollbarThemeClient*, const IntRect&, ScrollbarPart) override;
- virtual void paintThumb(GraphicsContext*, ScrollbarThemeClient*, const IntRect&) override;
- virtual void paintTickmarks(GraphicsContext*, ScrollbarThemeClient*, const IntRect&) override;
</del><ins>+ virtual void paintScrollbarBackground(GraphicsContext&, Scrollbar&) override;
+ virtual void paintTrackBackground(GraphicsContext&, Scrollbar&, const IntRect&) override;
+ virtual void paintTrackPiece(GraphicsContext&, Scrollbar&, const IntRect&, ScrollbarPart) override;
+ virtual void paintButton(GraphicsContext&, Scrollbar&, const IntRect&, ScrollbarPart) override;
+ virtual void paintThumb(GraphicsContext&, Scrollbar&, const IntRect&) override;
+ virtual void paintTickmarks(GraphicsContext&, Scrollbar&, const IntRect&) override;
</ins><span class="cx">
</span><del>- virtual IntRect constrainTrackRectToTrackPieces(ScrollbarThemeClient*, const IntRect&) override;
</del><ins>+ virtual IntRect constrainTrackRectToTrackPieces(Scrollbar&, const IntRect&) override;
</ins><span class="cx"> };
</span><span class="cx">
</span><span class="cx"> } // namespace WebCore
</span></span></pre>
</div>
</div>
</body>
</html>