| Index: src/core/SkResourceCache.cpp
|
| diff --git a/src/core/SkResourceCache.cpp b/src/core/SkResourceCache.cpp
|
| index 3098a9a2a13cf678f21cd2144d07e5575fe4483b..a673ec2d51aa4c39aa847c858f8d74fb63867e36 100644
|
| --- a/src/core/SkResourceCache.cpp
|
| +++ b/src/core/SkResourceCache.cpp
|
| @@ -5,6 +5,7 @@
|
| * found in the LICENSE file.
|
| */
|
|
|
| +#include "SkCachedData.h"
|
| #include "SkChecksum.h"
|
| #include "SkResourceCache.h"
|
| #include "SkMipMap.h"
|
| @@ -263,6 +264,15 @@ size_t SkResourceCache::setTotalByteLimit(size_t newLimit) {
|
| return prevLimit;
|
| }
|
|
|
| +SkCachedData* SkResourceCache::newCachedData(size_t bytes) {
|
| + if (fDiscardableFactory) {
|
| + SkDiscardableMemory* dm = fDiscardableFactory(bytes);
|
| + return dm ? SkNEW_ARGS(SkCachedData, (bytes, dm)) : NULL;
|
| + } else {
|
| + return SkNEW_ARGS(SkCachedData, (sk_malloc_throw(bytes), bytes));
|
| + }
|
| +}
|
| +
|
| ///////////////////////////////////////////////////////////////////////////////
|
|
|
| void SkResourceCache::detach(Rec* rec) {
|
| @@ -442,6 +452,11 @@ SkBitmap::Allocator* SkResourceCache::GetAllocator() {
|
| return get_cache()->allocator();
|
| }
|
|
|
| +SkCachedData* SkResourceCache::NewCachedData(size_t bytes) {
|
| + SkAutoMutexAcquire am(gMutex);
|
| + return get_cache()->newCachedData(bytes);
|
| +}
|
| +
|
| void SkResourceCache::Dump() {
|
| SkAutoMutexAcquire am(gMutex);
|
| get_cache()->dump();
|
|
|