| Index: third_party/WebKit/Source/platform/fonts/shaping/HarfBuzzFace.cpp
|
| diff --git a/third_party/WebKit/Source/platform/fonts/shaping/HarfBuzzFace.cpp b/third_party/WebKit/Source/platform/fonts/shaping/HarfBuzzFace.cpp
|
| index 46d7870da57e8e3449392839be5bff982546d014..e1b1bd1eefa1e4f0ca3cb705bc46cc28f95cd8f5 100644
|
| --- a/third_party/WebKit/Source/platform/fonts/shaping/HarfBuzzFace.cpp
|
| +++ b/third_party/WebKit/Source/platform/fonts/shaping/HarfBuzzFace.cpp
|
| @@ -53,6 +53,26 @@
|
|
|
| namespace blink {
|
|
|
| +struct HbFontDeleter {
|
| + void operator()(hb_font_t* font)
|
| + {
|
| + if (font)
|
| + hb_font_destroy(font);
|
| + }
|
| +};
|
| +
|
| +using HbFontUniquePtr = std::unique_ptr<hb_font_t, HbFontDeleter>;
|
| +
|
| +struct HbFaceDeleter {
|
| + void operator()(hb_face_t* face)
|
| + {
|
| + if (face)
|
| + hb_face_destroy(face);
|
| + }
|
| +};
|
| +
|
| +using HbFaceUniquePtr = std::unique_ptr<hb_face_t, HbFaceDeleter>;
|
| +
|
| // struct to carry user-pointer data for hb_font_t callback functions.
|
| struct HarfBuzzFontData {
|
| USING_FAST_MALLOC(HarfBuzzFontData);
|
| @@ -91,11 +111,11 @@ public:
|
|
|
| private:
|
| explicit HbFontCacheEntry(hb_font_t* font)
|
| - : m_hbFont(adoptPtr(font))
|
| + : m_hbFont(HbFontUniquePtr(font))
|
| , m_hbFontData(adoptPtr(new HarfBuzzFontData()))
|
| { };
|
|
|
| - OwnPtr<hb_font_t> m_hbFont;
|
| + HbFontUniquePtr m_hbFont;
|
| OwnPtr<HarfBuzzFontData> m_hbFontData;
|
| };
|
|
|
| @@ -115,7 +135,7 @@ HarfBuzzFace::HarfBuzzFace(FontPlatformData* platformData, uint64_t uniqueID)
|
| {
|
| HarfBuzzFontCache::AddResult result = harfBuzzFontCache()->add(m_uniqueID, nullptr);
|
| if (result.isNewEntry) {
|
| - OwnPtr<hb_face_t> face = adoptPtr(createFace());
|
| + HbFaceUniquePtr face(createFace());
|
| result.storedValue->value = createHbFontCacheEntry(face.get());
|
| }
|
| result.storedValue->value->ref();
|
| @@ -302,7 +322,7 @@ hb_face_t* HarfBuzzFace::createFace()
|
|
|
| PassRefPtr<HbFontCacheEntry> createHbFontCacheEntry(hb_face_t* face)
|
| {
|
| - OwnPtr<hb_font_t> otFont = adoptPtr(hb_font_create(face));
|
| + HbFontUniquePtr otFont(hb_font_create(face));
|
| hb_ot_font_set_funcs(otFont.get());
|
| // Creating a sub font means that non-available functions
|
| // are found from the parent.
|
|
|