Chromium Code Reviews| 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 78484c75a205d4e38066f21e19e33d669f4be101..4d331fc56066f5171018ceed2b7cd4db453a5266 100644 |
| --- a/chrome/browser/android/preferences/pref_service_bridge.cc |
| +++ b/chrome/browser/android/preferences/pref_service_bridge.cc |
| @@ -152,6 +152,76 @@ PrefService* GetPrefService() { |
| // Native JNI methods |
| // ---------------------------------------------------------------------------- |
| +static jboolean IsContentSettingManaged(JNIEnv* env, jobject obj, |
| + int content_settings_type) { |
| + return IsContentSettingManaged( |
| + static_cast<ContentSettingsType>(content_settings_type)); |
| +} |
| + |
| +static jboolean IsContentSettingEnabled(JNIEnv* env, jobject obj, |
| + int content_settings_type) { |
| + // Before we migrate functions over to this central function, we must verify |
| + // that the functionality provided below is correct. |
| + DCHECK(content_settings_type == CONTENT_SETTINGS_TYPE_JAVASCRIPT || |
|
newt (away)
2015/04/10 18:46:49
This is a good check to add. Thanks :0
Finnur
2015/04/13 12:59:32
Acknowledged.
|
| + content_settings_type == CONTENT_SETTINGS_TYPE_IMAGES || |
| + content_settings_type == CONTENT_SETTINGS_TYPE_POPUPS); |
| + ContentSettingsType type = |
| + static_cast<ContentSettingsType>(content_settings_type); |
| + if (type == CONTENT_SETTINGS_TYPE_JAVASCRIPT || |
| + type == CONTENT_SETTINGS_TYPE_POPUPS) |
| + return GetBooleanForContentSetting(type); |
| + |
| + HostContentSettingsMap* content_settings = |
| + GetOriginalProfile()->GetHostContentSettingsMap(); |
| + return content_settings->GetDefaultContentSetting( |
| + type, nullptr) == CONTENT_SETTING_ALLOW; |
| +} |
| + |
| +static void SetContentSettingDefault(JNIEnv* env, jobject obj, |
|
newt (away)
2015/04/10 18:46:49
"SetContentSettingEnabled()"
Finnur
2015/04/13 12:59:32
Done.
|
| + int content_settings_type, jboolean allow) { |
| + // Before we migrate functions over to this central function, we must verify |
| + // that the new category supports ALLOW/BLOCK pairs and, if not, handle them. |
| + DCHECK(content_settings_type == CONTENT_SETTINGS_TYPE_JAVASCRIPT || |
| + content_settings_type == CONTENT_SETTINGS_TYPE_IMAGES || |
| + content_settings_type == CONTENT_SETTINGS_TYPE_POPUPS); |
| + HostContentSettingsMap* host_content_settings_map = |
| + GetOriginalProfile()->GetHostContentSettingsMap(); |
| + host_content_settings_map->SetDefaultContentSetting( |
| + static_cast<ContentSettingsType>(content_settings_type), |
| + allow ? CONTENT_SETTING_ALLOW : CONTENT_SETTING_BLOCK); |
| +} |
| + |
| +static void SetContentSettingForPattern(JNIEnv* env, jobject obj, |
| + int content_settings_type, jstring pattern, int setting) { |
| + HostContentSettingsMap* host_content_settings_map = |
| + GetOriginalProfile()->GetHostContentSettingsMap(); |
| + host_content_settings_map->SetContentSetting( |
| + ContentSettingsPattern::FromString(ConvertJavaStringToUTF8(env, pattern)), |
| + ContentSettingsPattern::Wildcard(), |
| + static_cast<ContentSettingsType>(content_settings_type), |
| + "", |
| + static_cast<ContentSetting>(setting)); |
| +} |
| + |
| +static void GetContentSettingsExceptions(JNIEnv* env, jobject obj, |
| + int content_settings_type, jobject list) { |
| + HostContentSettingsMap* host_content_settings_map = |
| + GetOriginalProfile()->GetHostContentSettingsMap(); |
| + ContentSettingsForOneType entries; |
| + host_content_settings_map->GetSettingsForOneType( |
| + static_cast<ContentSettingsType>(content_settings_type), "", &entries); |
| + for (size_t i = 0; i < entries.size(); ++i) { |
| + Java_PrefServiceBridge_addContentSettingExceptionToList( |
| + env, list, |
| + content_settings_type, |
| + ConvertUTF8ToJavaString( |
| + env, entries[i].primary_pattern.ToString()).obj(), |
| + ConvertUTF8ToJavaString( |
| + env, GetStringForContentSettingsType(entries[i].setting)).obj(), |
| + ConvertUTF8ToJavaString(env, entries[i].source).obj()); |
| + } |
| +} |
| + |
| static jboolean GetAcceptCookiesEnabled(JNIEnv* env, jobject obj) { |
| return GetBooleanForContentSetting(CONTENT_SETTINGS_TYPE_COOKIES); |
| } |
| @@ -466,22 +536,6 @@ static void ResetTranslateDefaults(JNIEnv* env, jobject obj) { |
| translate_prefs->ResetToDefaults(); |
| } |
| -static jboolean GetJavaScriptManaged(JNIEnv* env, jobject obj) { |
| - return IsContentSettingManaged(CONTENT_SETTINGS_TYPE_JAVASCRIPT); |
| -} |
| - |
| -static void SetJavaScriptEnabled(JNIEnv* env, jobject obj, jboolean 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) { |
| - return GetBooleanForContentSetting(CONTENT_SETTINGS_TYPE_JAVASCRIPT); |
| -} |
| - |
| static void MigrateJavascriptPreference(JNIEnv* env, jobject obj) { |
| const PrefService::Preference* javascript_pref = |
| GetPrefService()->FindPreference(prefs::kWebKitJavascriptEnabled); |
| @@ -493,7 +547,8 @@ static void MigrateJavascriptPreference(JNIEnv* env, jobject obj) { |
| bool javascript_enabled = false; |
| bool retval = javascript_pref->GetValue()->GetAsBoolean(&javascript_enabled); |
| DCHECK(retval); |
| - SetJavaScriptEnabled(env, obj, javascript_enabled); |
| + SetContentSettingDefault(env, obj, |
| + CONTENT_SETTINGS_TYPE_JAVASCRIPT, javascript_enabled); |
| GetPrefService()->ClearPref(prefs::kWebKitJavascriptEnabled); |
| } |
| @@ -533,21 +588,6 @@ static void SetPasswordEchoEnabled(JNIEnv* env, |
| passwordEchoEnabled); |
| } |
| -static jboolean GetAllowPopupsEnabled(JNIEnv* env, jobject obj) { |
| - return GetBooleanForContentSetting(CONTENT_SETTINGS_TYPE_POPUPS); |
| -} |
| - |
| -static jboolean GetAllowPopupsManaged(JNIEnv* env, jobject obj) { |
| - return IsContentSettingManaged(CONTENT_SETTINGS_TYPE_POPUPS); |
| -} |
| - |
| -static void SetAllowPopupsEnabled(JNIEnv* env, jobject obj, jboolean allow) { |
| - HostContentSettingsMap* host_content_settings_map = |
| - GetOriginalProfile()->GetHostContentSettingsMap(); |
| - host_content_settings_map->SetDefaultContentSetting( |
| - CONTENT_SETTINGS_TYPE_POPUPS, |
| - allow ? CONTENT_SETTING_ALLOW : CONTENT_SETTING_BLOCK); |
| -} |
| static jboolean GetCameraMicEnabled(JNIEnv* env, jobject obj) { |
| return GetBooleanForContentSetting(CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC) && |
| @@ -589,23 +629,6 @@ static void SetJavaScriptAllowed(JNIEnv* env, jobject obj, jstring pattern, |
| static_cast<ContentSetting>(setting)); |
| } |
| -static void GetJavaScriptExceptions(JNIEnv* env, jobject obj, jobject list) { |
| - HostContentSettingsMap* host_content_settings_map = |
| - GetOriginalProfile()->GetHostContentSettingsMap(); |
| - ContentSettingsForOneType entries; |
| - host_content_settings_map->GetSettingsForOneType( |
| - CONTENT_SETTINGS_TYPE_JAVASCRIPT, "", &entries); |
| - for (size_t i = 0; i < entries.size(); ++i) { |
| - Java_PrefServiceBridge_addJavaScriptExceptionToList( |
| - env, list, |
| - ConvertUTF8ToJavaString( |
| - env, entries[i].primary_pattern.ToString()).obj(), |
| - ConvertUTF8ToJavaString( |
| - env, GetStringForContentSettingsType(entries[i].setting)).obj(), |
| - ConvertUTF8ToJavaString(env, entries[i].source).obj()); |
| - } |
| -} |
| - |
| static void SetPopupException(JNIEnv* env, jobject obj, jstring pattern, |
| int setting) { |
| HostContentSettingsMap* host_content_settings_map = |
| @@ -618,23 +641,6 @@ static void SetPopupException(JNIEnv* env, jobject obj, jstring pattern, |
| static_cast<ContentSetting>(setting)); |
| } |
| -static void GetPopupExceptions(JNIEnv* env, jobject obj, jobject list) { |
| - HostContentSettingsMap* host_content_settings_map = |
| - GetOriginalProfile()->GetHostContentSettingsMap(); |
| - ContentSettingsForOneType entries; |
| - host_content_settings_map->GetSettingsForOneType( |
| - CONTENT_SETTINGS_TYPE_POPUPS, "", &entries); |
| - for (size_t i = 0; i < entries.size(); ++i) { |
| - Java_PrefServiceBridge_insertPopupExceptionToList( |
| - env, list, |
| - ConvertUTF8ToJavaString( |
| - env, entries[i].primary_pattern.ToString()).obj(), |
| - ConvertUTF8ToJavaString( |
| - env, GetStringForContentSettingsType(entries[i].setting)).obj(), |
| - ConvertUTF8ToJavaString(env, entries[i].source).obj()); |
| - } |
| -} |
| - |
| static void SetSearchSuggestEnabled(JNIEnv* env, jobject obj, |
| jboolean enabled) { |
| GetPrefService()->SetBoolean(prefs::kSearchSuggestEnabled, enabled); |