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