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

Unified Diff: third_party/WebKit/Source/platform/fonts/AcceptLanguagesResolver.cpp

Issue 2213393002: Defer computing localeForHan until needed (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: drott review 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
Index: third_party/WebKit/Source/platform/fonts/AcceptLanguagesResolver.cpp
diff --git a/third_party/WebKit/Source/platform/fonts/AcceptLanguagesResolver.cpp b/third_party/WebKit/Source/platform/fonts/AcceptLanguagesResolver.cpp
index 5ae67b7cc5ae5b0103f2bab17a1e5c952d6cbc97..0e8e550002ead805236d6367562eb1f70c642985 100644
--- a/third_party/WebKit/Source/platform/fonts/AcceptLanguagesResolver.cpp
+++ b/third_party/WebKit/Source/platform/fonts/AcceptLanguagesResolver.cpp
@@ -8,11 +8,26 @@
namespace blink {
+static String& currentAcceptLanguages()
+{
+ DEFINE_STATIC_LOCAL(String, s_current, ());
+ return s_current;
+}
+
void AcceptLanguagesResolver::acceptLanguagesChanged(
const String& acceptLanguages)
{
- LayoutLocale::setLocaleForHan(
- localeForHanFromAcceptLanguages(acceptLanguages));
+ String& currentValue = currentAcceptLanguages();
+ if (currentValue == acceptLanguages)
+ return;
+
+ currentValue = acceptLanguages;
+ LayoutLocale::invalidateLocaleForHan();
+}
+
+const LayoutLocale* AcceptLanguagesResolver::localeForHan()
+{
+ return localeForHanFromAcceptLanguages(currentAcceptLanguages());
}
const LayoutLocale* AcceptLanguagesResolver::localeForHanFromAcceptLanguages(

Powered by Google App Engine
This is Rietveld 408576698