| Index: content/common/discardable_shared_memory_heap_unittest.cc
|
| diff --git a/content/common/discardable_shared_memory_heap_unittest.cc b/content/common/discardable_shared_memory_heap_unittest.cc
|
| index 5297ded0cc49a2fb903189feb1bfd2683cda8957..c80d2c2e4bfd0f18a50e28437b37af24d358b5f5 100644
|
| --- a/content/common/discardable_shared_memory_heap_unittest.cc
|
| +++ b/content/common/discardable_shared_memory_heap_unittest.cc
|
| @@ -30,6 +30,7 @@ TEST(DiscardableSharedMemoryHeapTest, Basic) {
|
|
|
| const size_t kBlocks = 10;
|
| size_t memory_size = block_size * kBlocks;
|
| + int next_discardable_shared_memory_id = 0;
|
|
|
| scoped_ptr<base::DiscardableSharedMemory> memory(
|
| new base::DiscardableSharedMemory);
|
| @@ -37,7 +38,8 @@ TEST(DiscardableSharedMemoryHeapTest, Basic) {
|
|
|
| // Create new span for memory.
|
| scoped_ptr<DiscardableSharedMemoryHeap::Span> new_span(
|
| - heap.Grow(memory.Pass(), memory_size, base::Bind(NullTask)));
|
| + heap.Grow(memory.Pass(), memory_size, next_discardable_shared_memory_id++,
|
| + base::Bind(NullTask)));
|
|
|
| // Size should match |memory_size|.
|
| EXPECT_EQ(memory_size, heap.GetSize());
|
| @@ -75,12 +77,14 @@ TEST(DiscardableSharedMemoryHeapTest, SplitAndMerge) {
|
|
|
| const size_t kBlocks = 6;
|
| size_t memory_size = block_size * kBlocks;
|
| + int next_discardable_shared_memory_id = 0;
|
|
|
| scoped_ptr<base::DiscardableSharedMemory> memory(
|
| new base::DiscardableSharedMemory);
|
| ASSERT_TRUE(memory->CreateAndMap(memory_size));
|
| scoped_ptr<DiscardableSharedMemoryHeap::Span> new_span(
|
| - heap.Grow(memory.Pass(), memory_size, base::Bind(NullTask)));
|
| + heap.Grow(memory.Pass(), memory_size, next_discardable_shared_memory_id++,
|
| + base::Bind(NullTask)));
|
|
|
| // Split span into two.
|
| scoped_ptr<DiscardableSharedMemoryHeap::Span> leftover =
|
| @@ -130,12 +134,14 @@ TEST(DiscardableSharedMemoryHeapTest, MergeSingleBlockSpan) {
|
|
|
| const size_t kBlocks = 6;
|
| size_t memory_size = block_size * kBlocks;
|
| + int next_discardable_shared_memory_id = 0;
|
|
|
| scoped_ptr<base::DiscardableSharedMemory> memory(
|
| new base::DiscardableSharedMemory);
|
| ASSERT_TRUE(memory->CreateAndMap(memory_size));
|
| scoped_ptr<DiscardableSharedMemoryHeap::Span> new_span(
|
| - heap.Grow(memory.Pass(), memory_size, base::Bind(NullTask)));
|
| + heap.Grow(memory.Pass(), memory_size, next_discardable_shared_memory_id++,
|
| + base::Bind(NullTask)));
|
|
|
| // Split span into two.
|
| scoped_ptr<DiscardableSharedMemoryHeap::Span> leftover =
|
| @@ -152,12 +158,14 @@ TEST(DiscardableSharedMemoryHeapTest, MergeSingleBlockSpan) {
|
| TEST(DiscardableSharedMemoryHeapTest, Grow) {
|
| size_t block_size = base::GetPageSize();
|
| DiscardableSharedMemoryHeap heap(block_size);
|
| + int next_discardable_shared_memory_id = 0;
|
|
|
| scoped_ptr<base::DiscardableSharedMemory> memory1(
|
| new base::DiscardableSharedMemory);
|
| ASSERT_TRUE(memory1->CreateAndMap(block_size));
|
| - heap.MergeIntoFreeLists(
|
| - heap.Grow(memory1.Pass(), block_size, base::Bind(NullTask)).Pass());
|
| + heap.MergeIntoFreeLists(heap.Grow(memory1.Pass(), block_size,
|
| + next_discardable_shared_memory_id++,
|
| + base::Bind(NullTask)).Pass());
|
|
|
| // Remove a span from free lists.
|
| scoped_ptr<DiscardableSharedMemoryHeap::Span> span1 =
|
| @@ -171,8 +179,9 @@ TEST(DiscardableSharedMemoryHeapTest, Grow) {
|
| scoped_ptr<base::DiscardableSharedMemory> memory2(
|
| new base::DiscardableSharedMemory);
|
| ASSERT_TRUE(memory2->CreateAndMap(block_size));
|
| - heap.MergeIntoFreeLists(
|
| - heap.Grow(memory2.Pass(), block_size, base::Bind(NullTask)).Pass());
|
| + heap.MergeIntoFreeLists(heap.Grow(memory2.Pass(), block_size,
|
| + next_discardable_shared_memory_id++,
|
| + base::Bind(NullTask)).Pass());
|
|
|
| // Memory should now be available.
|
| scoped_ptr<DiscardableSharedMemoryHeap::Span> span2 =
|
| @@ -187,12 +196,14 @@ TEST(DiscardableSharedMemoryHeapTest, Grow) {
|
| TEST(DiscardableSharedMemoryHeapTest, ReleaseFreeMemory) {
|
| size_t block_size = base::GetPageSize();
|
| DiscardableSharedMemoryHeap heap(block_size);
|
| + int next_discardable_shared_memory_id = 0;
|
|
|
| scoped_ptr<base::DiscardableSharedMemory> memory(
|
| new base::DiscardableSharedMemory);
|
| ASSERT_TRUE(memory->CreateAndMap(block_size));
|
| scoped_ptr<DiscardableSharedMemoryHeap::Span> span =
|
| - heap.Grow(memory.Pass(), block_size, base::Bind(NullTask));
|
| + heap.Grow(memory.Pass(), block_size, next_discardable_shared_memory_id++,
|
| + base::Bind(NullTask));
|
|
|
| // Free lists should be empty.
|
| EXPECT_EQ(0u, heap.GetSizeOfFreeLists());
|
| @@ -213,12 +224,14 @@ TEST(DiscardableSharedMemoryHeapTest, ReleaseFreeMemory) {
|
| TEST(DiscardableSharedMemoryHeapTest, ReleasePurgedMemory) {
|
| size_t block_size = base::GetPageSize();
|
| DiscardableSharedMemoryHeap heap(block_size);
|
| + int next_discardable_shared_memory_id = 0;
|
|
|
| scoped_ptr<base::DiscardableSharedMemory> memory(
|
| new base::DiscardableSharedMemory);
|
| ASSERT_TRUE(memory->CreateAndMap(block_size));
|
| scoped_ptr<DiscardableSharedMemoryHeap::Span> span =
|
| - heap.Grow(memory.Pass(), block_size, base::Bind(NullTask));
|
| + heap.Grow(memory.Pass(), block_size, next_discardable_shared_memory_id++,
|
| + base::Bind(NullTask));
|
|
|
| // Unlock memory so it can be purged.
|
| span->shared_memory()->Unlock(0, 0);
|
| @@ -241,12 +254,14 @@ TEST(DiscardableSharedMemoryHeapTest, Slack) {
|
|
|
| const size_t kBlocks = 6;
|
| size_t memory_size = block_size * kBlocks;
|
| + int next_discardable_shared_memory_id = 0;
|
|
|
| scoped_ptr<base::DiscardableSharedMemory> memory(
|
| new base::DiscardableSharedMemory);
|
| ASSERT_TRUE(memory->CreateAndMap(memory_size));
|
| - heap.MergeIntoFreeLists(
|
| - heap.Grow(memory.Pass(), memory_size, base::Bind(NullTask)).Pass());
|
| + heap.MergeIntoFreeLists(heap.Grow(memory.Pass(), memory_size,
|
| + next_discardable_shared_memory_id++,
|
| + base::Bind(NullTask)).Pass());
|
|
|
| // No free span that is less or equal to 3 + 1.
|
| EXPECT_FALSE(heap.SearchFreeLists(3, 1));
|
| @@ -271,13 +286,14 @@ void OnDeleted(bool* deleted) {
|
| TEST(DiscardableSharedMemoryHeapTest, DeletedCallback) {
|
| size_t block_size = base::GetPageSize();
|
| DiscardableSharedMemoryHeap heap(block_size);
|
| + int next_discardable_shared_memory_id = 0;
|
|
|
| scoped_ptr<base::DiscardableSharedMemory> memory(
|
| new base::DiscardableSharedMemory);
|
| ASSERT_TRUE(memory->CreateAndMap(block_size));
|
| bool deleted = false;
|
| scoped_ptr<DiscardableSharedMemoryHeap::Span> span =
|
| - heap.Grow(memory.Pass(), block_size,
|
| + heap.Grow(memory.Pass(), block_size, next_discardable_shared_memory_id++,
|
| base::Bind(OnDeleted, base::Unretained(&deleted)));
|
|
|
| heap.MergeIntoFreeLists(span.Pass());
|
|
|