| 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
|
|
|