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"
8 FakeLayerTreeHost::FakeLayerTreeHost(FakeLayerTreeHostClient
* client
,
9 const LayerTreeSettings
& settings
)
10 : LayerTreeHost(client
, NULL
, NULL
, settings
),
12 host_impl_(settings
, &proxy_
, &manager_
),
13 needs_commit_(false) {
14 client_
->SetLayerTreeHost(this);
17 scoped_ptr
<FakeLayerTreeHost
> FakeLayerTreeHost::Create(
18 FakeLayerTreeHostClient
* client
) {
19 LayerTreeSettings settings
;
20 settings
.verify_property_trees
= true;
21 return make_scoped_ptr(new FakeLayerTreeHost(client
, settings
));
24 scoped_ptr
<FakeLayerTreeHost
> FakeLayerTreeHost::Create(
25 FakeLayerTreeHostClient
* client
,
26 const LayerTreeSettings
& settings
) {
27 return make_scoped_ptr(new FakeLayerTreeHost(client
, settings
));
30 FakeLayerTreeHost::~FakeLayerTreeHost() {
31 client_
->SetLayerTreeHost(NULL
);
34 void FakeLayerTreeHost::SetNeedsCommit() { needs_commit_
= true; }
36 LayerImpl
* FakeLayerTreeHost::CommitAndCreateLayerImplTree() {
37 scoped_ptr
<LayerImpl
> old_root_layer_impl
= active_tree()->DetachLayerTree();
39 scoped_ptr
<LayerImpl
> layer_impl
= TreeSynchronizer::SynchronizeTrees(
40 root_layer(), old_root_layer_impl
.Pass(), active_tree());
41 TreeSynchronizer::PushProperties(root_layer(), layer_impl
.get());
43 active_tree()->SetRootLayer(layer_impl
.Pass());
44 return active_tree()->root_layer();