cc: Don't activate rasterize on demand when we have 0 memory.
[chromium-blink-merge.git] / cc / test / fake_layer_tree_host.cc
blob28a7a527c8181f244499a6f9ab08ac06808232eb
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "cc/test/fake_layer_tree_host.h"
7 namespace cc {
8 FakeLayerTreeHost::FakeLayerTreeHost(LayerTreeHostClient* client,
9 const LayerTreeSettings& settings)
10 : LayerTreeHost(client, NULL, settings),
11 host_impl_(settings, &proxy_, &manager_),
12 needs_commit_(false) {}
14 scoped_ptr<FakeLayerTreeHost> FakeLayerTreeHost::Create() {
15 static FakeLayerTreeHostClient client(FakeLayerTreeHostClient::DIRECT_3D);
16 static LayerTreeSettings settings;
17 return make_scoped_ptr(new FakeLayerTreeHost(&client, settings));
20 scoped_ptr<FakeLayerTreeHost> FakeLayerTreeHost::Create(
21 const LayerTreeSettings& settings) {
22 static FakeLayerTreeHostClient client(FakeLayerTreeHostClient::DIRECT_3D);
23 return make_scoped_ptr(new FakeLayerTreeHost(&client, settings));
26 void FakeLayerTreeHost::SetNeedsCommit() { needs_commit_ = true; }
28 LayerImpl* FakeLayerTreeHost::CommitAndCreateLayerImplTree() {
29 scoped_ptr<LayerImpl> old_root_layer_impl = active_tree()->DetachLayerTree();
31 scoped_ptr<LayerImpl> layer_impl = TreeSynchronizer::SynchronizeTrees(
32 root_layer(), old_root_layer_impl.Pass(), active_tree());
33 TreeSynchronizer::PushProperties(root_layer(), layer_impl.get());
35 active_tree()->SetRootLayer(layer_impl.Pass());
36 return active_tree()->root_layer();
39 } // namespace cc