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

Side by Side Diff: third_party/WebKit/Source/platform/fonts/win/FontCacheSkiaWin.cpp

Issue 1591883002: Add plumbing in blink to allow overriding the default font collection. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Clean up extra headers and declarations Created 4 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2006, 2007 Apple Computer, Inc. 2 * Copyright (C) 2006, 2007 Apple Computer, Inc.
3 * Copyright (c) 2006, 2007, 2008, 2009, 2012 Google Inc. All rights reserved. 3 * Copyright (c) 2006, 2007, 2008, 2009, 2012 Google Inc. All rights reserved.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are 6 * modification, are permitted provided that the following conditions are
7 * met: 7 * met:
8 * 8 *
9 * * Redistributions of source code must retain the above copyright 9 * * Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer. 10 * notice, this list of conditions and the following disclaimer.
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
90 // static 90 // static
91 void FontCache::setStatusFontMetrics(const wchar_t* familyName, int32_t fontHeig ht) 91 void FontCache::setStatusFontMetrics(const wchar_t* familyName, int32_t fontHeig ht)
92 { 92 {
93 s_statusFontFamilyName = new AtomicString(familyName); 93 s_statusFontFamilyName = new AtomicString(familyName);
94 s_statusFontHeight = ensureMinimumFontHeightIfNeeded(fontHeight); 94 s_statusFontHeight = ensureMinimumFontHeightIfNeeded(fontHeight);
95 } 95 }
96 96
97 FontCache::FontCache() 97 FontCache::FontCache()
98 : m_purgePreventCount(0) 98 : m_purgePreventCount(0)
99 { 99 {
100 SkFontMgr* fontManager; 100 if (s_fontManager) {
101 101 m_fontManager = skia::SharePtr(s_fontManager);
102 if (s_useDirectWrite) { 102 } else if (s_useDirectWrite) {
103 fontManager = SkFontMgr_New_DirectWrite(s_directWriteFactory); 103 m_fontManager = skia::AdoptRef(SkFontMgr_New_DirectWrite(s_directWriteFa ctory));
bungeman-chromium 2016/01/21 15:48:13 This appears to be the only place s_directWriteFac
Ilya Kulshin 2016/01/21 20:59:22 s_useDirectWrite is set via setUseDirectWrite, whi
bungeman-skia 2016/01/21 21:11:40 Sure, s_useDirectWrite is still called (and should
104 s_useSubpixelPositioning = true;
105 } else { 104 } else {
106 fontManager = SkFontMgr_New_GDI(); 105 m_fontManager = skia::AdoptRef(SkFontMgr_New_GDI());
107 // Subpixel text positioning is not supported by the GDI backend.
108 s_useSubpixelPositioning = false;
109 } 106 }
110 107
111 ASSERT(fontManager); 108 // Subpixel text positioning is only supported by the DirectWrite backend (n ot GDI).
112 m_fontManager = adoptPtr(fontManager); 109 s_useSubpixelPositioning = s_useDirectWrite;
110
111 ASSERT(m_fontManager.get());
113 } 112 }
114 113
115 114
116 // Given the desired base font, this will create a SimpleFontData for a specific 115 // Given the desired base font, this will create a SimpleFontData for a specific
117 // font that can be used to render the given range of characters. 116 // font that can be used to render the given range of characters.
118 PassRefPtr<SimpleFontData> FontCache::fallbackFontForCharacter( 117 PassRefPtr<SimpleFontData> FontCache::fallbackFontForCharacter(
119 const FontDescription& fontDescription, UChar32 character, 118 const FontDescription& fontDescription, UChar32 character,
120 const SimpleFontData* originalFontData) 119 const SimpleFontData* originalFontData)
121 { 120 {
122 // First try the specified font with standard style & weight. 121 // First try the specified font with standard style & weight.
(...skipping 297 matching lines...) Expand 10 before | Expand all | Expand 10 after
420 if (typefacesMatchesFamily(tf.get(), family)) { 419 if (typefacesMatchesFamily(tf.get(), family)) {
421 result->setMinSizeForSubpixel(minSizeForSubpixelForFont); 420 result->setMinSizeForSubpixel(minSizeForSubpixelForFont);
422 break; 421 break;
423 } 422 }
424 } 423 }
425 424
426 return result.release(); 425 return result.release();
427 } 426 }
428 427
429 } // namespace blink 428 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698