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

Unified Diff: content/browser/renderer_host/dwrite_font_proxy_message_filter_win.cc

Issue 2269443004: Revert "Require certain faimilies to contain certain styles" (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@2758
Patch Set: Created 4 years, 4 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | tools/metrics/histograms/histograms.xml » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/browser/renderer_host/dwrite_font_proxy_message_filter_win.cc
diff --git a/content/browser/renderer_host/dwrite_font_proxy_message_filter_win.cc b/content/browser/renderer_host/dwrite_font_proxy_message_filter_win.cc
index 87b834e9fed85a7936d3b13f1343eb02f861cb40..6db1c1b24972b3517c03a2fbdab0ac08542323cd 100644
--- a/content/browser/renderer_host/dwrite_font_proxy_message_filter_win.cc
+++ b/content/browser/renderer_host/dwrite_font_proxy_message_filter_win.cc
@@ -38,7 +38,6 @@ enum DirectWriteFontLoaderType {
FILE_SYSTEM_FONT_DIR = 0,
FILE_OUTSIDE_SANDBOX = 1,
OTHER_LOADER = 2,
- FONT_WITH_MISSING_REQUIRED_STYLES = 3,
FONT_LOADER_TYPE_MAX_VALUE
};
@@ -76,77 +75,6 @@ base::string16 GetWindowsFontsPath() {
return base::i18n::FoldCase(font_path_chars.data());
}
-// These are the fonts that Blink tries to load in getLastResortFallbackFont,
-// and will crash if none can be loaded.
-const wchar_t* kLastResortFontNames[] = {L"Sans", L"Arial", L"MS UI Gothic",
- L"Microsoft Sans Serif"};
-
-// Feature to enable loading font files from outside the system font directory.
-const base::Feature kEnableCustomFonts {
- "DirectWriteCustomFonts", base::FEATURE_ENABLED_BY_DEFAULT
-};
-
-// Feature to force loading font files using the custom font file path. Has no
-// effect if kEnableCustomFonts is disabled.
-const base::Feature kForceCustomFonts {
- "ForceDirectWriteCustomFonts", base::FEATURE_DISABLED_BY_DEFAULT
-};
-
-struct RequiredFontStyle {
- const wchar_t* family_name;
- DWRITE_FONT_WEIGHT required_weight;
- DWRITE_FONT_STRETCH required_stretch;
- DWRITE_FONT_STYLE required_style;
-};
-
-const RequiredFontStyle kRequiredStyles[] = {
- {L"open sans", DWRITE_FONT_WEIGHT_NORMAL, DWRITE_FONT_STRETCH_NORMAL,
- DWRITE_FONT_STYLE_NORMAL},
- {L"helvetica", DWRITE_FONT_WEIGHT_NORMAL, DWRITE_FONT_STRETCH_NORMAL,
- DWRITE_FONT_STYLE_NORMAL},
-};
-
-// As a workaround for crbug.com/635932, refuse to load some common fonts that
-// do not contain certain styles. We found that sometimes these fonts are
-// installed only in specialized styles ('Open Sans' might only be available in
-// the condensed light variant, or Helvetica might only be available in bold).
-// That results in a poor user experience because websites that use those fonts
-// usually expect them to be rendered in the regular variant.
-bool CheckRequiredStylesPresent(IDWriteFontCollection* collection,
- const base::string16& family_name,
- uint32_t family_index) {
- for (const auto& font_style : kRequiredStyles) {
- if (base::EqualsCaseInsensitiveASCII(family_name, font_style.family_name)) {
- mswr::ComPtr<IDWriteFontFamily> family;
- if (FAILED(collection->GetFontFamily(family_index, &family))) {
- DCHECK(false);
- return true;
- }
- mswr::ComPtr<IDWriteFont> font;
- if (FAILED(family->GetFirstMatchingFont(
- font_style.required_weight, font_style.required_stretch,
- font_style.required_style, &font))) {
- DCHECK(false);
- return true;
- }
-
- // GetFirstMatchingFont doesn't require strict style matching, so check
- // the actual font that we got.
- if (font->GetWeight() != font_style.required_weight ||
- font->GetStretch() != font_style.required_stretch ||
- font->GetStyle() != font_style.required_style) {
- // Not really a loader type, but good to have telemetry on how often
- // fonts like these are encountered, and the data can be compared with
- // the other loader types.
- LogLoaderType(FONT_WITH_MISSING_REQUIRED_STYLES);
- return false;
- }
- break;
- }
- }
- return true;
-}
-
} // namespace
DWriteFontProxyMessageFilter::DWriteFontProxyMessageFilter()
@@ -188,10 +116,8 @@ void DWriteFontProxyMessageFilter::OnFindFamily(
UINT32 index = UINT32_MAX;
HRESULT hr =
collection_->FindFamilyName(family_name.data(), &index, &exists);
- if (SUCCEEDED(hr) && exists &&
- CheckRequiredStylesPresent(collection_.Get(), family_name, index)) {
+ if (SUCCEEDED(hr) && exists)
*family_index = index;
- }
}
}
« no previous file with comments | « no previous file | tools/metrics/histograms/histograms.xml » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698