Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / cc / test / layer_tree_test.cc
index 8383126..0be1ed1 100644 (file)
@@ -53,11 +53,12 @@ class ThreadProxyForTest : public ThreadProxy {
   static scoped_ptr<Proxy> Create(
       TestHooks* test_hooks,
       LayerTreeHost* host,
+      scoped_refptr<base::SingleThreadTaskRunner> main_task_runner,
       scoped_refptr<base::SingleThreadTaskRunner> impl_task_runner) {
     return make_scoped_ptr(
-        new ThreadProxyForTest(test_hooks,
-                               host,
-                               impl_task_runner)).PassAs<Proxy>();
+               new ThreadProxyForTest(
+                   test_hooks, host, main_task_runner, impl_task_runner))
+        .PassAs<Proxy>();
   }
 
   virtual ~ThreadProxyForTest() {}
@@ -99,10 +100,10 @@ class ThreadProxyForTest : public ThreadProxy {
   ThreadProxyForTest(
       TestHooks* test_hooks,
       LayerTreeHost* host,
+      scoped_refptr<base::SingleThreadTaskRunner> main_task_runner,
       scoped_refptr<base::SingleThreadTaskRunner> impl_task_runner)
-      : ThreadProxy(host, impl_task_runner),
-        test_hooks_(test_hooks) {
-  }
+      : ThreadProxy(host, main_task_runner, impl_task_runner),
+        test_hooks_(test_hooks) {}
 };
 
 // Adapts LayerTreeHostImpl for test. Runs real code, then invokes test hooks.
@@ -160,11 +161,6 @@ class LayerTreeHostImplForTesting : public LayerTreeHostImpl {
   virtual void CommitComplete() OVERRIDE {
     LayerTreeHostImpl::CommitComplete();
     test_hooks_->CommitCompleteOnThread(this);
-
-    if (!settings().impl_side_painting) {
-      test_hooks_->WillActivateTreeOnThread(this);
-      test_hooks_->DidActivateTreeOnThread(this);
-    }
   }
 
   virtual DrawResult PrepareToDraw(FrameData* frame) OVERRIDE {
@@ -213,9 +209,9 @@ class LayerTreeHostImplForTesting : public LayerTreeHostImpl {
     }
   }
 
-  virtual void ActivatePendingTree() OVERRIDE {
+  virtual void ActivateSyncTree() OVERRIDE {
     test_hooks_->WillActivateTreeOnThread(this);
-    LayerTreeHostImpl::ActivatePendingTree();
+    LayerTreeHostImpl::ActivateSyncTree();
     DCHECK(!pending_tree());
     test_hooks_->DidActivateTreeOnThread(this);
   }
@@ -341,6 +337,7 @@ class LayerTreeHostForTesting : public LayerTreeHost {
       TestHooks* test_hooks,
       LayerTreeHostClientForTesting* client,
       const LayerTreeSettings& settings,
+      scoped_refptr<base::SingleThreadTaskRunner> main_task_runner,
       scoped_refptr<base::SingleThreadTaskRunner> impl_task_runner) {
     scoped_ptr<LayerTreeHostForTesting> layer_tree_host(
         new LayerTreeHostForTesting(test_hooks, client, settings));
@@ -348,10 +345,11 @@ class LayerTreeHostForTesting : public LayerTreeHost {
       layer_tree_host->InitializeForTesting(
           ThreadProxyForTest::Create(test_hooks,
                                      layer_tree_host.get(),
+                                     main_task_runner,
                                      impl_task_runner));
     } else {
-      layer_tree_host->InitializeForTesting(
-          SingleThreadProxy::Create(layer_tree_host.get(), client));
+      layer_tree_host->InitializeForTesting(SingleThreadProxy::Create(
+          layer_tree_host.get(), client, main_task_runner));
     }
     return layer_tree_host.Pass();
   }
@@ -520,6 +518,7 @@ void LayerTreeTest::DoBeginTest() {
       this,
       client_.get(),
       settings_,
+      base::MessageLoopProxy::current(),
       impl_thread_ ? impl_thread_->message_loop_proxy() : NULL);
   ASSERT_TRUE(layer_tree_host_);
 
@@ -569,7 +568,8 @@ void LayerTreeTest::ScheduleComposite() {
 }
 
 void LayerTreeTest::RealEndTest() {
-  if (layer_tree_host_ && proxy()->CommitPendingForTesting()) {
+  if (layer_tree_host_ && !timed_out_ &&
+      proxy()->MainFrameWillHappenForTesting()) {
     main_task_runner_->PostTask(
         FROM_HERE,
         base::Bind(&LayerTreeTest::RealEndTest, main_thread_weak_ptr_));