OLD | NEW |
---|---|
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/android/preferences/pref_service_bridge.h" | 5 #include "chrome/browser/android/preferences/pref_service_bridge.h" |
6 | 6 |
7 #include <jni.h> | 7 #include <jni.h> |
8 | 8 |
9 #include "base/android/build_info.h" | 9 #include "base/android/build_info.h" |
10 #include "base/android/jni_android.h" | 10 #include "base/android/jni_android.h" |
(...skipping 395 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
406 scoped_ptr<translate::TranslatePrefs> translate_prefs = | 406 scoped_ptr<translate::TranslatePrefs> translate_prefs = |
407 ChromeTranslateClient::CreateTranslatePrefs(GetPrefService()); | 407 ChromeTranslateClient::CreateTranslatePrefs(GetPrefService()); |
408 translate_prefs->ResetToDefaults(); | 408 translate_prefs->ResetToDefaults(); |
409 } | 409 } |
410 | 410 |
411 static jboolean GetJavaScriptManaged(JNIEnv* env, jobject obj) { | 411 static jboolean GetJavaScriptManaged(JNIEnv* env, jobject obj) { |
412 return IsContentSettingManaged(CONTENT_SETTINGS_TYPE_JAVASCRIPT); | 412 return IsContentSettingManaged(CONTENT_SETTINGS_TYPE_JAVASCRIPT); |
413 } | 413 } |
414 | 414 |
415 static void SetJavaScriptEnabled(JNIEnv* env, jobject obj, jboolean enabled) { | 415 static void SetJavaScriptEnabled(JNIEnv* env, jobject obj, jboolean enabled) { |
416 GetPrefService()->SetBoolean(prefs::kWebKitJavascriptEnabled, enabled); | 416 HostContentSettingsMap* host_content_settings_map = |
417 GetOriginalProfile()->GetHostContentSettingsMap(); | |
418 host_content_settings_map->SetDefaultContentSetting( | |
419 CONTENT_SETTINGS_TYPE_JAVASCRIPT, | |
420 enabled ? CONTENT_SETTING_ALLOW : CONTENT_SETTING_BLOCK); | |
417 } | 421 } |
418 | 422 |
419 static jboolean GetJavaScriptEnabled(JNIEnv* env, jobject obj) { | 423 static jboolean GetJavaScriptEnabled(JNIEnv* env, jobject obj) { |
420 // The user pref for Javascript is stored in kWebKitJavascriptEnabled for | 424 return GetBooleanForContentSetting(CONTENT_SETTINGS_TYPE_JAVASCRIPT); |
421 // historical reasons, but the content setting is where a possibly managed | 425 } |
422 // value will be enforced. | 426 |
423 jboolean javascript_enabled = | 427 static void MigrateJavascriptPreference(JNIEnv* env, jobject obj) { |
424 GetBooleanForContentSetting(CONTENT_SETTINGS_TYPE_JAVASCRIPT); | 428 const PrefService::Preference* javascript_pref = |
425 if (!GetJavaScriptManaged(env, obj)) { | 429 GetPrefService()->FindPreference(prefs::kWebKitJavascriptEnabled); |
426 javascript_enabled &= GetPrefService()->GetBoolean( | 430 DCHECK(javascript_pref); |
427 prefs::kWebKitJavascriptEnabled); | 431 |
428 } | 432 if (!javascript_pref->HasUserSetting()) |
429 return javascript_enabled; | 433 return; |
434 | |
435 bool javascript_enabled = false; | |
436 bool retval = javascript_pref->GetValue()->GetAsBoolean(&javascript_enabled); | |
newt (away)
2015/02/12 01:25:02
Leftover debugging code?
Ted C
2015/02/12 17:18:20
Actually no, the return value ensures that the pre
| |
437 DCHECK(retval); | |
438 SetJavaScriptEnabled(env, obj, javascript_enabled); | |
439 GetPrefService()->ClearPref(prefs::kWebKitJavascriptEnabled); | |
430 } | 440 } |
431 | 441 |
432 static void SetPasswordEchoEnabled(JNIEnv* env, | 442 static void SetPasswordEchoEnabled(JNIEnv* env, |
433 jobject obj, | 443 jobject obj, |
434 jboolean passwordEchoEnabled) { | 444 jboolean passwordEchoEnabled) { |
435 GetPrefService()->SetBoolean(prefs::kWebKitPasswordEchoEnabled, | 445 GetPrefService()->SetBoolean(prefs::kWebKitPasswordEchoEnabled, |
436 passwordEchoEnabled); | 446 passwordEchoEnabled); |
437 } | 447 } |
438 | 448 |
439 static jboolean GetAllowPopupsEnabled(JNIEnv* env, jobject obj) { | 449 static jboolean GetAllowPopupsEnabled(JNIEnv* env, jobject obj) { |
(...skipping 258 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
698 jobject obj) { | 708 jobject obj) { |
699 return ConvertUTF8ToJavaString( | 709 return ConvertUTF8ToJavaString( |
700 env, | 710 env, |
701 GetPrefService()->GetString( | 711 GetPrefService()->GetString( |
702 prefs::kSupervisedUserSecondCustodianProfileImageURL)).Release(); | 712 prefs::kSupervisedUserSecondCustodianProfileImageURL)).Release(); |
703 } | 713 } |
704 | 714 |
705 bool RegisterPrefServiceBridge(JNIEnv* env) { | 715 bool RegisterPrefServiceBridge(JNIEnv* env) { |
706 return RegisterNativesImpl(env); | 716 return RegisterNativesImpl(env); |
707 } | 717 } |
OLD | NEW |