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

Side by Side Diff: third_party/WebKit/Source/platform/fonts/mac/FontPlatformDataMac.mm

Issue 2066323002: Remove SK_SUPPORT_LEGACY_TYPEFACE_PTR (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: moar Mac fixes Created 4 years, 6 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 * This file is part of the internal font implementation. 2 * This file is part of the internal font implementation.
3 * 3 *
4 * Copyright (C) 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserved. 4 * Copyright (C) 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserved.
5 * Copyright (c) 2010 Google Inc. All rights reserved. 5 * Copyright (c) 2010 Google Inc. All rights reserved.
6 * 6 *
7 * This library is free software; you can redistribute it and/or 7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Library General Public 8 * modify it under the terms of the GNU Library General Public
9 * License as published by the Free Software Foundation; either 9 * License as published by the Free Software Foundation; either
10 * version 2 of the License, or (at your option) any later version. 10 * version 2 of the License, or (at your option) any later version.
11 * 11 *
12 * This library is distributed in the hope that it will be useful, 12 * This library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Library General Public License for more details. 15 * Library General Public License for more details.
16 * 16 *
17 * You should have received a copy of the GNU Library General Public License 17 * You should have received a copy of the GNU Library General Public License
18 * along with this library; see the file COPYING.LIB. If not, write to 18 * along with this library; see the file COPYING.LIB. If not, write to
19 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 19 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20 * Boston, MA 02110-1301, USA. 20 * Boston, MA 02110-1301, USA.
21 * 21 *
22 */ 22 */
23 23
24 #import "platform/fonts/FontPlatformData.h" 24 #import "platform/fonts/FontPlatformData.h"
25 25
26 #import "platform/LayoutTestSupport.h" 26 #import "platform/LayoutTestSupport.h"
27 #import "platform/fonts/Font.h" 27 #import "platform/fonts/Font.h"
28 #import "platform/fonts/shaping/HarfBuzzFace.h" 28 #import "platform/fonts/shaping/HarfBuzzFace.h"
29 #import "platform/graphics/skia/SkiaUtils.h"
29 #import "public/platform/Platform.h" 30 #import "public/platform/Platform.h"
30 #import "public/platform/mac/WebSandboxSupport.h" 31 #import "public/platform/mac/WebSandboxSupport.h"
31 #import "third_party/skia/include/ports/SkTypeface_mac.h" 32 #import "third_party/skia/include/ports/SkTypeface_mac.h"
32 #import "wtf/RetainPtr.h" 33 #import "wtf/RetainPtr.h"
33 #import "wtf/text/WTFString.h" 34 #import "wtf/text/WTFString.h"
34 #import <AppKit/NSFont.h> 35 #import <AppKit/NSFont.h>
35 #import <AvailabilityMacros.h> 36 #import <AvailabilityMacros.h>
36 37
37 namespace blink { 38 namespace blink {
38 39
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
125 126
126 if (LayoutTestSupport::isRunningLayoutTest()) { 127 if (LayoutTestSupport::isRunningLayoutTest()) {
127 shouldSmoothFonts = false; 128 shouldSmoothFonts = false;
128 shouldAntialias = shouldAntialias && LayoutTestSupport::isFontAntialiasi ngEnabledForTest(); 129 shouldAntialias = shouldAntialias && LayoutTestSupport::isFontAntialiasi ngEnabledForTest();
129 } 130 }
130 131
131 paint->setAntiAlias(shouldAntialias); 132 paint->setAntiAlias(shouldAntialias);
132 paint->setEmbeddedBitmapText(false); 133 paint->setEmbeddedBitmapText(false);
133 const float ts = m_textSize >= 0 ? m_textSize : 12; 134 const float ts = m_textSize >= 0 ? m_textSize : 12;
134 paint->setTextSize(SkFloatToScalar(ts)); 135 paint->setTextSize(SkFloatToScalar(ts));
135 paint->setTypeface(typeface()); 136 paint->setTypeface(toSkSp(m_typeface));
136 paint->setFakeBoldText(m_syntheticBold); 137 paint->setFakeBoldText(m_syntheticBold);
137 paint->setTextSkewX(m_syntheticItalic ? -SK_Scalar1 / 4 : 0); 138 paint->setTextSkewX(m_syntheticItalic ? -SK_Scalar1 / 4 : 0);
138 paint->setLCDRenderText(shouldSmoothFonts); 139 paint->setLCDRenderText(shouldSmoothFonts);
139 paint->setSubpixelText(true); 140 paint->setSubpixelText(true);
140 141
141 // When rendering using CoreGraphics, disable hinting when webkit-font-smoot hing:antialiased or 142 // When rendering using CoreGraphics, disable hinting when webkit-font-smoot hing:antialiased or
142 // text-rendering:geometricPrecision is used. 143 // text-rendering:geometricPrecision is used.
143 // See crbug.com/152304 144 // See crbug.com/152304
144 if (font && (font->getFontDescription().fontSmoothing() == Antialiased || fo nt->getFontDescription().textRendering() == GeometricPrecision)) 145 if (font && (font->getFontDescription().fontSmoothing() == Antialiased || fo nt->getFontDescription().textRendering() == GeometricPrecision))
145 paint->setHinting(SkPaint::kNo_Hinting); 146 paint->setHinting(SkPaint::kNo_Hinting);
(...skipping 11 matching lines...) Expand all
157 m_typeface = adoptRef(SkCreateTypefaceFromCTFont(toCTFontRef(nsFont))); 158 m_typeface = adoptRef(SkCreateTypefaceFromCTFont(toCTFontRef(nsFont)));
158 } else { 159 } else {
159 // In process loading fails for cases where third party font manager sof tware 160 // In process loading fails for cases where third party font manager sof tware
160 // registers fonts in non system locations such as /Library/Fonts 161 // registers fonts in non system locations such as /Library/Fonts
161 // and ~/Library Fonts, see crbug.com/72727 or crbug.com/108645. 162 // and ~/Library Fonts, see crbug.com/72727 or crbug.com/108645.
162 m_typeface = loadFromBrowserProcess(nsFont, size); 163 m_typeface = loadFromBrowserProcess(nsFont, size);
163 } 164 }
164 } 165 }
165 166
166 } // namespace blink 167 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698