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 HostContentSettingsMap* host_content_settings_map = | 416 GetPrefService()->SetBoolean(prefs::kWebKitJavascriptEnabled, enabled); |
417 GetOriginalProfile()->GetHostContentSettingsMap(); | |
418 host_content_settings_map->SetDefaultContentSetting( | |
419 CONTENT_SETTINGS_TYPE_JAVASCRIPT, | |
420 enabled ? CONTENT_SETTING_ALLOW : CONTENT_SETTING_BLOCK); | |
421 } | 417 } |
422 | 418 |
423 static jboolean GetJavaScriptEnabled(JNIEnv* env, jobject obj) { | 419 static jboolean GetJavaScriptEnabled(JNIEnv* env, jobject obj) { |
424 return GetBooleanForContentSetting(CONTENT_SETTINGS_TYPE_JAVASCRIPT); | 420 // The user pref for Javascript is stored in kWebKitJavascriptEnabled for |
425 } | 421 // historical reasons, but the content setting is where a possibly managed |
426 | 422 // value will be enforced. |
427 static void MigrateJavascriptPreference(JNIEnv* env, jobject obj) { | 423 jboolean javascript_enabled = |
428 const PrefService::Preference* javascript_pref = | 424 GetBooleanForContentSetting(CONTENT_SETTINGS_TYPE_JAVASCRIPT); |
429 GetPrefService()->FindPreference(prefs::kWebKitJavascriptEnabled); | 425 if (!GetJavaScriptManaged(env, obj)) { |
430 DCHECK(javascript_pref); | 426 javascript_enabled &= GetPrefService()->GetBoolean( |
431 | 427 prefs::kWebKitJavascriptEnabled); |
432 if (!javascript_pref->HasUserSetting()) | 428 } |
433 return; | 429 return javascript_enabled; |
434 | |
435 bool javascript_enabled = false; | |
436 bool retval = javascript_pref->GetValue()->GetAsBoolean(&javascript_enabled); | |
437 DCHECK(retval); | |
438 SetJavaScriptEnabled(env, obj, javascript_enabled); | |
439 GetPrefService()->ClearPref(prefs::kWebKitJavascriptEnabled); | |
440 } | 430 } |
441 | 431 |
442 static void SetPasswordEchoEnabled(JNIEnv* env, | 432 static void SetPasswordEchoEnabled(JNIEnv* env, |
443 jobject obj, | 433 jobject obj, |
444 jboolean passwordEchoEnabled) { | 434 jboolean passwordEchoEnabled) { |
445 GetPrefService()->SetBoolean(prefs::kWebKitPasswordEchoEnabled, | 435 GetPrefService()->SetBoolean(prefs::kWebKitPasswordEchoEnabled, |
446 passwordEchoEnabled); | 436 passwordEchoEnabled); |
447 } | 437 } |
448 | 438 |
449 static jboolean GetAllowPopupsEnabled(JNIEnv* env, jobject obj) { | 439 static jboolean GetAllowPopupsEnabled(JNIEnv* env, jobject obj) { |
(...skipping 258 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
708 jobject obj) { | 698 jobject obj) { |
709 return ConvertUTF8ToJavaString( | 699 return ConvertUTF8ToJavaString( |
710 env, | 700 env, |
711 GetPrefService()->GetString( | 701 GetPrefService()->GetString( |
712 prefs::kSupervisedUserSecondCustodianProfileImageURL)).Release(); | 702 prefs::kSupervisedUserSecondCustodianProfileImageURL)).Release(); |
713 } | 703 } |
714 | 704 |
715 bool RegisterPrefServiceBridge(JNIEnv* env) { | 705 bool RegisterPrefServiceBridge(JNIEnv* env) { |
716 return RegisterNativesImpl(env); | 706 return RegisterNativesImpl(env); |
717 } | 707 } |
OLD | NEW |