| Index: base/memory/discardable_memory_provider_unittest.cc
|
| diff --git a/base/memory/discardable_memory_provider_unittest.cc b/base/memory/discardable_memory_provider_unittest.cc
|
| index 8c1aee896887aa95ec78e9035fc975c9fab93a73..84dfbc6df8adbddacc8d9f8cc5d1a887b0cb0e03 100644
|
| --- a/base/memory/discardable_memory_provider_unittest.cc
|
| +++ b/base/memory/discardable_memory_provider_unittest.cc
|
| @@ -232,6 +232,22 @@ TEST_P(DiscardableMemoryProviderPermutationTest, LRUDiscardedExceedLimit) {
|
| EXPECT_NE(static_cast<void*>(NULL), Memory(discardable(0)));
|
| }
|
|
|
| +// Verify that no more memory than necessary was discarded after changing
|
| +// memory limit.
|
| +TEST_P(DiscardableMemoryProviderPermutationTest, LRUDiscardedAmount) {
|
| + SetBytesToReclaimUnderModeratePressure(2048);
|
| + SetDiscardableMemoryLimit(4096);
|
| +
|
| + CreateAndUseDiscardableMemory();
|
| +
|
| + SetDiscardableMemoryLimit(2048);
|
| +
|
| + EXPECT_EQ(DISCARDABLE_MEMORY_SUCCESS, discardable(2)->Lock());
|
| + EXPECT_EQ(DISCARDABLE_MEMORY_PURGED, discardable(1)->Lock());
|
| + // 0 should still be locked.
|
| + EXPECT_NE(static_cast<void*>(NULL), Memory(discardable(0)));
|
| +}
|
| +
|
| TEST_P(DiscardableMemoryProviderPermutationTest,
|
| CriticalPressureFreesAllUnlocked) {
|
| CreateAndUseDiscardableMemory();
|
|
|