[email protected] | b54f2c338 | 2013-08-24 00:03:49 | [diff] [blame] | 1 | // Copyright 2013 The Chromium Authors. All rights reserved. |
2 | // Use of this source code is governed by a BSD-style license that can be | ||||
3 | // found in the LICENSE file. | ||||
4 | |||||
5 | #include "SkDiscardableMemory_chrome.h" | ||||
6 | |||||
reveman | e7b4233 | 2015-03-18 04:40:19 | [diff] [blame^] | 7 | #include "base/memory/discardable_memory.h" |
8 | #include "base/memory/discardable_memory_allocator.h" | ||||
9 | |||||
[email protected] | 9923ee1 | 2013-10-21 16:54:06 | [diff] [blame] | 10 | SkDiscardableMemoryChrome::~SkDiscardableMemoryChrome() {} |
[email protected] | b54f2c338 | 2013-08-24 00:03:49 | [diff] [blame] | 11 | |
12 | bool SkDiscardableMemoryChrome::lock() { | ||||
reveman | ef908422 | 2015-03-12 17:46:23 | [diff] [blame] | 13 | return discardable_->Lock(); |
[email protected] | b54f2c338 | 2013-08-24 00:03:49 | [diff] [blame] | 14 | } |
15 | |||||
16 | void* SkDiscardableMemoryChrome::data() { | ||||
17 | return discardable_->Memory(); | ||||
18 | } | ||||
19 | |||||
20 | void SkDiscardableMemoryChrome::unlock() { | ||||
21 | discardable_->Unlock(); | ||||
22 | } | ||||
23 | |||||
[email protected] | 9923ee1 | 2013-10-21 16:54:06 | [diff] [blame] | 24 | SkDiscardableMemoryChrome::SkDiscardableMemoryChrome( |
25 | scoped_ptr<base::DiscardableMemory> memory) | ||||
26 | : discardable_(memory.Pass()) { | ||||
[email protected] | b54f2c338 | 2013-08-24 00:03:49 | [diff] [blame] | 27 | } |
28 | |||||
29 | SkDiscardableMemory* SkDiscardableMemory::Create(size_t bytes) { | ||||
reveman | ef908422 | 2015-03-12 17:46:23 | [diff] [blame] | 30 | return new SkDiscardableMemoryChrome( |
reveman | e7b4233 | 2015-03-18 04:40:19 | [diff] [blame^] | 31 | base::DiscardableMemoryAllocator::GetInstance() |
32 | ->AllocateLockedDiscardableMemory(bytes)); | ||||
[email protected] | b54f2c338 | 2013-08-24 00:03:49 | [diff] [blame] | 33 | } |