summaryrefslogtreecommitdiffstats
path: root/Source/WebKit/win/WebScrollBar.cpp
diff options
context:
space:
mode:
authorBen Murdoch <benm@google.com>2011-05-16 16:25:10 +0100
committerBen Murdoch <benm@google.com>2011-05-23 18:54:14 +0100
commitab9e7a118cf1ea2e3a93dce683b2ded3e7291ddb (patch)
treedb769fadd053248f85db67434a5b275224defef7 /Source/WebKit/win/WebScrollBar.cpp
parent52e2557aeb8477967e97fd24f20f8f407a10fa15 (diff)
downloadexternal_webkit-ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddb.zip
external_webkit-ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddb.tar.gz
external_webkit-ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddb.tar.bz2
Merge WebKit at r76408: Initial merge by git.
Change-Id: I5b91decbd693ccbf5c1b8354b37cd68cc9a1ea53
Diffstat (limited to 'Source/WebKit/win/WebScrollBar.cpp')
-rw-r--r--Source/WebKit/win/WebScrollBar.cpp21
1 files changed, 10 insertions, 11 deletions
diff --git a/Source/WebKit/win/WebScrollBar.cpp b/Source/WebKit/win/WebScrollBar.cpp
index 8613c1c..45bc8f3 100644
--- a/Source/WebKit/win/WebScrollBar.cpp
+++ b/Source/WebKit/win/WebScrollBar.cpp
@@ -42,6 +42,7 @@ using namespace WebCore;
WebScrollBar::WebScrollBar()
: m_refCount(0)
, m_containingWindow(0)
+ , m_currentPosition(0)
{
gClassCount++;
gClassNameCount.add("WebScrollBar");
@@ -143,7 +144,7 @@ HRESULT STDMETHODCALLTYPE WebScrollBar::setRect(
HRESULT STDMETHODCALLTYPE WebScrollBar::setValue(
/* [in] */ int value)
{
- m_scrollBar->setValue(value, Scrollbar::NotFromScrollAnimator);
+ m_currentPosition = value;
return S_OK;
}
@@ -152,7 +153,7 @@ HRESULT STDMETHODCALLTYPE WebScrollBar::value(
{
if (!value)
return E_POINTER;
- *value = m_scrollBar->value();
+ *value = m_currentPosition;
return S_OK;
}
@@ -247,27 +248,25 @@ HRESULT STDMETHODCALLTYPE WebScrollBar::scroll(
{
ScrollDirection webCoreScrollDirection = (ScrollDirection) direction;
ScrollGranularity webCoreGranularity = (ScrollGranularity) granularity;
- m_scrollBar->scroll(webCoreScrollDirection, webCoreGranularity, multiplier);
+ ScrollableArea::scroll(webCoreScrollDirection, webCoreGranularity, multiplier);
return S_OK;
}
-// ScrollbarClient -------------------------------------------------------
+// ScrollableArea -------------------------------------------------------
+
int WebScrollBar::scrollSize(ScrollbarOrientation orientation) const
{
return (orientation == m_scrollBar->orientation()) ? (m_scrollBar->totalSize() - m_scrollBar->visibleSize()) : 0;
}
-void WebScrollBar::setScrollOffsetFromAnimation(const IntPoint& offset)
+int WebScrollBar::scrollPosition(Scrollbar*) const
{
- m_scrollBar->setValue((m_scrollBar->orientation() == HorizontalScrollbar) ? offset.x() : offset.y(), Scrollbar::FromScrollAnimator);
+ return m_currentPosition;
}
-void WebScrollBar::valueChanged(Scrollbar* scrollBar)
+void WebScrollBar::setScrollOffset(const IntPoint& offset)
{
- if (m_scrollBar != scrollBar) {
- ASSERT(false); // shouldn't happen
- return;
- }
+ m_currentPosition = (m_scrollBar->orientation() == HorizontalScrollbar) ? offset.x() : offset.y();
m_delegate->valueChanged(this);
}