| 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 |