Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / cc / test / fake_layer_tree_host.cc
index 28a7a52..32767c8 100644 (file)
@@ -5,22 +5,29 @@
 #include "cc/test/fake_layer_tree_host.h"
 
 namespace cc {
-FakeLayerTreeHost::FakeLayerTreeHost(LayerTreeHostClient* client,
+FakeLayerTreeHost::FakeLayerTreeHost(FakeLayerTreeHostClient* client,
                                      const LayerTreeSettings& settings)
     : LayerTreeHost(client, NULL, settings),
+      client_(client),
       host_impl_(settings, &proxy_, &manager_),
-      needs_commit_(false) {}
+      needs_commit_(false) {
+  client_->SetLayerTreeHost(this);
+}
 
-scoped_ptr<FakeLayerTreeHost> FakeLayerTreeHost::Create() {
-  static FakeLayerTreeHostClient client(FakeLayerTreeHostClient::DIRECT_3D);
-  static LayerTreeSettings settings;
-  return make_scoped_ptr(new FakeLayerTreeHost(&client, settings));
+scoped_ptr<FakeLayerTreeHost> FakeLayerTreeHost::Create(
+    FakeLayerTreeHostClient* client) {
+  LayerTreeSettings settings;
+  return make_scoped_ptr(new FakeLayerTreeHost(client, settings));
 }
 
 scoped_ptr<FakeLayerTreeHost> FakeLayerTreeHost::Create(
+    FakeLayerTreeHostClient* client,
     const LayerTreeSettings& settings) {
-  static FakeLayerTreeHostClient client(FakeLayerTreeHostClient::DIRECT_3D);
-  return make_scoped_ptr(new FakeLayerTreeHost(&client, settings));
+  return make_scoped_ptr(new FakeLayerTreeHost(client, settings));
+}
+
+FakeLayerTreeHost::~FakeLayerTreeHost() {
+  client_->SetLayerTreeHost(NULL);
 }
 
 void FakeLayerTreeHost::SetNeedsCommit() { needs_commit_ = true; }