Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(255)

Side by Side Diff: ui/android/resources/resource_manager_impl_unittest.cc

Issue 2406103002: [tracing] Add memory usage of Android UI resources to memory-infra (Closed)
Patch Set: nit. Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698