<!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>[189270] trunk/Source</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/189270">189270</a></dd>
<dt>Author</dt> <dd>akling@apple.com</dd>
<dt>Date</dt> <dd>2015-09-02 19:58:14 -0700 (Wed, 02 Sep 2015)</dd>
</dl>
<h3>Log Message</h3>
<pre>ScrollbarThemes should be returned by reference.
<https://webkit.org/b/147551>
Reviewed by Zalan Bujtas.
Source/WebCore:
There's always a ScrollbarTheme of some type, so have ScrollbarTheme getters
return references all around.
* css/SelectorCheckerTestFunctions.h:
(WebCore::scrollbarMatchesDoubleButtonPseudoClass):
(WebCore::scrollbarMatchesSingleButtonPseudoClass):
(WebCore::scrollbarMatchesNoButtonPseudoClass):
* html/shadow/SpinButtonElement.cpp:
(WebCore::SpinButtonElement::startRepeatingTimer):
* page/PageOverlay.cpp:
(WebCore::PageOverlay::bounds):
* page/scrolling/mac/ScrollingStateFrameScrollingNodeMac.mm:
(WebCore::ScrollingStateFrameScrollingNode::setScrollbarPaintersFromScrollbars):
* platform/ScrollView.cpp:
(WebCore::ScrollView::paintScrollCorner):
(WebCore::ScrollView::paintOverhangAreas):
* platform/ScrollableArea.cpp:
(WebCore::ScrollableArea::setScrollbarOverlayStyle):
* platform/Scrollbar.cpp:
(WebCore::Scrollbar::maxOverlapBetweenPages):
(WebCore::Scrollbar::Scrollbar):
(WebCore::Scrollbar::~Scrollbar):
(WebCore::Scrollbar::offsetDidChange):
(WebCore::Scrollbar::updateThumb):
(WebCore::Scrollbar::paint):
(WebCore::Scrollbar::autoscrollTimerFired):
(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):
(WebCore::Scrollbar::isOverlayScrollbar):
* platform/Scrollbar.h:
(WebCore::Scrollbar::theme):
* platform/ScrollbarTheme.cpp:
(WebCore::ScrollbarTheme::theme):
* platform/ScrollbarTheme.h:
* platform/efl/ScrollbarThemeEfl.cpp:
(WebCore::ScrollbarTheme::nativeTheme):
* platform/gtk/ScrollbarThemeGtk.cpp:
(WebCore::ScrollbarTheme::nativeTheme):
* platform/ios/ScrollbarThemeIOS.mm:
(WebCore::ScrollbarTheme::nativeTheme):
* platform/mac/ScrollAnimatorMac.mm:
(macScrollbarTheme):
* platform/mac/ScrollbarThemeMac.mm:
(+[WebScrollbarPrefsObserver appearancePrefsChanged:]):
(+[WebScrollbarPrefsObserver behaviorPrefsChanged:]):
(WebCore::ScrollbarTheme::nativeTheme):
* platform/win/PopupMenuWin.cpp:
(WebCore::PopupMenuWin::calculatePositionAndSize):
(WebCore::AccessiblePopupMenu::accLocation):
(WebCore::AccessiblePopupMenu::accHitTest):
* platform/win/ScrollbarThemeSafari.cpp:
(WebCore::ScrollbarTheme::nativeTheme):
* platform/win/ScrollbarThemeWin.cpp:
(WebCore::ScrollbarTheme::nativeTheme):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::hasVerticalScrollbarWithAutoBehavior):
(WebCore::RenderBox::hasHorizontalScrollbarWithAutoBehavior):
* rendering/RenderLayer.cpp:
(WebCore::cornerRect):
(WebCore::styleRequiresScrollbar):
(WebCore::styleDefinesAutomaticScrollbar):
* rendering/RenderScrollbar.cpp:
(WebCore::RenderScrollbar::updateScrollbarPart):
* rendering/RenderScrollbarPart.cpp:
(WebCore::calcScrollbarThicknessUsing):
(WebCore::RenderScrollbarPart::styleDidChange):
(WebCore::RenderScrollbarPart::imageChanged):
* rendering/RenderScrollbarTheme.cpp:
(WebCore::RenderScrollbarTheme::paintTickmarks):
* rendering/RenderScrollbarTheme.h:
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::scrollbarThickness):
Source/WebKit/win:
* WebView.cpp:
(WebView::gestureNotify):
(WebView::WebViewWndProc):
Source/WebKit2:
* WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::paintControlForLayerInContext):</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCorecssSelectorCheckerTestFunctionsh">trunk/Source/WebCore/css/SelectorCheckerTestFunctions.h</a></li>
<li><a href="#trunkSourceWebCorehtmlshadowSpinButtonElementcpp">trunk/Source/WebCore/html/shadow/SpinButtonElement.cpp</a></li>
<li><a href="#trunkSourceWebCorepagePageOverlaycpp">trunk/Source/WebCore/page/PageOverlay.cpp</a></li>
<li><a href="#trunkSourceWebCorepagescrollingmacScrollingStateFrameScrollingNodeMacmm">trunk/Source/WebCore/page/scrolling/mac/ScrollingStateFrameScrollingNodeMac.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformScrollViewcpp">trunk/Source/WebCore/platform/ScrollView.cpp</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="#trunkSourceWebCoreplatformScrollbarh">trunk/Source/WebCore/platform/Scrollbar.h</a></li>
<li><a href="#trunkSourceWebCoreplatformScrollbarThemecpp">trunk/Source/WebCore/platform/ScrollbarTheme.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformScrollbarThemeh">trunk/Source/WebCore/platform/ScrollbarTheme.h</a></li>
<li><a href="#trunkSourceWebCoreplatformeflScrollbarThemeEflcpp">trunk/Source/WebCore/platform/efl/ScrollbarThemeEfl.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgtkScrollbarThemeGtkcpp">trunk/Source/WebCore/platform/gtk/ScrollbarThemeGtk.cpp</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="#trunkSourceWebCoreplatformmacScrollbarThemeMacmm">trunk/Source/WebCore/platform/mac/ScrollbarThemeMac.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformwinPopupMenuWincpp">trunk/Source/WebCore/platform/win/PopupMenuWin.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformwinScrollbarThemeSafaricpp">trunk/Source/WebCore/platform/win/ScrollbarThemeSafari.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformwinScrollbarThemeWincpp">trunk/Source/WebCore/platform/win/ScrollbarThemeWin.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderBoxcpp">trunk/Source/WebCore/rendering/RenderBox.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderLayercpp">trunk/Source/WebCore/rendering/RenderLayer.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderScrollbarcpp">trunk/Source/WebCore/rendering/RenderScrollbar.cpp</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>
<li><a href="#trunkSourceWebCorerenderingRenderTextControlcpp">trunk/Source/WebCore/rendering/RenderTextControl.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderThemeEflcpp">trunk/Source/WebCore/rendering/RenderThemeEfl.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderThemeGtkcpp">trunk/Source/WebCore/rendering/RenderThemeGtk.cpp</a></li>
<li><a href="#trunkSourceWebKitwinChangeLog">trunk/Source/WebKit/win/ChangeLog</a></li>
<li><a href="#trunkSourceWebKitwinWebViewcpp">trunk/Source/WebKit/win/WebView.cpp</a></li>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2WebProcessPluginsPDFPDFPluginmm">trunk/Source/WebKit2/WebProcess/Plugins/PDF/PDFPlugin.mm</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (189269 => 189270)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2015-09-03 02:51:05 UTC (rev 189269)
+++ trunk/Source/WebCore/ChangeLog        2015-09-03 02:58:14 UTC (rev 189270)
</span><span class="lines">@@ -1,3 +1,91 @@
</span><ins>+2015-09-02 Andreas Kling <akling@apple.com>
+
+ ScrollbarThemes should be returned by reference.
+ <https://webkit.org/b/147551>
+
+ Reviewed by Zalan Bujtas.
+
+ There's always a ScrollbarTheme of some type, so have ScrollbarTheme getters
+ return references all around.
+
+ * css/SelectorCheckerTestFunctions.h:
+ (WebCore::scrollbarMatchesDoubleButtonPseudoClass):
+ (WebCore::scrollbarMatchesSingleButtonPseudoClass):
+ (WebCore::scrollbarMatchesNoButtonPseudoClass):
+ * html/shadow/SpinButtonElement.cpp:
+ (WebCore::SpinButtonElement::startRepeatingTimer):
+ * page/PageOverlay.cpp:
+ (WebCore::PageOverlay::bounds):
+ * page/scrolling/mac/ScrollingStateFrameScrollingNodeMac.mm:
+ (WebCore::ScrollingStateFrameScrollingNode::setScrollbarPaintersFromScrollbars):
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::paintScrollCorner):
+ (WebCore::ScrollView::paintOverhangAreas):
+ * platform/ScrollableArea.cpp:
+ (WebCore::ScrollableArea::setScrollbarOverlayStyle):
+ * platform/Scrollbar.cpp:
+ (WebCore::Scrollbar::maxOverlapBetweenPages):
+ (WebCore::Scrollbar::Scrollbar):
+ (WebCore::Scrollbar::~Scrollbar):
+ (WebCore::Scrollbar::offsetDidChange):
+ (WebCore::Scrollbar::updateThumb):
+ (WebCore::Scrollbar::paint):
+ (WebCore::Scrollbar::autoscrollTimerFired):
+ (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):
+ (WebCore::Scrollbar::isOverlayScrollbar):
+ * platform/Scrollbar.h:
+ (WebCore::Scrollbar::theme):
+ * platform/ScrollbarTheme.cpp:
+ (WebCore::ScrollbarTheme::theme):
+ * platform/ScrollbarTheme.h:
+ * platform/efl/ScrollbarThemeEfl.cpp:
+ (WebCore::ScrollbarTheme::nativeTheme):
+ * platform/gtk/ScrollbarThemeGtk.cpp:
+ (WebCore::ScrollbarTheme::nativeTheme):
+ * platform/ios/ScrollbarThemeIOS.mm:
+ (WebCore::ScrollbarTheme::nativeTheme):
+ * platform/mac/ScrollAnimatorMac.mm:
+ (macScrollbarTheme):
+ * platform/mac/ScrollbarThemeMac.mm:
+ (+[WebScrollbarPrefsObserver appearancePrefsChanged:]):
+ (+[WebScrollbarPrefsObserver behaviorPrefsChanged:]):
+ (WebCore::ScrollbarTheme::nativeTheme):
+ * platform/win/PopupMenuWin.cpp:
+ (WebCore::PopupMenuWin::calculatePositionAndSize):
+ (WebCore::AccessiblePopupMenu::accLocation):
+ (WebCore::AccessiblePopupMenu::accHitTest):
+ * platform/win/ScrollbarThemeSafari.cpp:
+ (WebCore::ScrollbarTheme::nativeTheme):
+ * platform/win/ScrollbarThemeWin.cpp:
+ (WebCore::ScrollbarTheme::nativeTheme):
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::hasVerticalScrollbarWithAutoBehavior):
+ (WebCore::RenderBox::hasHorizontalScrollbarWithAutoBehavior):
+ * rendering/RenderLayer.cpp:
+ (WebCore::cornerRect):
+ (WebCore::styleRequiresScrollbar):
+ (WebCore::styleDefinesAutomaticScrollbar):
+ * rendering/RenderScrollbar.cpp:
+ (WebCore::RenderScrollbar::updateScrollbarPart):
+ * rendering/RenderScrollbarPart.cpp:
+ (WebCore::calcScrollbarThicknessUsing):
+ (WebCore::RenderScrollbarPart::styleDidChange):
+ (WebCore::RenderScrollbarPart::imageChanged):
+ * rendering/RenderScrollbarTheme.cpp:
+ (WebCore::RenderScrollbarTheme::paintTickmarks):
+ * rendering/RenderScrollbarTheme.h:
+ * rendering/RenderTextControl.cpp:
+ (WebCore::RenderTextControl::scrollbarThickness):
+
</ins><span class="cx"> 2015-09-02 Ryosuke Niwa <rniwa@webkit.org>
</span><span class="cx">
</span><span class="cx"> Node.textContent = undefined should be equivalent to textContent = ""
</span></span></pre></div>
<a id="trunkSourceWebCorecssSelectorCheckerTestFunctionsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/SelectorCheckerTestFunctions.h (189269 => 189270)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/SelectorCheckerTestFunctions.h        2015-09-03 02:51:05 UTC (rev 189269)
+++ trunk/Source/WebCore/css/SelectorCheckerTestFunctions.h        2015-09-03 02:58:14 UTC (rev 189270)
</span><span class="lines">@@ -288,7 +288,7 @@
</span><span class="cx"> {
</span><span class="cx"> if (!context.scrollbar)
</span><span class="cx"> return false;
</span><del>- ScrollbarButtonsPlacement buttonsPlacement = context.scrollbar->theme()->buttonsPlacement();
</del><ins>+ ScrollbarButtonsPlacement buttonsPlacement = context.scrollbar->theme().buttonsPlacement();
</ins><span class="cx"> if (context.scrollbarPart == BackButtonStartPart || context.scrollbarPart == ForwardButtonStartPart || context.scrollbarPart == BackTrackPart)
</span><span class="cx"> return buttonsPlacement == ScrollbarButtonsDoubleStart || buttonsPlacement == ScrollbarButtonsDoubleBoth;
</span><span class="cx"> if (context.scrollbarPart == BackButtonEndPart || context.scrollbarPart == ForwardButtonEndPart || context.scrollbarPart == ForwardTrackPart)
</span><span class="lines">@@ -300,7 +300,7 @@
</span><span class="cx"> {
</span><span class="cx"> if (!context.scrollbar)
</span><span class="cx"> return false;
</span><del>- ScrollbarButtonsPlacement buttonsPlacement = context.scrollbar->theme()->buttonsPlacement();
</del><ins>+ ScrollbarButtonsPlacement buttonsPlacement = context.scrollbar->theme().buttonsPlacement();
</ins><span class="cx"> if (context.scrollbarPart == BackButtonStartPart || context.scrollbarPart == ForwardButtonEndPart || context.scrollbarPart == BackTrackPart || context.scrollbarPart == ForwardTrackPart)
</span><span class="cx"> return buttonsPlacement == ScrollbarButtonsSingle;
</span><span class="cx"> return false;
</span><span class="lines">@@ -310,7 +310,7 @@
</span><span class="cx"> {
</span><span class="cx"> if (!context.scrollbar)
</span><span class="cx"> return false;
</span><del>- ScrollbarButtonsPlacement buttonsPlacement = context.scrollbar->theme()->buttonsPlacement();
</del><ins>+ ScrollbarButtonsPlacement buttonsPlacement = context.scrollbar->theme().buttonsPlacement();
</ins><span class="cx"> if (context.scrollbarPart == BackTrackPart)
</span><span class="cx"> return buttonsPlacement == ScrollbarButtonsNone || buttonsPlacement == ScrollbarButtonsDoubleEnd;
</span><span class="cx"> if (context.scrollbarPart == ForwardTrackPart)
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlshadowSpinButtonElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/shadow/SpinButtonElement.cpp (189269 => 189270)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/shadow/SpinButtonElement.cpp        2015-09-03 02:51:05 UTC (rev 189269)
+++ trunk/Source/WebCore/html/shadow/SpinButtonElement.cpp        2015-09-03 02:58:14 UTC (rev 189270)
</span><span class="lines">@@ -207,8 +207,8 @@
</span><span class="cx"> void SpinButtonElement::startRepeatingTimer()
</span><span class="cx"> {
</span><span class="cx"> m_pressStartingState = m_upDownState;
</span><del>- ScrollbarTheme* theme = ScrollbarTheme::theme();
- m_repeatingTimer.start(theme->initialAutoscrollTimerDelay(), theme->autoscrollTimerDelay());
</del><ins>+ ScrollbarTheme& theme = ScrollbarTheme::theme();
+ m_repeatingTimer.start(theme.initialAutoscrollTimerDelay(), theme.autoscrollTimerDelay());
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void SpinButtonElement::stopRepeatingTimer()
</span></span></pre></div>
<a id="trunkSourceWebCorepagePageOverlaycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/PageOverlay.cpp (189269 => 189270)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/PageOverlay.cpp        2015-09-03 02:51:05 UTC (rev 189269)
+++ trunk/Source/WebCore/page/PageOverlay.cpp        2015-09-03 02:58:14 UTC (rev 189270)
</span><span class="lines">@@ -91,7 +91,7 @@
</span><span class="cx"> int width = frameView->width();
</span><span class="cx"> int height = frameView->height();
</span><span class="cx">
</span><del>- if (!ScrollbarTheme::theme()->usesOverlayScrollbars()) {
</del><ins>+ if (!ScrollbarTheme::theme().usesOverlayScrollbars()) {
</ins><span class="cx"> if (frameView->verticalScrollbar())
</span><span class="cx"> width -= frameView->verticalScrollbar()->width();
</span><span class="cx"> if (frameView->horizontalScrollbar())
</span></span></pre></div>
<a id="trunkSourceWebCorepagescrollingmacScrollingStateFrameScrollingNodeMacmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/scrolling/mac/ScrollingStateFrameScrollingNodeMac.mm (189269 => 189270)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/scrolling/mac/ScrollingStateFrameScrollingNodeMac.mm        2015-09-03 02:51:05 UTC (rev 189269)
+++ trunk/Source/WebCore/page/scrolling/mac/ScrollingStateFrameScrollingNodeMac.mm        2015-09-03 02:58:14 UTC (rev 189270)
</span><span class="lines">@@ -37,15 +37,15 @@
</span><span class="cx">
</span><span class="cx"> void ScrollingStateFrameScrollingNode::setScrollbarPaintersFromScrollbars(Scrollbar* verticalScrollbar, Scrollbar* horizontalScrollbar)
</span><span class="cx"> {
</span><del>- ScrollbarTheme* scrollbarTheme = ScrollbarTheme::theme();
- if (scrollbarTheme->isMockTheme())
</del><ins>+ ScrollbarTheme& scrollbarTheme = ScrollbarTheme::theme();
+ if (scrollbarTheme.isMockTheme())
</ins><span class="cx"> return;
</span><del>- ScrollbarThemeMac* macTheme = static_cast<ScrollbarThemeMac*>(scrollbarTheme);
</del><ins>+ ScrollbarThemeMac& macTheme = static_cast<ScrollbarThemeMac&>(scrollbarTheme);
</ins><span class="cx">
</span><span class="cx"> ScrollbarPainter verticalPainter = verticalScrollbar && verticalScrollbar->supportsUpdateOnSecondaryThread()
</span><del>- ? macTheme->painterForScrollbar(*verticalScrollbar) : nullptr;
</del><ins>+ ? macTheme.painterForScrollbar(*verticalScrollbar) : nullptr;
</ins><span class="cx"> ScrollbarPainter horizontalPainter = horizontalScrollbar && horizontalScrollbar->supportsUpdateOnSecondaryThread()
</span><del>- ? macTheme->painterForScrollbar(*horizontalScrollbar) : nullptr;
</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="trunkSourceWebCoreplatformScrollViewcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/ScrollView.cpp (189269 => 189270)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/ScrollView.cpp        2015-09-03 02:51:05 UTC (rev 189269)
+++ trunk/Source/WebCore/platform/ScrollView.cpp        2015-09-03 02:58:14 UTC (rev 189270)
</span><span class="lines">@@ -1149,7 +1149,7 @@
</span><span class="cx">
</span><span class="cx"> void ScrollView::paintScrollCorner(GraphicsContext& context, const IntRect& cornerRect)
</span><span class="cx"> {
</span><del>- ScrollbarTheme::theme()->paintScrollCorner(this, context, cornerRect);
</del><ins>+ ScrollbarTheme::theme().paintScrollCorner(this, context, cornerRect);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void ScrollView::paintScrollbar(GraphicsContext& context, Scrollbar& bar, const IntRect& rect)
</span><span class="lines">@@ -1301,7 +1301,7 @@
</span><span class="cx">
</span><span class="cx"> void ScrollView::paintOverhangAreas(GraphicsContext& context, const IntRect& horizontalOverhangRect, const IntRect& verticalOverhangRect, const IntRect& dirtyRect)
</span><span class="cx"> {
</span><del>- ScrollbarTheme::theme()->paintOverhangAreas(*this, context, horizontalOverhangRect, verticalOverhangRect, dirtyRect);
</del><ins>+ ScrollbarTheme::theme().paintOverhangAreas(*this, context, horizontalOverhangRect, verticalOverhangRect, dirtyRect);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void ScrollView::calculateAndPaintOverhangAreas(GraphicsContext& context, const IntRect& dirtyRect)
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformScrollableAreacpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/ScrollableArea.cpp (189269 => 189270)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/ScrollableArea.cpp        2015-09-03 02:51:05 UTC (rev 189269)
+++ trunk/Source/WebCore/platform/ScrollableArea.cpp        2015-09-03 02:58:14 UTC (rev 189270)
</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 (189269 => 189270)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/Scrollbar.cpp        2015-09-03 02:51:05 UTC (rev 189269)
+++ trunk/Source/WebCore/platform/Scrollbar.cpp        2015-09-03 02:58:14 UTC (rev 189270)
</span><span class="lines">@@ -50,16 +50,15 @@
</span><span class="cx">
</span><span class="cx"> int Scrollbar::maxOverlapBetweenPages()
</span><span class="cx"> {
</span><del>- static int maxOverlapBetweenPages = ScrollbarTheme::theme()->maxOverlapBetweenPages();
</del><ins>+ static int maxOverlapBetweenPages = ScrollbarTheme::theme().maxOverlapBetweenPages();
</ins><span class="cx"> return maxOverlapBetweenPages;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-Scrollbar::Scrollbar(ScrollableArea& scrollableArea, ScrollbarOrientation orientation, ScrollbarControlSize controlSize,
- ScrollbarTheme* theme, bool isCustomScrollbar)
</del><ins>+Scrollbar::Scrollbar(ScrollableArea& scrollableArea, ScrollbarOrientation orientation, ScrollbarControlSize controlSize, ScrollbarTheme* customTheme, bool isCustomScrollbar)
</ins><span class="cx"> : m_scrollableArea(scrollableArea)
</span><span class="cx"> , m_orientation(orientation)
</span><span class="cx"> , m_controlSize(controlSize)
</span><del>- , m_theme(theme)
</del><ins>+ , m_theme(customTheme ? *customTheme : ScrollbarTheme::theme())
</ins><span class="cx"> , m_visibleSize(0)
</span><span class="cx"> , m_totalSize(0)
</span><span class="cx"> , m_currentPos(0)
</span><span class="lines">@@ -80,15 +79,12 @@
</span><span class="cx"> , m_isCustomScrollbar(isCustomScrollbar)
</span><span class="cx"> , m_weakPtrFactory(this)
</span><span class="cx"> {
</span><del>- if (!m_theme)
- m_theme = ScrollbarTheme::theme();
</del><ins>+ theme().registerScrollbar(*this);
</ins><span class="cx">
</span><del>- m_theme->registerScrollbar(*this);
-
</del><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="cx"> // alone when sizing).
</span><del>- int thickness = m_theme->scrollbarThickness(controlSize);
</del><ins>+ int thickness = theme().scrollbarThickness(controlSize);
</ins><span class="cx"> Widget::setFrameRect(IntRect(0, 0, thickness, thickness));
</span><span class="cx">
</span><span class="cx"> m_currentPos = static_cast<float>(m_scrollableArea.scrollPosition(this));
</span><span class="lines">@@ -98,7 +94,7 @@
</span><span class="cx"> {
</span><span class="cx"> stopTimerIfNeeded();
</span><span class="cx">
</span><del>- m_theme->unregisterScrollbar(*this);
</del><ins>+ theme().unregisterScrollbar(*this);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void Scrollbar::offsetDidChange()
</span><span class="lines">@@ -107,11 +103,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">@@ -137,7 +133,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">@@ -153,7 +149,7 @@
</span><span class="cx">
</span><span class="cx"> void Scrollbar::paint(GraphicsContext& context, const IntRect& damageRect)
</span><span class="cx"> {
</span><del>- if (context.updatingControlTints() && theme()->supportsControlTints()) {
</del><ins>+ if (context.updatingControlTints() && theme().supportsControlTints()) {
</ins><span class="cx"> invalidate();
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="lines">@@ -161,19 +157,19 @@
</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="cx"> void Scrollbar::autoscrollTimerFired()
</span><span class="cx"> {
</span><del>- autoscrollPressedPart(theme()->autoscrollTimerDelay());
</del><ins>+ autoscrollPressedPart(theme().autoscrollTimerDelay());
</ins><span class="cx"> }
</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">@@ -185,7 +181,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">@@ -204,7 +200,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">@@ -273,9 +269,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">@@ -293,11 +289,11 @@
</span><span class="cx"> if (part == m_hoveredPart)
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- if ((m_hoveredPart == NoPart || part == NoPart) && theme()->invalidateOnMouseEnterExit())
</del><ins>+ if ((m_hoveredPart == NoPart || part == NoPart) && theme().invalidateOnMouseEnterExit())
</ins><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">@@ -305,24 +301,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">@@ -330,19 +326,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><del>- startTimerIfNeeded(theme()->autoscrollTimerDelay());
- theme()->invalidatePart(*this, m_pressedPart);
</del><ins>+ startTimerIfNeeded(theme().autoscrollTimerDelay());
+ 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">@@ -374,7 +370,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">@@ -387,18 +383,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">@@ -406,7 +402,7 @@
</span><span class="cx">
</span><span class="cx"> m_pressedPos = pressedPos;
</span><span class="cx">
</span><del>- autoscrollPressedPart(theme()->initialAutoscrollTimerDelay());
</del><ins>+ autoscrollPressedPart(theme().initialAutoscrollTimerDelay());
</ins><span class="cx"> return true;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -415,13 +411,13 @@
</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 class="cx"> bool Scrollbar::isOverlayScrollbar() const
</span><span class="cx"> {
</span><del>- return m_theme->usesOverlayScrollbars();
</del><ins>+ return theme().usesOverlayScrollbars();
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> bool Scrollbar::shouldParticipateInHitTesting()
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformScrollbarh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/Scrollbar.h (189269 => 189270)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/Scrollbar.h        2015-09-03 02:51:05 UTC (rev 189269)
+++ trunk/Source/WebCore/platform/Scrollbar.h        2015-09-03 02:58:14 UTC (rev 189270)
</span><span class="lines">@@ -107,7 +107,7 @@
</span><span class="cx">
</span><span class="cx"> WEBCORE_EXPORT bool mouseDown(const PlatformMouseEvent&);
</span><span class="cx">
</span><del>- ScrollbarTheme* theme() const { return m_theme; }
</del><ins>+ ScrollbarTheme& theme() const { return m_theme; }
</ins><span class="cx">
</span><span class="cx"> virtual void invalidateRect(const IntRect&) override;
</span><span class="cx">
</span><span class="lines">@@ -148,7 +148,7 @@
</span><span class="cx"> ScrollableArea& m_scrollableArea;
</span><span class="cx"> ScrollbarOrientation m_orientation;
</span><span class="cx"> ScrollbarControlSize m_controlSize;
</span><del>- ScrollbarTheme* m_theme;
</del><ins>+ ScrollbarTheme& m_theme;
</ins><span class="cx">
</span><span class="cx"> int m_visibleSize;
</span><span class="cx"> int m_totalSize;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformScrollbarThemecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/ScrollbarTheme.cpp (189269 => 189270)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/ScrollbarTheme.cpp        2015-09-03 02:51:05 UTC (rev 189269)
+++ trunk/Source/WebCore/platform/ScrollbarTheme.cpp        2015-09-03 02:58:14 UTC (rev 189270)
</span><span class="lines">@@ -31,11 +31,11 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-ScrollbarTheme* ScrollbarTheme::theme()
</del><ins>+ScrollbarTheme& ScrollbarTheme::theme()
</ins><span class="cx"> {
</span><span class="cx"> if (Settings::mockScrollbarsEnabled()) {
</span><span class="cx"> DEPRECATED_DEFINE_STATIC_LOCAL(ScrollbarThemeMock, mockTheme, ());
</span><del>- return &mockTheme;
</del><ins>+ return mockTheme;
</ins><span class="cx"> }
</span><span class="cx"> return nativeTheme();
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformScrollbarThemeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/ScrollbarTheme.h (189269 => 189270)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/ScrollbarTheme.h        2015-09-03 02:51:05 UTC (rev 189269)
+++ trunk/Source/WebCore/platform/ScrollbarTheme.h        2015-09-03 02:58:14 UTC (rev 189270)
</span><span class="lines">@@ -113,10 +113,10 @@
</span><span class="cx">
</span><span class="cx"> virtual bool isMockTheme() const { return false; }
</span><span class="cx">
</span><del>- WEBCORE_EXPORT static ScrollbarTheme* theme();
</del><ins>+ WEBCORE_EXPORT static ScrollbarTheme& theme();
</ins><span class="cx">
</span><span class="cx"> private:
</span><del>- static ScrollbarTheme* nativeTheme(); // Must be implemented to return the correct theme subclass.
</del><ins>+ static ScrollbarTheme& nativeTheme(); // Must be implemented to return the correct theme subclass.
</ins><span class="cx"> };
</span><span class="cx">
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformeflScrollbarThemeEflcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/efl/ScrollbarThemeEfl.cpp (189269 => 189270)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/efl/ScrollbarThemeEfl.cpp        2015-09-03 02:51:05 UTC (rev 189269)
+++ trunk/Source/WebCore/platform/efl/ScrollbarThemeEfl.cpp        2015-09-03 02:58:14 UTC (rev 189270)
</span><span class="lines">@@ -39,10 +39,10 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-ScrollbarTheme* ScrollbarTheme::nativeTheme()
</del><ins>+ScrollbarTheme& ScrollbarTheme::nativeTheme()
</ins><span class="cx"> {
</span><span class="cx"> static ScrollbarThemeEfl theme;
</span><del>- return &theme;
</del><ins>+ return theme;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> static const int defaultThickness = 10;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgtkScrollbarThemeGtkcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/gtk/ScrollbarThemeGtk.cpp (189269 => 189270)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/gtk/ScrollbarThemeGtk.cpp        2015-09-03 02:51:05 UTC (rev 189269)
+++ trunk/Source/WebCore/platform/gtk/ScrollbarThemeGtk.cpp        2015-09-03 02:58:14 UTC (rev 189270)
</span><span class="lines">@@ -36,10 +36,10 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-ScrollbarTheme* ScrollbarTheme::nativeTheme()
</del><ins>+ScrollbarTheme& ScrollbarTheme::nativeTheme()
</ins><span class="cx"> {
</span><span class="cx"> static ScrollbarThemeGtk theme;
</span><del>- return &theme;
</del><ins>+ return theme;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> ScrollbarThemeGtk::~ScrollbarThemeGtk()
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformiosScrollbarThemeIOSmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/ios/ScrollbarThemeIOS.mm (189269 => 189270)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/ios/ScrollbarThemeIOS.mm        2015-09-03 02:51:05 UTC (rev 189269)
+++ trunk/Source/WebCore/platform/ios/ScrollbarThemeIOS.mm        2015-09-03 02:58:14 UTC (rev 189270)
</span><span class="lines">@@ -35,10 +35,10 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-ScrollbarTheme* ScrollbarTheme::nativeTheme()
</del><ins>+ScrollbarTheme& ScrollbarTheme::nativeTheme()
</ins><span class="cx"> {
</span><span class="cx"> static NeverDestroyed<ScrollbarThemeIOS> theme;
</span><del>- return &theme.get();
</del><ins>+ return theme;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void ScrollbarThemeIOS::registerScrollbar(Scrollbar&)
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformmacScrollAnimatorMacmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/mac/ScrollAnimatorMac.mm (189269 => 189270)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/mac/ScrollAnimatorMac.mm        2015-09-03 02:51:05 UTC (rev 189269)
+++ trunk/Source/WebCore/platform/mac/ScrollAnimatorMac.mm        2015-09-03 02:58:14 UTC (rev 189270)
</span><span class="lines">@@ -63,8 +63,8 @@
</span><span class="cx">
</span><span class="cx"> static ScrollbarThemeMac* macScrollbarTheme()
</span><span class="cx"> {
</span><del>- ScrollbarTheme* scrollbarTheme = ScrollbarTheme::theme();
- return !scrollbarTheme->isMockTheme() ? static_cast<ScrollbarThemeMac*>(scrollbarTheme) : 0;
</del><ins>+ ScrollbarTheme& scrollbarTheme = ScrollbarTheme::theme();
+ return !scrollbarTheme.isMockTheme() ? static_cast<ScrollbarThemeMac*>(&scrollbarTheme) : nullptr;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> static ScrollbarPainter scrollbarPainterForScrollbar(Scrollbar& scrollbar)
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformmacScrollbarThemeMacmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/mac/ScrollbarThemeMac.mm (189269 => 189270)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/mac/ScrollbarThemeMac.mm        2015-09-03 02:51:05 UTC (rev 189269)
+++ trunk/Source/WebCore/platform/mac/ScrollbarThemeMac.mm        2015-09-03 02:58:14 UTC (rev 189270)
</span><span class="lines">@@ -38,6 +38,7 @@
</span><span class="cx"> #include "WebCoreSystemInterface.h"
</span><span class="cx"> #include <Carbon/Carbon.h>
</span><span class="cx"> #include <wtf/HashMap.h>
</span><ins>+#include <wtf/NeverDestroyed.h>
</ins><span class="cx"> #include <wtf/StdLibExtras.h>
</span><span class="cx"> #include <wtf/TemporaryChange.h>
</span><span class="cx">
</span><span class="lines">@@ -77,11 +78,11 @@
</span><span class="cx"> {
</span><span class="cx"> UNUSED_PARAM(unusedNotification);
</span><span class="cx">
</span><del>- ScrollbarTheme* theme = ScrollbarTheme::theme();
- if (theme->isMockTheme())
</del><ins>+ ScrollbarTheme& theme = ScrollbarTheme::theme();
+ if (theme.isMockTheme())
</ins><span class="cx"> return;
</span><span class="cx">
</span><del>- static_cast<ScrollbarThemeMac*>(ScrollbarTheme::theme())->preferencesChanged();
</del><ins>+ static_cast<ScrollbarThemeMac&>(theme).preferencesChanged();
</ins><span class="cx"> if (scrollbarMap()->isEmpty())
</span><span class="cx"> return;
</span><span class="cx"> ScrollbarPainterMap::iterator end = scrollbarMap()->end();
</span><span class="lines">@@ -95,11 +96,11 @@
</span><span class="cx"> {
</span><span class="cx"> UNUSED_PARAM(unusedNotification);
</span><span class="cx">
</span><del>- ScrollbarTheme* theme = ScrollbarTheme::theme();
- if (theme->isMockTheme())
</del><ins>+ ScrollbarTheme& theme = ScrollbarTheme::theme();
+ if (theme.isMockTheme())
</ins><span class="cx"> return;
</span><span class="cx">
</span><del>- static_cast<ScrollbarThemeMac*>(ScrollbarTheme::theme())->preferencesChanged();
</del><ins>+ static_cast<ScrollbarThemeMac&>(theme).preferencesChanged();
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> + (void)registerAsObserver
</span><span class="lines">@@ -112,10 +113,10 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-ScrollbarTheme* ScrollbarTheme::nativeTheme()
</del><ins>+ScrollbarTheme& ScrollbarTheme::nativeTheme()
</ins><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(ScrollbarThemeMac, theme, ());
- return &theme;
</del><ins>+ static NeverDestroyed<ScrollbarThemeMac> theme;
+ return theme;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> // FIXME: Get these numbers from CoreUI.
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformwinPopupMenuWincpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/win/PopupMenuWin.cpp (189269 => 189270)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/win/PopupMenuWin.cpp        2015-09-03 02:51:05 UTC (rev 189269)
+++ trunk/Source/WebCore/platform/win/PopupMenuWin.cpp        2015-09-03 02:58:14 UTC (rev 189270)
</span><span class="lines">@@ -352,7 +352,7 @@
</span><span class="cx">
</span><span class="cx"> if (naturalHeight > maxPopupHeight)
</span><span class="cx"> // We need room for a scrollbar
</span><del>- popupWidth += ScrollbarTheme::theme()->scrollbarThickness(SmallScrollbar);
</del><ins>+ popupWidth += ScrollbarTheme::theme().scrollbarThickness(SmallScrollbar);
</ins><span class="cx">
</span><span class="cx"> // Add padding to align the popup text with the <select> text
</span><span class="cx"> popupWidth += std::max<int>(0, client()->clientPaddingRight() - client()->clientInsetRight()) + std::max<int>(0, client()->clientPaddingLeft() - client()->clientInsetLeft());
</span><span class="lines">@@ -1287,26 +1287,24 @@
</span><span class="cx"> Scrollbar& scrollbar = *m_popupMenu.scrollbar();
</span><span class="cx"> WebCore::ScrollbarPart part = static_cast<WebCore::ScrollbarPart>(-vChild.lVal);
</span><span class="cx">
</span><del>- ScrollbarThemeWin* theme = static_cast<ScrollbarThemeWin*>(scrollbar.theme());
- if (!theme)
- return E_FAIL;
</del><ins>+ ScrollbarThemeWin& theme = static_cast<ScrollbarThemeWin&>(scrollbar.theme());
</ins><span class="cx">
</span><span class="cx"> IntRect partRect;
</span><span class="cx">
</span><span class="cx"> switch (part) {
</span><span class="cx"> case BackTrackPart:
</span><span class="cx"> case BackButtonStartPart:
</span><del>- partRect = theme->backButtonRect(scrollbar, WebCore::BackTrackPart);
</del><ins>+ partRect = theme.backButtonRect(scrollbar, WebCore::BackTrackPart);
</ins><span class="cx"> break;
</span><span class="cx"> case ThumbPart:
</span><del>- partRect = theme->thumbRect(scrollbar);
</del><ins>+ partRect = theme.thumbRect(scrollbar);
</ins><span class="cx"> break;
</span><span class="cx"> case ForwardTrackPart:
</span><span class="cx"> case ForwardButtonEndPart:
</span><del>- partRect = theme->forwardButtonRect(scrollbar, WebCore::ForwardTrackPart);
</del><ins>+ partRect = theme.forwardButtonRect(scrollbar, WebCore::ForwardTrackPart);
</ins><span class="cx"> break;
</span><span class="cx"> case ScrollbarBGPart:
</span><del>- partRect = theme->trackRect(scrollbar);
</del><ins>+ partRect = theme.trackRect(scrollbar);
</ins><span class="cx"> break;
</span><span class="cx"> default:
</span><span class="cx"> return E_FAIL;
</span><span class="lines">@@ -1358,12 +1356,10 @@
</span><span class="cx">
</span><span class="cx"> if (m_popupMenu.scrollbar() && scrollRect.contains(pt)) {
</span><span class="cx"> Scrollbar& scrollbar = *m_popupMenu.scrollbar();
</span><del>- if (!scrollbar.theme())
- return E_FAIL;
</del><span class="cx">
</span><span class="cx"> pt.move(-scrollRect.x(), -scrollRect.y());
</span><span class="cx">
</span><del>- WebCore::ScrollbarPart part = scrollbar.theme()->hitTest(scrollbar, pt);
</del><ins>+ WebCore::ScrollbarPart part = scrollbar.theme().hitTest(scrollbar, pt);
</ins><span class="cx">
</span><span class="cx"> V_VT(pvChildAtPoint) = VT_I4;
</span><span class="cx"> V_I4(pvChildAtPoint) = -part; // Scrollbar parts are encoded as negative, to avoid mixup with item indexes.
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformwinScrollbarThemeSafaricpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/win/ScrollbarThemeSafari.cpp (189269 => 189270)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/win/ScrollbarThemeSafari.cpp        2015-09-03 02:51:05 UTC (rev 189269)
+++ trunk/Source/WebCore/platform/win/ScrollbarThemeSafari.cpp        2015-09-03 02:58:14 UTC (rev 189270)
</span><span class="lines">@@ -55,13 +55,13 @@
</span><span class="cx">
</span><span class="cx"> using namespace SafariTheme;
</span><span class="cx">
</span><del>-ScrollbarTheme* ScrollbarTheme::nativeTheme()
</del><ins>+ScrollbarTheme& ScrollbarTheme::nativeTheme()
</ins><span class="cx"> {
</span><span class="cx"> static ScrollbarThemeSafari safariTheme;
</span><span class="cx"> static ScrollbarThemeWin windowsTheme;
</span><span class="cx"> if (Settings::shouldPaintNativeControls())
</span><del>- return &windowsTheme;
- return &safariTheme;
</del><ins>+ return windowsTheme;
+ return safariTheme;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> // FIXME: Get these numbers from CoreUI.
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformwinScrollbarThemeWincpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/win/ScrollbarThemeWin.cpp (189269 => 189270)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/win/ScrollbarThemeWin.cpp        2015-09-03 02:51:05 UTC (rev 189269)
+++ trunk/Source/WebCore/platform/win/ScrollbarThemeWin.cpp        2015-09-03 02:58:14 UTC (rev 189270)
</span><span class="lines">@@ -89,10 +89,10 @@
</span><span class="cx"> scrollbarTheme = OpenThemeData(0, L"Scrollbar");
</span><span class="cx"> }
</span><span class="cx">
</span><del>-ScrollbarTheme* ScrollbarTheme::nativeTheme()
</del><ins>+ScrollbarTheme& ScrollbarTheme::nativeTheme()
</ins><span class="cx"> {
</span><span class="cx"> static ScrollbarThemeWin winTheme;
</span><del>- return &winTheme;
</del><ins>+ return winTheme;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> ScrollbarThemeWin::ScrollbarThemeWin()
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderBoxcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderBox.cpp (189269 => 189270)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderBox.cpp        2015-09-03 02:51:05 UTC (rev 189269)
+++ trunk/Source/WebCore/rendering/RenderBox.cpp        2015-09-03 02:58:14 UTC (rev 189270)
</span><span class="lines">@@ -954,13 +954,13 @@
</span><span class="cx">
</span><span class="cx"> bool RenderBox::hasVerticalScrollbarWithAutoBehavior() const
</span><span class="cx"> {
</span><del>- bool overflowScrollActsLikeAuto = style().overflowY() == OSCROLL && !style().hasPseudoStyle(SCROLLBAR) && ScrollbarTheme::theme()->usesOverlayScrollbars();
</del><ins>+ bool overflowScrollActsLikeAuto = style().overflowY() == OSCROLL && !style().hasPseudoStyle(SCROLLBAR) && ScrollbarTheme::theme().usesOverlayScrollbars();
</ins><span class="cx"> return hasOverflowClip() && (style().overflowY() == OAUTO || style().overflowY() == OOVERLAY || overflowScrollActsLikeAuto);
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> bool RenderBox::hasHorizontalScrollbarWithAutoBehavior() const
</span><span class="cx"> {
</span><del>- bool overflowScrollActsLikeAuto = style().overflowX() == OSCROLL && !style().hasPseudoStyle(SCROLLBAR) && ScrollbarTheme::theme()->usesOverlayScrollbars();
</del><ins>+ bool overflowScrollActsLikeAuto = style().overflowX() == OSCROLL && !style().hasPseudoStyle(SCROLLBAR) && ScrollbarTheme::theme().usesOverlayScrollbars();
</ins><span class="cx"> return hasOverflowClip() && (style().overflowX() == OAUTO || style().overflowX() == OOVERLAY || overflowScrollActsLikeAuto);
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderLayercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderLayer.cpp (189269 => 189270)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderLayer.cpp        2015-09-03 02:51:05 UTC (rev 189269)
+++ trunk/Source/WebCore/rendering/RenderLayer.cpp        2015-09-03 02:58:14 UTC (rev 189270)
</span><span class="lines">@@ -2802,7 +2802,7 @@
</span><span class="cx"> if (!layer->verticalScrollbar() && !layer->horizontalScrollbar()) {
</span><span class="cx"> // FIXME: This isn't right. We need to know the thickness of custom scrollbars
</span><span class="cx"> // even when they don't exist in order to set the resizer square size properly.
</span><del>- horizontalThickness = ScrollbarTheme::theme()->scrollbarThickness();
</del><ins>+ horizontalThickness = ScrollbarTheme::theme().scrollbarThickness();
</ins><span class="cx"> verticalThickness = horizontalThickness;
</span><span class="cx"> } else if (layer->verticalScrollbar() && !layer->horizontalScrollbar()) {
</span><span class="cx"> horizontalThickness = layer->verticalScrollbar()->width();
</span><span class="lines">@@ -3382,14 +3382,14 @@
</span><span class="cx"> static bool styleRequiresScrollbar(const RenderStyle& style, ScrollbarOrientation axis)
</span><span class="cx"> {
</span><span class="cx"> EOverflow overflow = axis == ScrollbarOrientation::HorizontalScrollbar ? style.overflowX() : style.overflowY();
</span><del>- bool overflowScrollActsLikeAuto = overflow == OSCROLL && !style.hasPseudoStyle(SCROLLBAR) && ScrollbarTheme::theme()->usesOverlayScrollbars();
</del><ins>+ bool overflowScrollActsLikeAuto = overflow == OSCROLL && !style.hasPseudoStyle(SCROLLBAR) && ScrollbarTheme::theme().usesOverlayScrollbars();
</ins><span class="cx"> return overflow == OSCROLL && !overflowScrollActsLikeAuto;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> static bool styleDefinesAutomaticScrollbar(const RenderStyle& style, ScrollbarOrientation axis)
</span><span class="cx"> {
</span><span class="cx"> EOverflow overflow = axis == ScrollbarOrientation::HorizontalScrollbar ? style.overflowX() : style.overflowY();
</span><del>- bool overflowScrollActsLikeAuto = overflow == OSCROLL && !style.hasPseudoStyle(SCROLLBAR) && ScrollbarTheme::theme()->usesOverlayScrollbars();
</del><ins>+ bool overflowScrollActsLikeAuto = overflow == OSCROLL && !style.hasPseudoStyle(SCROLLBAR) && ScrollbarTheme::theme().usesOverlayScrollbars();
</ins><span class="cx"> return overflow == OAUTO || overflow == OOVERLAY || overflowScrollActsLikeAuto;
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderScrollbarcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderScrollbar.cpp (189269 => 189270)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderScrollbar.cpp        2015-09-03 02:51:05 UTC (rev 189269)
+++ trunk/Source/WebCore/rendering/RenderScrollbar.cpp        2015-09-03 02:58:14 UTC (rev 189270)
</span><span class="lines">@@ -218,7 +218,7 @@
</span><span class="cx">
</span><span class="cx"> if (needRenderer && partStyle->display() != BLOCK) {
</span><span class="cx"> // See if we are a button that should not be visible according to OS settings.
</span><del>- ScrollbarButtonsPlacement buttonsPlacement = theme()->buttonsPlacement();
</del><ins>+ ScrollbarButtonsPlacement buttonsPlacement = theme().buttonsPlacement();
</ins><span class="cx"> switch (partType) {
</span><span class="cx"> case BackButtonStartPart:
</span><span class="cx"> needRenderer = (buttonsPlacement == ScrollbarButtonsSingle || buttonsPlacement == ScrollbarButtonsDoubleStart ||
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderScrollbarPartcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderScrollbarPart.cpp (189269 => 189270)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderScrollbarPart.cpp        2015-09-03 02:51:05 UTC (rev 189269)
+++ trunk/Source/WebCore/rendering/RenderScrollbarPart.cpp        2015-09-03 02:58:14 UTC (rev 189270)
</span><span class="lines">@@ -83,7 +83,7 @@
</span><span class="cx"> {
</span><span class="cx"> if (!length.isIntrinsicOrAuto() || (sizeType == MinSize && length.isAuto()))
</span><span class="cx"> return minimumValueForLength(length, containingLength);
</span><del>- return ScrollbarTheme::theme()->scrollbarThickness();
</del><ins>+ return ScrollbarTheme::theme().scrollbarThickness();
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void RenderScrollbarPart::computeScrollbarWidth()
</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 (189269 => 189270)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderScrollbarTheme.cpp        2015-09-03 02:51:05 UTC (rev 189269)
+++ trunk/Source/WebCore/rendering/RenderScrollbarTheme.cpp        2015-09-03 02:58:14 UTC (rev 189270)
</span><span class="lines">@@ -158,7 +158,7 @@
</span><span class="cx">
</span><span class="cx"> void RenderScrollbarTheme::paintTickmarks(GraphicsContext& context, Scrollbar& scrollbar, const IntRect& rect)
</span><span class="cx"> {
</span><del>- ScrollbarTheme::theme()->paintTickmarks(context, scrollbar, rect);
</del><ins>+ ScrollbarTheme::theme().paintTickmarks(context, scrollbar, rect);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderScrollbarThemeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderScrollbarTheme.h (189269 => 189270)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderScrollbarTheme.h        2015-09-03 02:51:05 UTC (rev 189269)
+++ trunk/Source/WebCore/rendering/RenderScrollbarTheme.h        2015-09-03 02:58:14 UTC (rev 189270)
</span><span class="lines">@@ -38,21 +38,21 @@
</span><span class="cx"> public:
</span><span class="cx"> virtual ~RenderScrollbarTheme() { }
</span><span class="cx">
</span><del>- virtual int scrollbarThickness(ScrollbarControlSize controlSize) override { return ScrollbarTheme::theme()->scrollbarThickness(controlSize); }
</del><ins>+ virtual int scrollbarThickness(ScrollbarControlSize controlSize) override { return ScrollbarTheme::theme().scrollbarThickness(controlSize); }
</ins><span class="cx">
</span><del>- virtual ScrollbarButtonsPlacement buttonsPlacement() const override { return ScrollbarTheme::theme()->buttonsPlacement(); }
</del><ins>+ virtual ScrollbarButtonsPlacement buttonsPlacement() const override { return ScrollbarTheme::theme().buttonsPlacement(); }
</ins><span class="cx">
</span><span class="cx"> virtual bool supportsControlTints() const override { return true; }
</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(Scrollbar& 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><del>- virtual double initialAutoscrollTimerDelay() override { return ScrollbarTheme::theme()->initialAutoscrollTimerDelay(); }
- virtual double autoscrollTimerDelay() override { return ScrollbarTheme::theme()->autoscrollTimerDelay(); }
</del><ins>+ virtual double initialAutoscrollTimerDelay() override { return ScrollbarTheme::theme().initialAutoscrollTimerDelay(); }
+ virtual double autoscrollTimerDelay() override { return ScrollbarTheme::theme().autoscrollTimerDelay(); }
</ins><span class="cx">
</span><del>- virtual void registerScrollbar(Scrollbar& scrollbar) override { return ScrollbarTheme::theme()->registerScrollbar(scrollbar); }
- virtual void unregisterScrollbar(Scrollbar& 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><span class="cx"> virtual int minimumThumbLength(Scrollbar&) override;
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderTextControlcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderTextControl.cpp (189269 => 189270)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderTextControl.cpp        2015-09-03 02:51:05 UTC (rev 189269)
+++ trunk/Source/WebCore/rendering/RenderTextControl.cpp        2015-09-03 02:58:14 UTC (rev 189270)
</span><span class="lines">@@ -138,7 +138,7 @@
</span><span class="cx"> int RenderTextControl::scrollbarThickness() const
</span><span class="cx"> {
</span><span class="cx"> // FIXME: We should get the size of the scrollbar from the RenderTheme instead.
</span><del>- return ScrollbarTheme::theme()->scrollbarThickness();
</del><ins>+ return ScrollbarTheme::theme().scrollbarThickness();
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void RenderTextControl::computeLogicalHeight(LayoutUnit logicalHeight, LayoutUnit logicalTop, LogicalExtentComputedValues& computedValues) const
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderThemeEflcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderThemeEfl.cpp (189269 => 189270)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderThemeEfl.cpp        2015-09-03 02:51:05 UTC (rev 189269)
+++ trunk/Source/WebCore/rendering/RenderThemeEfl.cpp        2015-09-03 02:58:14 UTC (rev 189270)
</span><span class="lines">@@ -524,7 +524,7 @@
</span><span class="cx">
</span><span class="cx"> const char* thickness = edje_object_data_get(m_edje.get(), "scrollbar.thickness");
</span><span class="cx"> if (thickness && !Settings::mockScrollbarsEnabled())
</span><del>- static_cast<ScrollbarThemeEfl*>(ScrollbarTheme::theme())->setScrollbarThickness(atoi(thickness));
</del><ins>+ static_cast<ScrollbarThemeEfl&>(ScrollbarTheme::theme()).setScrollbarThickness(atoi(thickness));
</ins><span class="cx">
</span><span class="cx"> edje_object_signal_callback_add(edje(), "color_class,set", "webkit/selection/foreground", applyColorCallback, this);
</span><span class="cx"> edje_object_signal_callback_add(edje(), "color_class,set", "webkit/selection/background", applyColorCallback, this);
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderThemeGtkcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderThemeGtk.cpp (189269 => 189270)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderThemeGtk.cpp        2015-09-03 02:51:05 UTC (rev 189269)
+++ trunk/Source/WebCore/rendering/RenderThemeGtk.cpp        2015-09-03 02:58:14 UTC (rev 189270)
</span><span class="lines">@@ -142,7 +142,7 @@
</span><span class="cx"> {
</span><span class="cx"> for (const auto& styleContext : styleContextMap())
</span><span class="cx"> gtk_style_context_invalidate(styleContext.value.get());
</span><del>- static_cast<ScrollbarThemeGtk*>(ScrollbarTheme::theme())->themeChanged();
</del><ins>+ static_cast<ScrollbarThemeGtk&>(ScrollbarTheme::theme()).themeChanged();
</ins><span class="cx"> Page::updateStyleForAllPagesAfterGlobalChangeInEnvironment();
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebKitwinChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/ChangeLog (189269 => 189270)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/ChangeLog        2015-09-03 02:51:05 UTC (rev 189269)
+++ trunk/Source/WebKit/win/ChangeLog        2015-09-03 02:58:14 UTC (rev 189270)
</span><span class="lines">@@ -1,3 +1,14 @@
</span><ins>+2015-09-02 Andreas Kling <akling@apple.com>
+
+ ScrollbarThemes should be returned by reference.
+ <https://webkit.org/b/147551>
+
+ Reviewed by Zalan Bujtas.
+
+ * WebView.cpp:
+ (WebView::gestureNotify):
+ (WebView::WebViewWndProc):
+
</ins><span class="cx"> 2015-08-31 Chris Dumez <cdumez@apple.com>
</span><span class="cx">
</span><span class="cx"> Range API is throwing wrong exception type
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebViewcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebView.cpp (189269 => 189270)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebView.cpp        2015-09-03 02:51:05 UTC (rev 189269)
+++ trunk/Source/WebKit/win/WebView.cpp        2015-09-03 02:58:14 UTC (rev 189270)
</span><span class="lines">@@ -1687,8 +1687,8 @@
</span><span class="cx"> // The hit testing above won't detect if we've hit the main frame's vertical scrollbar. Check that manually now.
</span><span class="cx"> RECT webViewRect;
</span><span class="cx"> GetWindowRect(m_viewWindow, &webViewRect);
</span><del>- hitScrollbar = (view->verticalScrollbar() && (gestureBeginPoint.x > (webViewRect.right - view->verticalScrollbar()->theme()->scrollbarThickness())))
- || (view->horizontalScrollbar() && (gestureBeginPoint.y > (webViewRect.bottom - view->horizontalScrollbar()->theme()->scrollbarThickness())));
</del><ins>+ hitScrollbar = (view->verticalScrollbar() && (gestureBeginPoint.x > (webViewRect.right - view->verticalScrollbar()->theme().scrollbarThickness())))
+ || (view->horizontalScrollbar() && (gestureBeginPoint.y > (webViewRect.bottom - view->horizontalScrollbar()->theme().scrollbarThickness())));
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> bool canBeScrolled = false;
</span><span class="lines">@@ -2467,7 +2467,7 @@
</span><span class="cx"> if (Frame* coreFrame = core(mainFrameImpl)) {
</span><span class="cx"> webView->deleteBackingStore();
</span><span class="cx"> coreFrame->page()->theme().themeChanged();
</span><del>- ScrollbarTheme::theme()->themeChanged();
</del><ins>+ ScrollbarTheme::theme().themeChanged();
</ins><span class="cx"> RECT windowRect;
</span><span class="cx"> ::GetClientRect(hWnd, &windowRect);
</span><span class="cx"> ::InvalidateRect(hWnd, &windowRect, false);
</span></span></pre></div>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (189269 => 189270)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog        2015-09-03 02:51:05 UTC (rev 189269)
+++ trunk/Source/WebKit2/ChangeLog        2015-09-03 02:58:14 UTC (rev 189270)
</span><span class="lines">@@ -1,3 +1,13 @@
</span><ins>+2015-09-02 Andreas Kling <akling@apple.com>
+
+ ScrollbarThemes should be returned by reference.
+ <https://webkit.org/b/147551>
+
+ Reviewed by Zalan Bujtas.
+
+ * WebProcess/Plugins/PDF/PDFPlugin.mm:
+ (WebKit::PDFPlugin::paintControlForLayerInContext):
+
</ins><span class="cx"> 2015-09-02 Gyuyoung Kim <gyuyoung.kim@webkit.org>
</span><span class="cx">
</span><span class="cx"> REGRESSION(r188206): [EFL] Adjust scrollbar width to ewk_view_contents_size_get API test
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessPluginsPDFPDFPluginmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/Plugins/PDF/PDFPlugin.mm (189269 => 189270)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/Plugins/PDF/PDFPlugin.mm        2015-09-03 02:51:05 UTC (rev 189269)
+++ trunk/Source/WebKit2/WebProcess/Plugins/PDF/PDFPlugin.mm        2015-09-03 02:58:14 UTC (rev 189270)
</span><span class="lines">@@ -1132,7 +1132,7 @@
</span><span class="cx"> if (layer == m_scrollCornerLayer) {
</span><span class="cx"> IntRect scrollCornerRect = this->scrollCornerRect();
</span><span class="cx"> graphicsContext.translate(-scrollCornerRect.x(), -scrollCornerRect.y());
</span><del>- ScrollbarTheme::theme()->paintScrollCorner(nullptr, graphicsContext, scrollCornerRect);
</del><ins>+ ScrollbarTheme::theme().paintScrollCorner(nullptr, graphicsContext, scrollCornerRect);
</ins><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre>
</div>
</div>
</body>
</html>