| 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";
|
| 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);
|
|
|