From 606add3dfb2f6d1dc3ee4921876e7c9fa01643f9 Mon Sep 17 00:00:00 2001 From: bungeman Date: Thu, 15 Sep 2016 10:57:38 -0700 Subject: Revert of SkFontData to use smart pointers. (patchset #3 id:40001 of https://codereview.chromium.org/2339273002/ ) Reason for revert: Killing Mac Original issue's description: > SkFontData to use smart pointers. > > The SkFontData type is not exposed externally, so any method which uses > it can be updated to use smart pointers without affecting external > users. Updating this first will make updating the public API much > easier. > > This also updates SkStreamAsset* SkStream::NewFromFile(const char*) to > std::unique_ptr SkStream::MakeFromFile(const char*). It > appears that no one outside Skia is currently using SkStream::NewfromFile > so this is a good time to update it as well. > > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2339273002 > > Committed: https://skia.googlesource.com/skia/+/d8c2476a8b1e1e1a1771b17e8dd4db8645914f8c TBR=mtklein@chromium.org,halcanary@google.com,mtklein@google.com,reed@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review-Url: https://codereview.chromium.org/2343933002 --- src/core/SkStream.cpp | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'src/core/SkStream.cpp') diff --git a/src/core/SkStream.cpp b/src/core/SkStream.cpp index e7b3a7a7e5..48eb92cae5 100644 --- a/src/core/SkStream.cpp +++ b/src/core/SkStream.cpp @@ -10,7 +10,6 @@ #include "SkStreamPriv.h" #include "SkData.h" #include "SkFixed.h" -#include "SkMakeUnique.h" #include "SkString.h" #include "SkOSFile.h" #include "SkTypes.h" @@ -855,18 +854,20 @@ static sk_sp mmap_filename(const char path[]) { return data; } -std::unique_ptr SkStream::MakeFromFile(const char path[]) { +SkStreamAsset* SkStream::NewFromFile(const char path[]) { auto data(mmap_filename(path)); if (data) { - return skstd::make_unique(std::move(data)); + return new SkMemoryStream(std::move(data)); } - // If we get here, then our attempt at using mmap failed, so try normal file access. - auto stream = skstd::make_unique(path); + // If we get here, then our attempt at using mmap failed, so try normal + // file access. + SkFILEStream* stream = new SkFILEStream(path); if (!stream->isValid()) { - return nullptr; + delete stream; + stream = nullptr; } - return std::move(stream); + return stream; } // Declared in SkStreamPriv.h: -- cgit v1.2.3