blob: 5bb6928d13ceb18a1ffb5e1f6bea8020179d1f8b [file] [log] [blame]
[email protected]b54f2c3382013-08-24 00:03:491// 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
revemane7b42332015-03-18 04:40:197#include "base/memory/discardable_memory.h"
8#include "base/memory/discardable_memory_allocator.h"
9
[email protected]9923ee12013-10-21 16:54:0610SkDiscardableMemoryChrome::~SkDiscardableMemoryChrome() {}
[email protected]b54f2c3382013-08-24 00:03:4911
12bool SkDiscardableMemoryChrome::lock() {
revemanef9084222015-03-12 17:46:2313 return discardable_->Lock();
[email protected]b54f2c3382013-08-24 00:03:4914}
15
16void* SkDiscardableMemoryChrome::data() {
17 return discardable_->Memory();
18}
19
20void SkDiscardableMemoryChrome::unlock() {
21 discardable_->Unlock();
22}
23
[email protected]9923ee12013-10-21 16:54:0624SkDiscardableMemoryChrome::SkDiscardableMemoryChrome(
25 scoped_ptr<base::DiscardableMemory> memory)
26 : discardable_(memory.Pass()) {
[email protected]b54f2c3382013-08-24 00:03:4927}
28
29SkDiscardableMemory* SkDiscardableMemory::Create(size_t bytes) {
revemanef9084222015-03-12 17:46:2330 return new SkDiscardableMemoryChrome(
revemane7b42332015-03-18 04:40:1931 base::DiscardableMemoryAllocator::GetInstance()
32 ->AllocateLockedDiscardableMemory(bytes));
[email protected]b54f2c3382013-08-24 00:03:4933}