Index: chrome/android/java/src/org/chromium/chrome/browser/preferences/website/SingleWebsitePreferences.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/SingleWebsitePreferences.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/SingleWebsitePreferences.java |
index 50f1e8c7e7cdf35e4555644b0f4809e07cfa3a75..dbb3d88e957119edf6c313e1e3bf16c624e7579e 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/SingleWebsitePreferences.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/SingleWebsitePreferences.java |
@@ -53,6 +53,7 @@ public class SingleWebsitePreferences extends PreferenceFragment |
public static final String PREF_RESET_SITE = "reset_site_button"; |
// Website permissions (if adding new, see hasPermissionsPreferences and resetSite below): |
public static final String PREF_COOKIES_PERMISSION = "cookies_permission_list"; |
+ public static final String PREF_FULLSCREEN_PERMISSION = "fullscreen_permission_list"; |
Finnur
2015/03/30 13:42:23
I missed the fact that you did not update the xml
|
public static final String PREF_JAVASCRIPT_PERMISSION = "javascript_permission_list"; |
public static final String PREF_LOCATION_ACCESS = "location_access_list"; |
public static final String PREF_MIDI_SYSEX_PERMISSION = "midi_sysex_permission_list"; |
@@ -68,6 +69,7 @@ public class SingleWebsitePreferences extends PreferenceFragment |
// TODO(mvanouwerkerk): Use this array in more places to reduce verbosity. |
private static final String[] PERMISSION_PREFERENCE_KEYS = { |
PREF_COOKIES_PERMISSION, |
+ PREF_FULLSCREEN_PERMISSION, |
PREF_JAVASCRIPT_PERMISSION, |
PREF_LOCATION_ACCESS, |
PREF_MIDI_SYSEX_PERMISSION, |
@@ -167,6 +169,10 @@ public class SingleWebsitePreferences extends PreferenceFragment |
&& permissionInfoIsForTopLevelOrigin(other.getCookieInfo(), origin)) { |
merged.setCookieInfo(other.getCookieInfo()); |
} |
+ if (merged.getFullscreenInfo() == null && other.getFullscreenInfo() != null |
+ && permissionInfoIsForTopLevelOrigin(other.getFullscreenInfo(), origin)) { |
+ merged.setFullscreenInfo(other.getFullscreenInfo()); |
+ } |
if (merged.getGeolocationInfo() == null && other.getGeolocationInfo() != null |
&& permissionInfoIsForTopLevelOrigin(other.getGeolocationInfo(), origin)) { |
merged.setGeolocationInfo(other.getGeolocationInfo()); |
@@ -253,6 +259,8 @@ public class SingleWebsitePreferences extends PreferenceFragment |
preference.setOnPreferenceClickListener(this); |
} else if (PREF_COOKIES_PERMISSION.equals(preference.getKey())) { |
setUpListPreference(preference, mSite.getCookiePermission()); |
+ } else if (PREF_FULLSCREEN_PERMISSION.equals(preference.getKey())) { |
+ setUpListPreference(preference, mSite.getFullscreenPermission()); |
} else if (PREF_JAVASCRIPT_PERMISSION.equals(preference.getKey())) { |
setUpListPreference(preference, mSite.getJavaScriptPermission()); |
} else if (PREF_LOCATION_ACCESS.equals(preference.getKey())) { |
@@ -335,6 +343,9 @@ public class SingleWebsitePreferences extends PreferenceFragment |
if (PREF_COOKIES_PERMISSION.equals(preferenceKey)) { |
return Website.PermissionDataEntry.getPermissionDataEntry( |
ContentSettingsType.CONTENT_SETTINGS_TYPE_COOKIES); |
+ } else if (PREF_FULLSCREEN_PERMISSION.equals(preferenceKey)) { |
+ return Website.PermissionDataEntry.getPermissionDataEntry( |
+ ContentSettingsType.CONTENT_SETTINGS_TYPE_FULLSCREEN); |
} else if (PREF_JAVASCRIPT_PERMISSION.equals(preferenceKey)) { |
return Website.PermissionDataEntry.getPermissionDataEntry( |
ContentSettingsType.CONTENT_SETTINGS_TYPE_JAVASCRIPT); |
@@ -469,6 +480,8 @@ public class SingleWebsitePreferences extends PreferenceFragment |
ContentSetting.fromString((String) newValue); |
if (PREF_COOKIES_PERMISSION.equals(preference.getKey())) { |
mSite.setCookiePermission(permission); |
+ } else if (PREF_FULLSCREEN_PERMISSION.equals(preference.getKey())) { |
+ mSite.setFullscreenPermission(permission); |
} else if (PREF_JAVASCRIPT_PERMISSION.equals(preference.getKey())) { |
mSite.setJavaScriptPermission(permission); |
} else if (PREF_LOCATION_ACCESS.equals(preference.getKey())) { |
@@ -523,6 +536,7 @@ public class SingleWebsitePreferences extends PreferenceFragment |
// Clear the permissions. |
mSite.setCookiePermission(null); |
WebsitePreferenceBridge.nativeClearCookieData(mSite.getAddress().getOrigin()); |
+ mSite.setFullscreenPermission(null); |
mSite.setGeolocationPermission(null); |
mSite.setJavaScriptPermission(null); |
mSite.setMidiPermission(null); |