Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(170)

Side by Side Diff: skia/ext/fontmgr_default_win.cc

Issue 2618443002: Remove use of legacy SkFontMgr factories. (Closed)
Patch Set: Forward declare when possible. Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « skia/ext/fontmgr_default_win.h ('k') | third_party/WebKit/Source/platform/fonts/FontCache.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "skia/ext/fontmgr_default_win.h" 5 #include "skia/ext/fontmgr_default_win.h"
6 6
7 #include "third_party/skia/include/ports/SkFontMgr.h" 7 #include "third_party/skia/include/ports/SkFontMgr.h"
8 #include "third_party/skia/include/ports/SkTypeface_win.h" 8 #include "third_party/skia/include/ports/SkTypeface_win.h"
9 9
10 namespace { 10 namespace {
11 11
12 // This is a leaky bare owning pointer.
12 SkFontMgr* g_default_fontmgr; 13 SkFontMgr* g_default_fontmgr;
13 14
14 } // namespace 15 } // namespace
15 16
16 void SetDefaultSkiaFactory(SkFontMgr* fontmgr) { 17 void SetDefaultSkiaFactory(sk_sp<SkFontMgr> fontmgr) {
17 g_default_fontmgr = fontmgr; 18 SkASSERT(g_default_fontmgr == nullptr);
19 g_default_fontmgr = fontmgr.release();
18 } 20 }
19 21
20 SK_API SkFontMgr* SkFontMgr::Factory() { 22 SK_API sk_sp<SkFontMgr> SkFontMgr::Factory() {
21 // This will be set when DirectWrite is in use, and an SkFontMgr has been 23 // This will be set when DirectWrite is in use, and an SkFontMgr has been
22 // created with the pre-sandbox warmed up one. Otherwise, we fallback to a 24 // created with the pre-sandbox warmed up one. Otherwise, we fallback to a
23 // GDI SkFontMgr which is used in the browser. 25 // GDI SkFontMgr which is used in the browser.
24 if (g_default_fontmgr) 26 if (g_default_fontmgr)
25 return SkRef(g_default_fontmgr); 27 return sk_ref_sp(g_default_fontmgr);
26 return SkFontMgr_New_GDI(); 28 return SkFontMgr_New_GDI();
27 } 29 }
OLDNEW
« no previous file with comments | « skia/ext/fontmgr_default_win.h ('k') | third_party/WebKit/Source/platform/fonts/FontCache.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698