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

Side by Side Diff: third_party/WebKit/Source/core/layout/LayoutThemeMac.mm

Issue 2388623002: Replace internal uses of BlinkMacSystemFont on Mac with system-ui (Closed)
Patch Set: Rebase Created 4 years, 2 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) 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved. 2 * Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
3 * Copyright (C) 2008, 2009 Google, Inc. 3 * Copyright (C) 2008, 2009 Google, Inc.
4 * 4 *
5 * This library is free software; you can redistribute it and/or 5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Library General Public 6 * modify it under the terms of the GNU Library General Public
7 * License as published by the Free Software Foundation; either 7 * License as published by the Free Software Foundation; either
8 * version 2 of the License, or (at your option) any later version. 8 * version 2 of the License, or (at your option) any later version.
9 * 9 *
10 * This library is distributed in the hope that it will be useful, 10 * This library is distributed in the hope that it will be useful,
(...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after
243 NSFont* font = systemNSFont(systemFontID); 243 NSFont* font = systemNSFont(systemFontID);
244 if (!font) 244 if (!font)
245 return; 245 return;
246 246
247 NSFontManager* fontManager = [NSFontManager sharedFontManager]; 247 NSFontManager* fontManager = [NSFontManager sharedFontManager];
248 fontStyle = ([fontManager traitsOfFont:font] & NSItalicFontMask) 248 fontStyle = ([fontManager traitsOfFont:font] & NSItalicFontMask)
249 ? FontStyleItalic 249 ? FontStyleItalic
250 : FontStyleNormal; 250 : FontStyleNormal;
251 fontWeight = toFontWeight([fontManager weightOfFont:font]); 251 fontWeight = toFontWeight([fontManager weightOfFont:font]);
252 fontSize = [font pointSize]; 252 fontSize = [font pointSize];
253 fontFamily = @"BlinkMacSystemFont"; 253 fontFamily = FontFamilyNames::system_ui;
254 } 254 }
255 255
256 bool LayoutThemeMac::needsHackForTextControlWithFontFamily( 256 bool LayoutThemeMac::needsHackForTextControlWithFontFamily(
257 const AtomicString& family) const { 257 const AtomicString& family) const {
258 // This hack is only applied on OSX 10.9. 258 // This hack is only applied on OSX 10.9.
259 // https://code.google.com/p/chromium/issues/detail?id=515989#c8 259 // https://code.google.com/p/chromium/issues/detail?id=515989#c8
260 return IsOS10_9() && family == "BlinkMacSystemFont"; 260 return IsOS10_9() && family == FontFamilyNames::system_ui;
261 } 261 }
262 262
263 static RGBA32 convertNSColorToColor(NSColor* color) { 263 static RGBA32 convertNSColorToColor(NSColor* color) {
264 NSColor* colorInColorSpace = 264 NSColor* colorInColorSpace =
265 [color colorUsingColorSpaceName:NSDeviceRGBColorSpace]; 265 [color colorUsingColorSpaceName:NSDeviceRGBColorSpace];
266 if (colorInColorSpace) { 266 if (colorInColorSpace) {
267 static const double scaleFactor = nextafter(256.0, 0.0); 267 static const double scaleFactor = nextafter(256.0, 0.0);
268 return makeRGB( 268 return makeRGB(
269 static_cast<int>(scaleFactor * [colorInColorSpace redComponent]), 269 static_cast<int>(scaleFactor * [colorInColorSpace redComponent]),
270 static_cast<int>(scaleFactor * [colorInColorSpace greenComponent]), 270 static_cast<int>(scaleFactor * [colorInColorSpace greenComponent]),
(...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after
471 // FIXME: This is horrible, but there is not much else that can be done. 471 // FIXME: This is horrible, but there is not much else that can be done.
472 // Menu lists cannot draw properly when scaled. They can't really draw 472 // Menu lists cannot draw properly when scaled. They can't really draw
473 // properly when transformed either. We can't detect the transform case 473 // properly when transformed either. We can't detect the transform case
474 // at style adjustment time so that will just have to stay broken. We 474 // at style adjustment time so that will just have to stay broken. We
475 // can however detect that we're zooming. If zooming is in effect we 475 // can however detect that we're zooming. If zooming is in effect we
476 // treat it like the control is styled. 476 // treat it like the control is styled.
477 if (style.effectiveZoom() != 1.0f) 477 if (style.effectiveZoom() != 1.0f)
478 return true; 478 return true;
479 if (!fontSizeMatchesToControlSize(style)) 479 if (!fontSizeMatchesToControlSize(style))
480 return true; 480 return true;
481 if (style.getFontDescription().family().family() != "BlinkMacSystemFont") 481 if (style.getFontDescription().family().family() !=
482 FontFamilyNames::system_ui)
482 return true; 483 return true;
483 if (!style.height().isIntrinsicOrAuto()) 484 if (!style.height().isIntrinsicOrAuto())
484 return true; 485 return true;
485 // NSPopUpButtonCell on macOS 10.9 doesn't support 486 // NSPopUpButtonCell on macOS 10.9 doesn't support
486 // NSUserInterfaceLayoutDirectionRightToLeft. 487 // NSUserInterfaceLayoutDirectionRightToLeft.
487 if (IsOS10_9() && style.direction() == RTL) 488 if (IsOS10_9() && style.direction() == RTL)
488 return true; 489 return true;
489 } 490 }
490 // Some other cells don't work well when scaled. 491 // Some other cells don't work well when scaled.
491 if (style.effectiveZoom() != 1) { 492 if (style.effectiveZoom() != 1) {
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
637 } 638 }
638 639
639 void LayoutThemeMac::setFontFromControlSize(ComputedStyle& style, 640 void LayoutThemeMac::setFontFromControlSize(ComputedStyle& style,
640 NSControlSize controlSize) const { 641 NSControlSize controlSize) const {
641 FontDescription fontDescription; 642 FontDescription fontDescription;
642 fontDescription.setIsAbsoluteSize(true); 643 fontDescription.setIsAbsoluteSize(true);
643 fontDescription.setGenericFamily(FontDescription::SerifFamily); 644 fontDescription.setGenericFamily(FontDescription::SerifFamily);
644 645
645 NSFont* font = [NSFont 646 NSFont* font = [NSFont
646 systemFontOfSize:[NSFont systemFontSizeForControlSize:controlSize]]; 647 systemFontOfSize:[NSFont systemFontSizeForControlSize:controlSize]];
647 fontDescription.firstFamily().setFamily(@"BlinkMacSystemFont"); 648 fontDescription.firstFamily().setFamily(FontFamilyNames::system_ui);
648 fontDescription.setComputedSize([font pointSize] * style.effectiveZoom()); 649 fontDescription.setComputedSize([font pointSize] * style.effectiveZoom());
649 fontDescription.setSpecifiedSize([font pointSize] * style.effectiveZoom()); 650 fontDescription.setSpecifiedSize([font pointSize] * style.effectiveZoom());
650 651
651 // Reset line height. 652 // Reset line height.
652 style.setLineHeight(ComputedStyle::initialLineHeight()); 653 style.setLineHeight(ComputedStyle::initialLineHeight());
653 654
654 // TODO(esprehn): The fontSelector manual management is buggy and error prone. 655 // TODO(esprehn): The fontSelector manual management is buggy and error prone.
655 FontSelector* fontSelector = style.font().getFontSelector(); 656 FontSelector* fontSelector = style.font().getFontSelector();
656 if (style.setFontDescription(fontDescription)) 657 if (style.setFontDescription(fontDescription))
657 style.font().update(fontSelector); 658 style.font().update(fontSelector);
(...skipping 443 matching lines...) Expand 10 before | Expand all | Expand 10 after
1101 } 1102 }
1102 1103
1103 bool LayoutThemeMac::shouldUseFallbackTheme(const ComputedStyle& style) const { 1104 bool LayoutThemeMac::shouldUseFallbackTheme(const ComputedStyle& style) const {
1104 ControlPart part = style.appearance(); 1105 ControlPart part = style.appearance();
1105 if (part == CheckboxPart || part == RadioPart) 1106 if (part == CheckboxPart || part == RadioPart)
1106 return style.effectiveZoom() != 1; 1107 return style.effectiveZoom() != 1;
1107 return false; 1108 return false;
1108 } 1109 }
1109 1110
1110 } // namespace blink 1111 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/frame/UseCounter.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