Index: chrome/browser/android/preferences/pref_service_bridge.cc |
diff --git a/chrome/browser/android/preferences/pref_service_bridge.cc b/chrome/browser/android/preferences/pref_service_bridge.cc |
index b0e8aecab6666a6c4c75c53ef503d7a894463d95..338f0d4c6990a5679e77bf9e2a603bc804fb809e 100644 |
--- a/chrome/browser/android/preferences/pref_service_bridge.cc |
+++ b/chrome/browser/android/preferences/pref_service_bridge.cc |
@@ -413,20 +413,29 @@ static jboolean GetJavaScriptManaged(JNIEnv* env, jobject obj) { |
} |
static void SetJavaScriptEnabled(JNIEnv* env, jobject obj, jboolean enabled) { |
- GetPrefService()->SetBoolean(prefs::kWebKitJavascriptEnabled, enabled); |
+ HostContentSettingsMap* host_content_settings_map = |
+ GetOriginalProfile()->GetHostContentSettingsMap(); |
+ host_content_settings_map->SetDefaultContentSetting( |
+ CONTENT_SETTINGS_TYPE_JAVASCRIPT, |
+ enabled ? CONTENT_SETTING_ALLOW : CONTENT_SETTING_BLOCK); |
} |
static jboolean GetJavaScriptEnabled(JNIEnv* env, jobject obj) { |
- // The user pref for Javascript is stored in kWebKitJavascriptEnabled for |
- // historical reasons, but the content setting is where a possibly managed |
- // value will be enforced. |
- jboolean javascript_enabled = |
- GetBooleanForContentSetting(CONTENT_SETTINGS_TYPE_JAVASCRIPT); |
- if (!GetJavaScriptManaged(env, obj)) { |
- javascript_enabled &= GetPrefService()->GetBoolean( |
- prefs::kWebKitJavascriptEnabled); |
- } |
- return javascript_enabled; |
+ return GetBooleanForContentSetting(CONTENT_SETTINGS_TYPE_JAVASCRIPT); |
+} |
+ |
+static void MigrateJavascriptPreference(JNIEnv* env, jobject obj) { |
+ const PrefService::Preference* javascript_pref = |
+ GetPrefService()->FindPreference(prefs::kWebKitJavascriptEnabled); |
+ DCHECK(javascript_pref); |
+ |
+ if (!javascript_pref->HasUserSetting()) |
+ return; |
+ |
+ bool javascript_enabled = GetPrefService()->GetBoolean( |
newt (away)
2015/02/12 00:48:59
Can't you do something like javascript_pref->GetBo
Ted C
2015/02/12 01:01:10
Done.
|
+ prefs::kWebKitJavascriptEnabled); |
+ SetJavaScriptEnabled(env, obj, javascript_enabled); |
+ GetPrefService()->ClearPref(prefs::kWebKitJavascriptEnabled); |
} |
static void SetPasswordEchoEnabled(JNIEnv* env, |