OLD | NEW |
---|---|
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "base/macros.h" | 7 #include "base/macros.h" |
8 #include "base/message_loop/message_loop.h" | |
9 #include "base/trace_event/memory_dump_manager.h" | |
10 #include "base/trace_event/process_memory_dump.h" | |
8 #include "cc/animation/animation_host.h" | 11 #include "cc/animation/animation_host.h" |
9 #include "cc/resources/ui_resource_bitmap.h" | 12 #include "cc/resources/ui_resource_bitmap.h" |
10 #include "cc/resources/ui_resource_manager.h" | 13 #include "cc/resources/ui_resource_manager.h" |
11 #include "cc/test/stub_layer_tree_host_client.h" | 14 #include "cc/test/stub_layer_tree_host_client.h" |
12 #include "cc/test/test_task_graph_runner.h" | 15 #include "cc/test/test_task_graph_runner.h" |
13 #include "testing/gmock/include/gmock/gmock.h" | 16 #include "testing/gmock/include/gmock/gmock.h" |
14 #include "testing/gtest/include/gtest/gtest.h" | 17 #include "testing/gtest/include/gtest/gtest.h" |
15 #include "third_party/skia/include/core/SkBitmap.h" | 18 #include "third_party/skia/include/core/SkBitmap.h" |
16 #include "third_party/skia/include/core/SkCanvas.h" | 19 #include "third_party/skia/include/core/SkCanvas.h" |
17 #include "ui/android/resources/resource_manager_impl.h" | 20 #include "ui/android/resources/resource_manager_impl.h" |
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
104 return resource_manager_.GetUIResourceId(ui::ANDROID_RESOURCE_TYPE_SYSTEM, | 107 return resource_manager_.GetUIResourceId(ui::ANDROID_RESOURCE_TYPE_SYSTEM, |
105 type); | 108 type); |
106 } | 109 } |
107 | 110 |
108 void SetResourceAsLoaded(ui::SystemUIResourceType type) { | 111 void SetResourceAsLoaded(ui::SystemUIResourceType type) { |
109 resource_manager_.SetResourceAsLoaded(ui::ANDROID_RESOURCE_TYPE_SYSTEM, | 112 resource_manager_.SetResourceAsLoaded(ui::ANDROID_RESOURCE_TYPE_SYSTEM, |
110 type); | 113 type); |
111 } | 114 } |
112 | 115 |
113 private: | 116 private: |
117 base::MessageLoop message_loop_; | |
114 WindowAndroid* window_android_; | 118 WindowAndroid* window_android_; |
115 | 119 |
116 protected: | 120 protected: |
117 MockUIResourceManager ui_resource_manager_; | 121 MockUIResourceManager ui_resource_manager_; |
118 TestResourceManagerImpl resource_manager_; | 122 TestResourceManagerImpl resource_manager_; |
119 cc::TestTaskGraphRunner task_graph_runner_; | |
120 cc::StubLayerTreeHostClient stub_client_; | 123 cc::StubLayerTreeHostClient stub_client_; |
121 }; | 124 }; |
122 | 125 |
123 TEST_F(ResourceManagerTest, GetResource) { | 126 TEST_F(ResourceManagerTest, GetResource) { |
124 const cc::UIResourceId kResourceId = 99; | 127 const cc::UIResourceId kResourceId = 99; |
125 EXPECT_CALL(ui_resource_manager_, CreateUIResource(_)) | 128 EXPECT_CALL(ui_resource_manager_, CreateUIResource(_)) |
126 .WillOnce(Return(kResourceId)) | 129 .WillOnce(Return(kResourceId)) |
127 .RetiresOnSaturation(); | 130 .RetiresOnSaturation(); |
128 EXPECT_EQ(kResourceId, GetUIResourceId(kTestResourceType)); | 131 EXPECT_EQ(kResourceId, GetUIResourceId(kTestResourceType)); |
129 } | 132 } |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
170 resource_manager_.ProcessCrushedSpriteFrameRects(frame_rects_vector); | 173 resource_manager_.ProcessCrushedSpriteFrameRects(frame_rects_vector); |
171 EXPECT_EQ(kNumFrames, actual_rects.size()); | 174 EXPECT_EQ(kNumFrames, actual_rects.size()); |
172 for (size_t i = 0; i < kNumFrames; i++) { | 175 for (size_t i = 0; i < kNumFrames; i++) { |
173 EXPECT_EQ(expected_rects[i].size(), actual_rects[i].size()); | 176 EXPECT_EQ(expected_rects[i].size(), actual_rects[i].size()); |
174 for (size_t j = 0; j < actual_rects[i].size(); j++) { | 177 for (size_t j = 0; j < actual_rects[i].size(); j++) { |
175 EXPECT_EQ(expected_rects[i][j], actual_rects[i][j]); | 178 EXPECT_EQ(expected_rects[i][j], actual_rects[i][j]); |
176 } | 179 } |
177 } | 180 } |
178 } | 181 } |
179 | 182 |
183 TEST_F(ResourceManagerTest, TestOnMemoryDumpEmitsData) { | |
184 SetResourceAsLoaded(kTestResourceType); | |
185 | |
186 base::trace_event::MemoryDumpArgs dump_args = { | |
187 base::trace_event::MemoryDumpLevelOfDetail::DETAILED}; | |
188 std::unique_ptr<base::trace_event::ProcessMemoryDump> process_memory_dump( | |
189 new base::trace_event::ProcessMemoryDump(nullptr, dump_args)); | |
David Trainor- moved to gerrit
2016/10/13 04:07:21
MakeUnique
ssid
2016/10/13 17:45:16
Done.
| |
190 resource_manager_.OnMemoryDump(dump_args, process_memory_dump.get()); | |
191 const auto& allocator_dumps = process_memory_dump->allocator_dumps(); | |
192 const char* system_allocator_pool_name = | |
193 base::trace_event::MemoryDumpManager::GetInstance() | |
194 ->system_allocator_pool_name(); | |
195 size_t expected_dump_count = system_allocator_pool_name ? 2 : 1; | |
196 EXPECT_EQ(expected_dump_count, allocator_dumps.size()); | |
197 for (const auto& dump : allocator_dumps) { | |
198 ASSERT_TRUE(dump.first.find("ui/resource_manager") == 0 || | |
199 dump.first.find(system_allocator_pool_name) == 0); | |
200 } | |
201 } | |
202 | |
180 } // namespace ui | 203 } // namespace ui |
OLD | NEW |