blob: 90adda1ea0b89f9804727f5aa9b6928d6d0c849f [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
dchengb7745d32015-12-18 16:57:315#include "skia/ext/SkDiscardableMemory_chrome.h"
6
avicef19f72015-12-22 17:47:247#include <stddef.h>
8
dchengb7745d32015-12-18 16:57:319#include <utility>
[email protected]b54f2c3382013-08-24 00:03:4910
revemane7b42332015-03-18 04:40:1911#include "base/memory/discardable_memory.h"
12#include "base/memory/discardable_memory_allocator.h"
13
Chris Watkins4f55145342017-11-29 01:41:1614SkDiscardableMemoryChrome::~SkDiscardableMemoryChrome() = default;
[email protected]b54f2c3382013-08-24 00:03:4915
16bool SkDiscardableMemoryChrome::lock() {
revemanef9084222015-03-12 17:46:2317 return discardable_->Lock();
[email protected]b54f2c3382013-08-24 00:03:4918}
19
20void* SkDiscardableMemoryChrome::data() {
reveman2cc373d2015-04-16 20:52:1821 return discardable_->data();
[email protected]b54f2c3382013-08-24 00:03:4922}
23
24void SkDiscardableMemoryChrome::unlock() {
25 discardable_->Unlock();
26}
27
[email protected]9923ee12013-10-21 16:54:0628SkDiscardableMemoryChrome::SkDiscardableMemoryChrome(
thakisb743cc62016-04-11 18:33:1429 std::unique_ptr<base::DiscardableMemory> memory)
dchengb7745d32015-12-18 16:57:3130 : discardable_(std::move(memory)) {}
[email protected]b54f2c3382013-08-24 00:03:4931
ssid70405032015-09-03 19:10:1432base::trace_event::MemoryAllocatorDump*
33SkDiscardableMemoryChrome::CreateMemoryAllocatorDump(
34 const char* name,
35 base::trace_event::ProcessMemoryDump* pmd) const {
36 return discardable_->CreateMemoryAllocatorDump(name, pmd);
37}
38
[email protected]b54f2c3382013-08-24 00:03:4939SkDiscardableMemory* SkDiscardableMemory::Create(size_t bytes) {
revemanef9084222015-03-12 17:46:2340 return new SkDiscardableMemoryChrome(
revemane7b42332015-03-18 04:40:1941 base::DiscardableMemoryAllocator::GetInstance()
42 ->AllocateLockedDiscardableMemory(bytes));
[email protected]b54f2c3382013-08-24 00:03:4943}