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

Unified Diff: content/public/android/java/src/org/chromium/content/browser/ContentSettings.java

Issue 11791010: Cache the default UA in a static (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 11 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 | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/public/android/java/src/org/chromium/content/browser/ContentSettings.java
diff --git a/content/public/android/java/src/org/chromium/content/browser/ContentSettings.java b/content/public/android/java/src/org/chromium/content/browser/ContentSettings.java
index e11bbbeeb20b8c1f049ccc7196efe98f278296a6..7569758a650f63aa78363fa0dfcbc44e579d3dc8 100644
--- a/content/public/android/java/src/org/chromium/content/browser/ContentSettings.java
+++ b/content/public/android/java/src/org/chromium/content/browser/ContentSettings.java
@@ -92,10 +92,13 @@ public class ContentSettings {
private boolean mDomStorageEnabled = false;
// Not accessed by the native side.
- private final String mDefaultUserAgent;
private boolean mSupportZoom = true;
private boolean mBuiltInZoomControls = false;
private boolean mDisplayZoomControls = true;
+ static class LazyDefaultUserAgent {
+ // Lazy Holder pattern
+ private static final String sInstance = nativeGetDefaultUserAgent();
+ }
// Protects access to settings global fields.
private static final Object sGlobalContentSettingsLock = new Object();
@@ -220,14 +223,12 @@ public class ContentSettings {
mEventHandler = new EventHandler();
if (mCanModifySettings) {
// PERSONALITY_VIEW
- mDefaultUserAgent = nativeGetDefaultUserAgent();
- mUserAgent = mDefaultUserAgent;
+ mUserAgent = LazyDefaultUserAgent.sInstance;
syncToNativeOnUiThread();
} else {
// PERSONALITY_CHROME
// Chrome has zooming enabled by default. These settings are not
// set by the native code.
- mDefaultUserAgent = ""; // Unused by PERSONALITY_CHROME but must be initialized.
mBuiltInZoomControls = true;
mDisplayZoomControls = false;
syncFromNativeOnUiThread();
@@ -249,7 +250,7 @@ public class ContentSettings {
* overridden by {@link #setUserAgentString()}
*/
public static String getDefaultUserAgent() {
- return nativeGetDefaultUserAgent();
+ return LazyDefaultUserAgent.sInstance;
}
/**
@@ -261,7 +262,7 @@ public class ContentSettings {
synchronized (mContentSettingsLock) {
final String oldUserAgent = mUserAgent;
if (ua == null || ua.length() == 0) {
- mUserAgent = mDefaultUserAgent;
+ mUserAgent = LazyDefaultUserAgent.sInstance;
} else {
mUserAgent = ua;
}
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698