diff options
author | bungeman <bungeman@google.com> | 2016-09-15 10:57:38 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-09-15 10:57:39 -0700 |
commit | 606add3dfb2f6d1dc3ee4921876e7c9fa01643f9 (patch) | |
tree | f358bd464a80b6739601ef2c653ce78c532f3a7c /src/core/SkTypeface.cpp | |
parent | a846c7223c531a634a549e7e6ed7d28eeec95bef (diff) |
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<SkStreamAsset> 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
Diffstat (limited to 'src/core/SkTypeface.cpp')
-rw-r--r-- | src/core/SkTypeface.cpp | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/src/core/SkTypeface.cpp b/src/core/SkTypeface.cpp index 3c4f5cb7e7..0c960d5915 100644 --- a/src/core/SkTypeface.cpp +++ b/src/core/SkTypeface.cpp @@ -9,7 +9,6 @@ #include "SkEndian.h" #include "SkFontDescriptor.h" #include "SkFontMgr.h" -#include "SkMakeUnique.h" #include "SkMutex.h" #include "SkOTTable_OS_2.h" #include "SkOnce.h" @@ -151,9 +150,9 @@ sk_sp<SkTypeface> SkTypeface::MakeFromStream(SkStreamAsset* stream, int index) { return sk_sp<SkTypeface>(fm->createFromStream(stream, index)); } -sk_sp<SkTypeface> SkTypeface::MakeFromFontData(std::unique_ptr<SkFontData> data) { +sk_sp<SkTypeface> SkTypeface::MakeFromFontData(SkFontData* data) { SkAutoTUnref<SkFontMgr> fm(SkFontMgr::RefDefault()); - return sk_sp<SkTypeface>(fm->createFromFontData(std::move(data))); + return sk_sp<SkTypeface>(fm->createFromFontData(data)); } sk_sp<SkTypeface> SkTypeface::MakeFromFile(const char path[], int index) { @@ -174,7 +173,7 @@ void SkTypeface::serialize(SkWStream* wstream) const { // Embed font data if it's a local font. if (isLocal && !desc.hasFontData()) { - desc.setFontData(this->onMakeFontData()); + desc.setFontData(this->onCreateFontData()); } desc.serialize(wstream); } @@ -189,9 +188,9 @@ sk_sp<SkTypeface> SkTypeface::MakeDeserialize(SkStream* stream) { return nullptr; } - std::unique_ptr<SkFontData> data = desc.detachFontData(); + SkFontData* data = desc.detachFontData(); if (data) { - sk_sp<SkTypeface> typeface(SkTypeface::MakeFromFontData(std::move(data))); + sk_sp<SkTypeface> typeface(SkTypeface::MakeFromFontData(data)); if (typeface) { return typeface; } @@ -228,15 +227,15 @@ SkStreamAsset* SkTypeface::openStream(int* ttcIndex) const { return this->onOpenStream(ttcIndex); } -std::unique_ptr<SkFontData> SkTypeface::makeFontData() const { - return this->onMakeFontData(); +SkFontData* SkTypeface::createFontData() const { + return this->onCreateFontData(); } // This implementation is temporary until this method can be made pure virtual. -std::unique_ptr<SkFontData> SkTypeface::onMakeFontData() const { +SkFontData* SkTypeface::onCreateFontData() const { int index; - std::unique_ptr<SkStreamAsset> stream(this->onOpenStream(&index)); - return skstd::make_unique<SkFontData>(std::move(stream), index, nullptr, 0); + SkAutoTDelete<SkStreamAsset> stream(this->onOpenStream(&index)); + return new SkFontData(stream.release(), index, nullptr, 0); }; int SkTypeface::charsToGlyphs(const void* chars, Encoding encoding, |