Commit 201e2d40 authored by Dominik Röttsches's avatar Dominik Röttsches Committed by Commit Bot

[Google Sans] Request fonts by names in case-folded form

After [1] unique font requests to AndroidFontLookup should be sent out
in case-folded form. This matches what we do for fonts from the
firmware set of font files.

[1] https://chromium-review.googlesource.com/c/chromium/src/+/2389224

Bug: 1115064
Change-Id: Iab587b7a7cea526be79b25805dad5095ca8a6617
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2396136Reviewed-by: default avatarRune Lillesveen <futhark@chromium.org>
Commit-Queue: Dominik Röttsches <drott@chromium.org>
Cr-Commit-Position: refs/heads/master@{#804769}
parent 442b5955
...@@ -4,9 +4,10 @@ ...@@ -4,9 +4,10 @@
#include "base/files/file.h" #include "base/files/file.h"
#include "third_party/blink/renderer/platform/fonts/android/font_unique_name_lookup_android.h" #include "third_party/blink/public/common/font_unique_name_lookup/icu_fold_case_util.h"
#include "third_party/blink/public/common/thread_safe_browser_interface_broker_proxy.h" #include "third_party/blink/public/common/thread_safe_browser_interface_broker_proxy.h"
#include "third_party/blink/public/platform/platform.h" #include "third_party/blink/public/platform/platform.h"
#include "third_party/blink/renderer/platform/fonts/android/font_unique_name_lookup_android.h"
#include "third_party/blink/renderer/platform/runtime_enabled_features.h" #include "third_party/blink/renderer/platform/runtime_enabled_features.h"
#include "third_party/skia/include/core/SkData.h" #include "third_party/skia/include/core/SkData.h"
...@@ -130,15 +131,19 @@ FontUniqueNameLookupAndroid::MatchUniqueNameFromDownloadableFonts( ...@@ -130,15 +131,19 @@ FontUniqueNameLookupAndroid::MatchUniqueNameFromDownloadableFonts(
} }
base::File font_file; base::File font_file;
String case_folded_unique_font_name =
String::FromUTF8(IcuFoldCase(font_unique_name.Utf8()).c_str());
if (!android_font_lookup_service_->MatchLocalFontByUniqueName( if (!android_font_lookup_service_->MatchLocalFontByUniqueName(
font_unique_name, &font_file)) { case_folded_unique_font_name, &font_file)) {
LOG(ERROR) << "Mojo method returned false for unique font name: " LOG(ERROR)
<< font_unique_name; << "Mojo method returned false for case-folded unique font name: "
<< case_folded_unique_font_name;
return nullptr; return nullptr;
} }
if (!font_file.IsValid()) { if (!font_file.IsValid()) {
LOG(ERROR) << "Received platform font handle invalid."; LOG(ERROR) << "Received platform font handle invalid, fd: "
<< font_file.GetPlatformFile();
return nullptr; return nullptr;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment