| OLD | NEW |
| (Empty) |
| 1 // Copyright 2012 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. | |
| 4 | |
| 5 #include "cc/test/begin_frame_args_test.h" | |
| 6 #include "cc/test/fake_layer_tree_host_impl.h" | |
| 7 #include "cc/test/test_shared_bitmap_manager.h" | |
| 8 #include "cc/trees/layer_tree_impl.h" | |
| 9 | |
| 10 namespace cc { | |
| 11 | |
| 12 FakeLayerTreeHostImpl::FakeLayerTreeHostImpl(Proxy* proxy, | |
| 13 SharedBitmapManager* manager, | |
| 14 TaskGraphRunner* task_graph_runner) | |
| 15 : LayerTreeHostImpl(LayerTreeSettings(), | |
| 16 &client_, | |
| 17 proxy, | |
| 18 &stats_instrumentation_, | |
| 19 manager, | |
| 20 NULL, | |
| 21 task_graph_runner, | |
| 22 0) { | |
| 23 // Explicitly clear all debug settings. | |
| 24 SetDebugState(LayerTreeDebugState()); | |
| 25 SetViewportSize(gfx::Size(100, 100)); | |
| 26 | |
| 27 // Avoid using Now() as the frame time in unit tests. | |
| 28 base::TimeTicks time_ticks = base::TimeTicks::FromInternalValue(1); | |
| 29 SetCurrentBeginFrameArgs( | |
| 30 CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE, time_ticks)); | |
| 31 } | |
| 32 | |
| 33 FakeLayerTreeHostImpl::FakeLayerTreeHostImpl(const LayerTreeSettings& settings, | |
| 34 Proxy* proxy, | |
| 35 SharedBitmapManager* manager, | |
| 36 TaskGraphRunner* task_graph_runner) | |
| 37 : LayerTreeHostImpl(settings, | |
| 38 &client_, | |
| 39 proxy, | |
| 40 &stats_instrumentation_, | |
| 41 manager, | |
| 42 NULL, | |
| 43 task_graph_runner, | |
| 44 0) { | |
| 45 // Explicitly clear all debug settings. | |
| 46 SetDebugState(LayerTreeDebugState()); | |
| 47 | |
| 48 // Avoid using Now() as the frame time in unit tests. | |
| 49 base::TimeTicks time_ticks = base::TimeTicks::FromInternalValue(1); | |
| 50 SetCurrentBeginFrameArgs( | |
| 51 CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE, time_ticks)); | |
| 52 } | |
| 53 | |
| 54 FakeLayerTreeHostImpl::~FakeLayerTreeHostImpl() {} | |
| 55 | |
| 56 void FakeLayerTreeHostImpl::CreatePendingTree() { | |
| 57 LayerTreeHostImpl::CreatePendingTree(); | |
| 58 float arbitrary_large_page_scale = 100000.f; | |
| 59 pending_tree()->PushPageScaleFromMainThread( | |
| 60 1.f, 1.f / arbitrary_large_page_scale, arbitrary_large_page_scale); | |
| 61 } | |
| 62 | |
| 63 BeginFrameArgs FakeLayerTreeHostImpl::CurrentBeginFrameArgs() const { | |
| 64 if (!current_begin_frame_args_.IsValid()) | |
| 65 return LayerTreeHostImpl::CurrentBeginFrameArgs(); | |
| 66 return current_begin_frame_args_; | |
| 67 } | |
| 68 | |
| 69 void FakeLayerTreeHostImpl::SetCurrentBeginFrameArgs( | |
| 70 const BeginFrameArgs& args) { | |
| 71 current_begin_frame_args_ = args; | |
| 72 } | |
| 73 | |
| 74 int FakeLayerTreeHostImpl::RecursiveUpdateNumChildren(LayerImpl* layer) { | |
| 75 int num_children_that_draw_content = 0; | |
| 76 for (size_t i = 0; i < layer->children().size(); ++i) { | |
| 77 num_children_that_draw_content += | |
| 78 RecursiveUpdateNumChildren(layer->children()[i]); | |
| 79 } | |
| 80 if (layer->DrawsContent() && layer->HasDelegatedContent()) | |
| 81 num_children_that_draw_content += 1000; | |
| 82 layer->SetNumDescendantsThatDrawContent(num_children_that_draw_content); | |
| 83 return num_children_that_draw_content + (layer->DrawsContent() ? 1 : 0); | |
| 84 } | |
| 85 | |
| 86 void FakeLayerTreeHostImpl::UpdateNumChildrenAndDrawPropertiesForActiveTree() { | |
| 87 UpdateNumChildrenAndDrawProperties(active_tree()); | |
| 88 } | |
| 89 | |
| 90 void FakeLayerTreeHostImpl::UpdateNumChildrenAndDrawProperties( | |
| 91 LayerTreeImpl* layerTree) { | |
| 92 RecursiveUpdateNumChildren(layerTree->root_layer()); | |
| 93 bool update_lcd_text = false; | |
| 94 layerTree->UpdateDrawProperties(update_lcd_text); | |
| 95 } | |
| 96 | |
| 97 } // namespace cc | |
| OLD | NEW |