summaryrefslogtreecommitdiffstats
path: root/webkit
diff options
context:
space:
mode:
authorjamesr@chromium.org <jamesr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-09-05 22:08:21 +0000
committerjamesr@chromium.org <jamesr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-09-05 22:08:21 +0000
commit8db2213c07f4d0bf8bc31ec6a3c68ea95b2d5177 (patch)
treef984b0e45461f8de5156be1ff6492a989f6369de /webkit
parent24302549a7ab93baed7dd4e9af470b3255c6cdbf (diff)
downloadchromium_src-8db2213c07f4d0bf8bc31ec6a3c68ea95b2d5177.zip
chromium_src-8db2213c07f4d0bf8bc31ec6a3c68ea95b2d5177.tar.gz
chromium_src-8db2213c07f4d0bf8bc31ec6a3c68ea95b2d5177.tar.bz2
Roll cc snapshot up to 127605
TBR=nduca@chromium.org BUG= Review URL: https://chromiumcodereview.appspot.com/10907075 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@155034 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit')
-rw-r--r--webkit/compositor_bindings/WebLayerImpl.cpp15
-rw-r--r--webkit/compositor_bindings/WebLayerImpl.h3
-rw-r--r--webkit/compositor_bindings/WebLayerTest.cpp25
3 files changed, 43 insertions, 0 deletions
diff --git a/webkit/compositor_bindings/WebLayerImpl.cpp b/webkit/compositor_bindings/WebLayerImpl.cpp
index 4b25479..84f5e5a 100644
--- a/webkit/compositor_bindings/WebLayerImpl.cpp
+++ b/webkit/compositor_bindings/WebLayerImpl.cpp
@@ -334,6 +334,16 @@ void WebLayerImpl::setScrollPosition(WebPoint position)
m_layer->setScrollPosition(position);
}
+WebPoint WebLayerImpl::scrollPosition() const
+{
+ return m_layer->scrollPosition();
+}
+
+void WebLayerImpl::setMaxScrollPosition(WebSize maxScrollPosition)
+{
+ m_layer->setMaxScrollPosition(maxScrollPosition);
+}
+
void WebLayerImpl::setScrollable(bool scrollable)
{
m_layer->setScrollable(scrollable);
@@ -370,6 +380,11 @@ void WebLayerImpl::setFixedToContainerLayer(bool enable)
m_layer->setFixedToContainerLayer(enable);
}
+void WebLayerImpl::setScrollClient(WebLayerScrollClient* scrollClient)
+{
+ m_layer->setLayerScrollClient(scrollClient);
+}
+
LayerChromium* WebLayerImpl::layer() const
{
return m_layer.get();
diff --git a/webkit/compositor_bindings/WebLayerImpl.h b/webkit/compositor_bindings/WebLayerImpl.h
index 71f83db..b34d43b 100644
--- a/webkit/compositor_bindings/WebLayerImpl.h
+++ b/webkit/compositor_bindings/WebLayerImpl.h
@@ -73,12 +73,15 @@ public:
virtual void transferAnimationsTo(WebLayer*) OVERRIDE;
virtual void setForceRenderSurface(bool) OVERRIDE;
virtual void setScrollPosition(WebPoint) OVERRIDE;
+ virtual WebPoint scrollPosition() const OVERRIDE;
+ virtual void setMaxScrollPosition(WebSize) OVERRIDE;
virtual void setScrollable(bool) OVERRIDE;
virtual void setHaveWheelEventHandlers(bool) OVERRIDE;
virtual void setShouldScrollOnMainThread(bool) OVERRIDE;
virtual void setNonFastScrollableRegion(const WebVector<WebRect>&) OVERRIDE;
virtual void setIsContainerForFixedPositionLayers(bool) OVERRIDE;
virtual void setFixedToContainerLayer(bool) OVERRIDE;
+ virtual void setScrollClient(WebLayerScrollClient*) OVERRIDE;
WebCore::LayerChromium* layer() const;
diff --git a/webkit/compositor_bindings/WebLayerTest.cpp b/webkit/compositor_bindings/WebLayerTest.cpp
index 18dc044..09b26f47 100644
--- a/webkit/compositor_bindings/WebLayerTest.cpp
+++ b/webkit/compositor_bindings/WebLayerTest.cpp
@@ -14,6 +14,7 @@
#include <public/WebExternalTextureLayer.h>
#include <public/WebFloatPoint.h>
#include <public/WebFloatRect.h>
+#include <public/WebLayerScrollClient.h>
#include <public/WebLayerTreeView.h>
#include <public/WebLayerTreeViewClient.h>
#include <public/WebRect.h>
@@ -152,4 +153,28 @@ TEST_F(WebLayerTest, Client)
EXPECT_FALSE(contentLayer->layer()->drawsContent());
}
+class MockScrollClient : public WebLayerScrollClient {
+public:
+ MOCK_METHOD0(didScroll, void());
+};
+
+TEST_F(WebLayerTest, notifyScrollClient)
+{
+ MockScrollClient scrollClient;
+
+ EXPECT_CALL(scrollClient, didScroll()).Times(0);
+ m_rootLayer->setScrollClient(&scrollClient);
+ Mock::VerifyAndClearExpectations(&scrollClient);
+
+ EXPECT_CALL(scrollClient, didScroll()).Times(1);
+ m_rootLayer->setScrollPosition(WebPoint(14, 19));
+ Mock::VerifyAndClearExpectations(&scrollClient);
+
+ EXPECT_CALL(scrollClient, didScroll()).Times(0);
+ m_rootLayer->setScrollPosition(WebPoint(14, 19));
+ Mock::VerifyAndClearExpectations(&scrollClient);
+
+ m_rootLayer->setScrollClient(0);
+}
+
}