Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / web / tests / ScrollingCoordinatorChromiumTest.cpp
index 76975e6..c6d46af 100644 (file)
@@ -31,6 +31,7 @@
 #include "core/rendering/RenderWidget.h"
 #include "core/rendering/compositing/CompositedLayerMapping.h"
 #include "core/rendering/compositing/RenderLayerCompositor.h"
+#include "core/testing/URLTestHelpers.h"
 #include "platform/graphics/GraphicsLayer.h"
 #include "public/platform/Platform.h"
 #include "public/platform/WebLayer.h"
 #include "web/WebLocalFrameImpl.h"
 #include "web/WebViewImpl.h"
 #include "web/tests/FrameTestHelpers.h"
-#include "web/tests/URLTestHelpers.h"
 #include <gtest/gtest.h>
 
 using namespace blink;
-using namespace blink;
 
 namespace {
 
@@ -101,9 +100,7 @@ private:
     {
         settings->setJavaScriptEnabled(true);
         settings->setAcceleratedCompositingEnabled(true);
-        settings->setAcceleratedCompositingForFixedPositionEnabled(true);
-        settings->setAcceleratedCompositingForOverflowScrollEnabled(true);
-        settings->setCompositedScrollingForFramesEnabled(true);
+        settings->setPreferCompositingToLCDTextEnabled(true);
     }
 
     FrameTestHelpers::WebViewHelper m_helper;
@@ -127,6 +124,24 @@ TEST_F(ScrollingCoordinatorChromiumTest, fastScrollingByDefault)
     ASSERT_FALSE(rootScrollLayer->haveWheelEventHandlers());
 }
 
+TEST_F(ScrollingCoordinatorChromiumTest, fastScrollingCanBeDisabledWithSetting)
+{
+    navigateTo("about:blank");
+    webViewImpl()->settings()->setThreadedScrollingEnabled(false);
+    forceFullCompositingUpdate();
+
+    // Make sure the scrolling coordinator is active.
+    FrameView* frameView = frame()->view();
+    Page* page = frame()->page();
+    ASSERT_TRUE(page->scrollingCoordinator());
+    ASSERT_TRUE(page->scrollingCoordinator()->coordinatesScrollingForFrameView(frameView));
+
+    // Main scrolling should be enabled with the setting override.
+    WebLayer* rootScrollLayer = getRootScrollLayer();
+    ASSERT_TRUE(rootScrollLayer->scrollable());
+    ASSERT_TRUE(rootScrollLayer->shouldScrollOnMainThread());
+}
+
 static WebLayer* webLayerFromElement(Element* element)
 {
     if (!element)