| 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 d5668f6dd41726f9a220314eccf0680825322f63..e16dc42e93c448069aa04cda0afc9ac9d9f1b569 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 ||
|
| + 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 SetContentSettingEnabled(JNIEnv* env, jobject obj,
|
| + 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);
|
| }
|
| @@ -476,22 +546,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);
|
| @@ -503,7 +557,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);
|
| + SetContentSettingEnabled(env, obj,
|
| + CONTENT_SETTINGS_TYPE_JAVASCRIPT, javascript_enabled);
|
| GetPrefService()->ClearPref(prefs::kWebKitJavascriptEnabled);
|
| }
|
|
|
| @@ -543,21 +598,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) &&
|
| @@ -599,23 +639,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 =
|
| @@ -628,23 +651,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);
|
|
|