diff options
author | Ben Wagner <bungeman@google.com> | 2017-01-03 13:32:36 -0500 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-01-04 14:51:09 +0000 |
commit | 3546ff10c2e1e91f5afe1efaab4e5e14f71689d1 (patch) | |
tree | cbcf83ae724df22c6cc5704a75be9095a28058db /src/ports/SkFontMgr_custom_embedded_factory.cpp | |
parent | 8bc9f7b32867cb46fd7b56c11bf9dfa79a7d246e (diff) |
Stage SkFontMgr factories to return smart pointers.
All the SkFontMgr factories currently return bare pointers and sometimes
even document the ownership rules. Since such factories can be
implemented by external ports, the ownership rules should be explicit in
order to prevent simple reference counting issues.
Change-Id: I25b598ce0954cd473a3fb1f8adc0cb86331583ca
Reviewed-on: https://skia-review.googlesource.com/6533
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Diffstat (limited to 'src/ports/SkFontMgr_custom_embedded_factory.cpp')
-rw-r--r-- | src/ports/SkFontMgr_custom_embedded_factory.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/ports/SkFontMgr_custom_embedded_factory.cpp b/src/ports/SkFontMgr_custom_embedded_factory.cpp index 6ea6a2d2af..79d5500648 100644 --- a/src/ports/SkFontMgr_custom_embedded_factory.cpp +++ b/src/ports/SkFontMgr_custom_embedded_factory.cpp @@ -9,9 +9,17 @@ struct SkEmbeddedResource { const uint8_t* data; size_t size; }; struct SkEmbeddedResourceHeader { const SkEmbeddedResource* entries; int count; }; +#ifdef SK_LEGACY_FONTMGR_FACTORY SkFontMgr* SkFontMgr_New_Custom_Embedded(const SkEmbeddedResourceHeader* header); +#else +sk_sp<SkFontMgr> SkFontMgr_New_Custom_Embedded(const SkEmbeddedResourceHeader* header); +#endif extern "C" const SkEmbeddedResourceHeader SK_EMBEDDED_FONTS; +#ifdef SK_LEGACY_FONTMGR_FACTORY SkFontMgr* SkFontMgr::Factory() { +#else +sk_sp<SkFontMgr> SkFontMgr::Factory() { +#endif return SkFontMgr_New_Custom_Embedded(&SK_EMBEDDED_FONTS); } |