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 <stddef.h> | 5 #include <stddef.h> |
6 | 6 |
7 #include <unordered_map> | 7 #include <unordered_map> |
8 | 8 |
9 #include "base/threading/thread_task_runner_handle.h" | 9 #include "base/threading/thread_task_runner_handle.h" |
10 #include "cc/animation/animation_host.h" | 10 #include "cc/animation/animation_host.h" |
11 #include "cc/input/scrollbar_animation_controller.h" | 11 #include "cc/input/scrollbar_animation_controller.h" |
12 #include "cc/layers/append_quads_data.h" | 12 #include "cc/layers/append_quads_data.h" |
13 #include "cc/layers/painted_scrollbar_layer.h" | 13 #include "cc/layers/painted_scrollbar_layer.h" |
14 #include "cc/layers/painted_scrollbar_layer_impl.h" | 14 #include "cc/layers/painted_scrollbar_layer_impl.h" |
15 #include "cc/layers/scrollbar_layer_interface.h" | 15 #include "cc/layers/scrollbar_layer_interface.h" |
16 #include "cc/layers/solid_color_scrollbar_layer.h" | 16 #include "cc/layers/solid_color_scrollbar_layer.h" |
17 #include "cc/layers/solid_color_scrollbar_layer_impl.h" | 17 #include "cc/layers/solid_color_scrollbar_layer_impl.h" |
18 #include "cc/quads/solid_color_draw_quad.h" | 18 #include "cc/quads/solid_color_draw_quad.h" |
19 #include "cc/test/fake_impl_task_runner_provider.h" | 19 #include "cc/test/fake_impl_task_runner_provider.h" |
20 #include "cc/test/fake_layer_tree_host.h" | 20 #include "cc/test/fake_layer_tree_host.h" |
21 #include "cc/test/fake_layer_tree_host_client.h" | 21 #include "cc/test/fake_layer_tree_host_client.h" |
22 #include "cc/test/fake_layer_tree_host_impl.h" | 22 #include "cc/test/fake_layer_tree_host_impl.h" |
23 #include "cc/test/fake_painted_scrollbar_layer.h" | 23 #include "cc/test/fake_painted_scrollbar_layer.h" |
24 #include "cc/test/fake_scrollbar.h" | 24 #include "cc/test/fake_scrollbar.h" |
25 #include "cc/test/geometry_test_utils.h" | 25 #include "cc/test/geometry_test_utils.h" |
26 #include "cc/test/layer_tree_test.h" | 26 #include "cc/test/layer_tree_test.h" |
27 #include "cc/test/mock_occlusion_tracker.h" | 27 #include "cc/test/mock_occlusion_tracker.h" |
| 28 #include "cc/test/stub_layer_tree_host_single_thread_client.h" |
28 #include "cc/test/test_task_graph_runner.h" | 29 #include "cc/test/test_task_graph_runner.h" |
29 #include "cc/test/test_web_graphics_context_3d.h" | 30 #include "cc/test/test_web_graphics_context_3d.h" |
30 #include "cc/trees/effect_node.h" | 31 #include "cc/trees/effect_node.h" |
31 #include "cc/trees/layer_tree_host.h" | 32 #include "cc/trees/layer_tree_host.h" |
32 #include "cc/trees/layer_tree_impl.h" | 33 #include "cc/trees/layer_tree_impl.h" |
33 #include "cc/trees/occlusion_tracker.h" | 34 #include "cc/trees/occlusion_tracker.h" |
34 #include "cc/trees/scroll_node.h" | 35 #include "cc/trees/scroll_node.h" |
35 #include "cc/trees/single_thread_proxy.h" | 36 #include "cc/trees/single_thread_proxy.h" |
36 #include "cc/trees/tree_synchronizer.h" | 37 #include "cc/trees/tree_synchronizer.h" |
37 #include "testing/gmock/include/gmock/gmock.h" | 38 #include "testing/gmock/include/gmock/gmock.h" |
38 #include "testing/gtest/include/gtest/gtest.h" | 39 #include "testing/gtest/include/gtest/gtest.h" |
39 | 40 |
40 namespace cc { | 41 namespace cc { |
41 namespace { | 42 namespace { |
42 | 43 |
43 class FakeResourceTrackingLayerTreeHost : public FakeLayerTreeHost { | 44 class FakeResourceTrackingLayerTreeHost : public FakeLayerTreeHost { |
44 public: | 45 public: |
45 FakeResourceTrackingLayerTreeHost(FakeLayerTreeHostClient* client, | 46 FakeResourceTrackingLayerTreeHost(FakeLayerTreeHostClient* client, |
46 LayerTreeHost::InitParams* params) | 47 LayerTreeHost::InitParams* params) |
47 : FakeLayerTreeHost(client, params, CompositorMode::SINGLE_THREADED), | 48 : FakeLayerTreeHost(client, params, CompositorMode::SINGLE_THREADED), |
48 next_id_(1), | 49 next_id_(1), |
49 total_ui_resource_created_(0), | 50 total_ui_resource_created_(0), |
50 total_ui_resource_deleted_(0) { | 51 total_ui_resource_deleted_(0) { |
51 InitializeSingleThreaded(client, base::ThreadTaskRunnerHandle::Get(), | 52 InitializeSingleThreaded(&single_thread_client_, |
52 nullptr); | 53 base::ThreadTaskRunnerHandle::Get(), nullptr); |
53 } | 54 } |
54 | 55 |
55 UIResourceId CreateUIResource(UIResourceClient* content) override { | 56 UIResourceId CreateUIResource(UIResourceClient* content) override { |
56 total_ui_resource_created_++; | 57 total_ui_resource_created_++; |
57 UIResourceId nid = next_id_++; | 58 UIResourceId nid = next_id_++; |
58 ui_resource_bitmap_map_.insert( | 59 ui_resource_bitmap_map_.insert( |
59 std::make_pair(nid, content->GetBitmap(nid, false))); | 60 std::make_pair(nid, content->GetBitmap(nid, false))); |
60 return nid; | 61 return nid; |
61 } | 62 } |
62 | 63 |
(...skipping 22 matching lines...) Expand all Loading... |
85 if (iter != ui_resource_bitmap_map_.end()) | 86 if (iter != ui_resource_bitmap_map_.end()) |
86 return &iter->second; | 87 return &iter->second; |
87 return nullptr; | 88 return nullptr; |
88 } | 89 } |
89 | 90 |
90 private: | 91 private: |
91 using UIResourceBitmapMap = | 92 using UIResourceBitmapMap = |
92 std::unordered_map<UIResourceId, UIResourceBitmap>; | 93 std::unordered_map<UIResourceId, UIResourceBitmap>; |
93 UIResourceBitmapMap ui_resource_bitmap_map_; | 94 UIResourceBitmapMap ui_resource_bitmap_map_; |
94 | 95 |
| 96 StubLayerTreeHostSingleThreadClient single_thread_client_; |
95 int next_id_; | 97 int next_id_; |
96 int total_ui_resource_created_; | 98 int total_ui_resource_created_; |
97 int total_ui_resource_deleted_; | 99 int total_ui_resource_deleted_; |
98 }; | 100 }; |
99 | 101 |
100 class ScrollbarLayerTest : public testing::Test { | 102 class ScrollbarLayerTest : public testing::Test { |
101 public: | 103 public: |
102 ScrollbarLayerTest() { | 104 ScrollbarLayerTest() { |
103 layer_tree_settings_.single_thread_proxy_scheduler = false; | 105 layer_tree_settings_.single_thread_proxy_scheduler = false; |
104 layer_tree_settings_.use_zero_copy = true; | 106 layer_tree_settings_.use_zero_copy = true; |
(...skipping 1043 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1148 TestScale(gfx::Rect(1240, 0, 15, 1333), 2.7754839f); | 1150 TestScale(gfx::Rect(1240, 0, 15, 1333), 2.7754839f); |
1149 TestScale(gfx::Rect(1240, 0, 15, 677), 2.46677136f); | 1151 TestScale(gfx::Rect(1240, 0, 15, 677), 2.46677136f); |
1150 | 1152 |
1151 // Horizontal Scrollbars. | 1153 // Horizontal Scrollbars. |
1152 TestScale(gfx::Rect(0, 1240, 1333, 15), 2.7754839f); | 1154 TestScale(gfx::Rect(0, 1240, 1333, 15), 2.7754839f); |
1153 TestScale(gfx::Rect(0, 1240, 677, 15), 2.46677136f); | 1155 TestScale(gfx::Rect(0, 1240, 677, 15), 2.46677136f); |
1154 } | 1156 } |
1155 | 1157 |
1156 } // namespace | 1158 } // namespace |
1157 } // namespace cc | 1159 } // namespace cc |
OLD | NEW |