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

Unified Diff: content/browser/memory/memory_coordinator_unittest.cc

Issue 2564623004: memory coordinator: Throttle background renderers on Android (Closed)
Patch Set: naming Created 4 years 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « content/browser/memory/memory_coordinator.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/browser/memory/memory_coordinator_unittest.cc
diff --git a/content/browser/memory/memory_coordinator_unittest.cc b/content/browser/memory/memory_coordinator_unittest.cc
index 6b88b852da53299e3270a24e427271821b953ef4..01cc14ce9a5cccbeb6416ece1621299299e0aff0 100644
--- a/content/browser/memory/memory_coordinator_unittest.cc
+++ b/content/browser/memory/memory_coordinator_unittest.cc
@@ -26,7 +26,7 @@ void RunUntilIdle() {
class MockChildMemoryCoordinator : public mojom::ChildMemoryCoordinator {
public:
MockChildMemoryCoordinator()
- : state_(mojom::MemoryState::UNKNOWN),
+ : state_(mojom::MemoryState::NORMAL),
on_state_change_calls_(0) {}
~MockChildMemoryCoordinator() override {}
@@ -138,4 +138,33 @@ TEST_F(MemoryCoordinatorTest, SetMemoryStateDelivered) {
EXPECT_EQ(mojom::MemoryState::THROTTLED, cmc2->state());
}
+TEST_F(MemoryCoordinatorTest, SetChildMemoryState) {
+ TestMemoryCoordinator mc;
+ auto cmc = mc.CreateChildMemoryCoordinator(1);
+ auto iter = mc.children().find(1);
+ ASSERT_TRUE(iter != mc.children().end());
+
+ // Foreground
+ iter->second.is_visible = true;
+ EXPECT_TRUE(mc.SetChildMemoryState(1, mojom::MemoryState::NORMAL));
+ EXPECT_EQ(mojom::MemoryState::NORMAL, cmc->state());
+ EXPECT_TRUE(mc.SetChildMemoryState(1, mojom::MemoryState::THROTTLED));
+ EXPECT_EQ(mojom::MemoryState::THROTTLED, cmc->state());
+ EXPECT_TRUE(mc.SetChildMemoryState(1, mojom::MemoryState::SUSPENDED));
+ EXPECT_EQ(mojom::MemoryState::THROTTLED, cmc->state());
+
+ // Background
+ iter->second.is_visible = false;
+ EXPECT_TRUE(mc.SetChildMemoryState(1, mojom::MemoryState::NORMAL));
+#if defined(OS_ANDROID)
+ EXPECT_EQ(mojom::MemoryState::THROTTLED, cmc->state());
+#else
+ EXPECT_EQ(mojom::MemoryState::NORMAL, cmc->state());
+#endif
+ EXPECT_TRUE(mc.SetChildMemoryState(1, mojom::MemoryState::THROTTLED));
+ EXPECT_EQ(mojom::MemoryState::THROTTLED, cmc->state());
+ EXPECT_TRUE(mc.SetChildMemoryState(1, mojom::MemoryState::SUSPENDED));
+ EXPECT_EQ(mojom::MemoryState::SUSPENDED, cmc->state());
+}
+
} // namespace content
« no previous file with comments | « content/browser/memory/memory_coordinator.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698