Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(125)

Side by Side Diff: chrome/android/java/src/org/chromium/chrome/browser/preferences/website/SingleWebsitePreferences.java

Issue 1432573002: Adding <keygen> Content Setting (Android UI) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@keygen_ui
Patch Set: Trying tested code. Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 package org.chromium.chrome.browser.preferences.website; 5 package org.chromium.chrome.browser.preferences.website;
6 6
7 import android.content.Context; 7 import android.content.Context;
8 import android.content.DialogInterface; 8 import android.content.DialogInterface;
9 import android.content.res.Resources; 9 import android.content.res.Resources;
10 import android.graphics.PorterDuff; 10 import android.graphics.PorterDuff;
(...skipping 10 matching lines...) Expand all
21 import android.text.format.Formatter; 21 import android.text.format.Formatter;
22 import android.widget.ListAdapter; 22 import android.widget.ListAdapter;
23 import android.widget.ListView; 23 import android.widget.ListView;
24 24
25 import org.chromium.base.ApiCompatibilityUtils; 25 import org.chromium.base.ApiCompatibilityUtils;
26 import org.chromium.chrome.R; 26 import org.chromium.chrome.R;
27 import org.chromium.chrome.browser.ContentSettingsType; 27 import org.chromium.chrome.browser.ContentSettingsType;
28 import org.chromium.chrome.browser.omnibox.geo.GeolocationHeader; 28 import org.chromium.chrome.browser.omnibox.geo.GeolocationHeader;
29 import org.chromium.chrome.browser.search_engines.TemplateUrlService; 29 import org.chromium.chrome.browser.search_engines.TemplateUrlService;
30 import org.chromium.chrome.browser.util.UrlUtilities; 30 import org.chromium.chrome.browser.util.UrlUtilities;
31 import org.chromium.content_public.browser.WebContents;
31 32
32 import java.net.URI; 33 import java.net.URI;
33 import java.util.ArrayList; 34 import java.util.ArrayList;
34 import java.util.List; 35 import java.util.List;
35 import java.util.Map; 36 import java.util.Map;
36 import java.util.Set; 37 import java.util.Set;
37 38
38 /** 39 /**
39 * Shows the permissions and other settings for a particular website. 40 * Shows the permissions and other settings for a particular website.
40 */ 41 */
41 public class SingleWebsitePreferences extends PreferenceFragment 42 public class SingleWebsitePreferences extends PreferenceFragment
42 implements DialogInterface.OnClickListener, OnPreferenceChangeListener, 43 implements DialogInterface.OnClickListener, OnPreferenceChangeListener,
43 OnPreferenceClickListener { 44 OnPreferenceClickListener {
44 // SingleWebsitePreferences expects either EXTRA_SITE (a Website) or 45 // SingleWebsitePreferences expects either EXTRA_SITE (a Website) or
45 // EXTRA_ORIGIN (a WebsiteAddress) to be present (but not both). If 46 // EXTRA_ORIGIN (a WebsiteAddress) to be present (but not both). If
46 // EXTRA_SITE is present, the fragment will display the permissions in that 47 // EXTRA_SITE is present, the fragment will display the permissions in that
47 // Website object. If EXTRA_ORIGIN is present, the fragment will find all 48 // Website object. If EXTRA_ORIGIN is present, the fragment will find all
48 // permissions for that website address and display those. If EXTRA_LOCATION 49 // permissions for that website address and display those. If EXTRA_LOCATION
49 // is present, the fragment will add a Location toggle, even if the site 50 // is present, the fragment will add a Location toggle, even if the site
50 // specifies no Location permission. 51 // specifies no Location permission.
51 public static final String EXTRA_SITE = "org.chromium.chrome.preferences.sit e"; 52 public static final String EXTRA_SITE = "org.chromium.chrome.preferences.sit e";
52 public static final String EXTRA_ORIGIN = "org.chromium.chrome.preferences.o rigin"; 53 public static final String EXTRA_ORIGIN = "org.chromium.chrome.preferences.o rigin";
53 public static final String EXTRA_LOCATION = "org.chromium.chrome.preferences .location"; 54 public static final String EXTRA_LOCATION = "org.chromium.chrome.preferences .location";
54 55
56 public static final String EXTRA_WEB_CONTENTS = "org.chromium.chrome.prefere nces.web_contents";
57
55 // Preference keys, see single_website_preferences.xml 58 // Preference keys, see single_website_preferences.xml
56 // Headings: 59 // Headings:
57 public static final String PREF_SITE_TITLE = "site_title"; 60 public static final String PREF_SITE_TITLE = "site_title";
58 public static final String PREF_USAGE = "site_usage"; 61 public static final String PREF_USAGE = "site_usage";
59 public static final String PREF_PERMISSIONS = "site_permissions"; 62 public static final String PREF_PERMISSIONS = "site_permissions";
60 public static final String PREF_OS_PERMISSIONS_WARNING = "os_permissions_war ning"; 63 public static final String PREF_OS_PERMISSIONS_WARNING = "os_permissions_war ning";
61 public static final String PREF_OS_PERMISSIONS_WARNING_EXTRA = "os_permissio ns_warning_extra"; 64 public static final String PREF_OS_PERMISSIONS_WARNING_EXTRA = "os_permissio ns_warning_extra";
62 public static final String PREF_OS_PERMISSIONS_WARNING_DIVIDER = 65 public static final String PREF_OS_PERMISSIONS_WARNING_DIVIDER =
63 "os_permissions_warning_divider"; 66 "os_permissions_warning_divider";
64 // Actions at the top (if adding new, see hasUsagePreferences below): 67 // Actions at the top (if adding new, see hasUsagePreferences below):
65 public static final String PREF_CLEAR_DATA = "clear_data"; 68 public static final String PREF_CLEAR_DATA = "clear_data";
66 // Buttons: 69 // Buttons:
67 public static final String PREF_RESET_SITE = "reset_site_button"; 70 public static final String PREF_RESET_SITE = "reset_site_button";
68 // Website permissions (if adding new, see hasPermissionsPreferences and res etSite below): 71 // Website permissions (if adding new, see hasPermissionsPreferences and res etSite below):
69 public static final String PREF_CAMERA_CAPTURE_PERMISSION = "camera_permissi on_list"; 72 public static final String PREF_CAMERA_CAPTURE_PERMISSION = "camera_permissi on_list";
70 public static final String PREF_COOKIES_PERMISSION = "cookies_permission_lis t"; 73 public static final String PREF_COOKIES_PERMISSION = "cookies_permission_lis t";
71 public static final String PREF_FULLSCREEN_PERMISSION = "fullscreen_permissi on_list"; 74 public static final String PREF_FULLSCREEN_PERMISSION = "fullscreen_permissi on_list";
72 public static final String PREF_JAVASCRIPT_PERMISSION = "javascript_permissi on_list"; 75 public static final String PREF_JAVASCRIPT_PERMISSION = "javascript_permissi on_list";
76 public static final String PREF_KEYGEN_PERMISSION = "keygen_permission_list" ;
73 public static final String PREF_LOCATION_ACCESS = "location_access_list"; 77 public static final String PREF_LOCATION_ACCESS = "location_access_list";
74 public static final String PREF_MIC_CAPTURE_PERMISSION = "microphone_permiss ion_list"; 78 public static final String PREF_MIC_CAPTURE_PERMISSION = "microphone_permiss ion_list";
75 public static final String PREF_MIDI_SYSEX_PERMISSION = "midi_sysex_permissi on_list"; 79 public static final String PREF_MIDI_SYSEX_PERMISSION = "midi_sysex_permissi on_list";
76 public static final String PREF_POPUP_PERMISSION = "popup_permission_list"; 80 public static final String PREF_POPUP_PERMISSION = "popup_permission_list";
77 public static final String PREF_PROTECTED_MEDIA_IDENTIFIER_PERMISSION = 81 public static final String PREF_PROTECTED_MEDIA_IDENTIFIER_PERMISSION =
78 "protected_media_identifier_permission_list"; 82 "protected_media_identifier_permission_list";
79 public static final String PREF_PUSH_NOTIFICATIONS_PERMISSION = 83 public static final String PREF_PUSH_NOTIFICATIONS_PERMISSION =
80 "push_notifications_list"; 84 "push_notifications_list";
81 85
82 // All permissions from the permissions preference category must be listed h ere. 86 // All permissions from the permissions preference category must be listed h ere.
83 // TODO(mvanouwerkerk): Use this array in more places to reduce verbosity. 87 // TODO(mvanouwerkerk): Use this array in more places to reduce verbosity.
84 private static final String[] PERMISSION_PREFERENCE_KEYS = { 88 private static final String[] PERMISSION_PREFERENCE_KEYS = {
85 PREF_CAMERA_CAPTURE_PERMISSION, 89 PREF_CAMERA_CAPTURE_PERMISSION,
86 PREF_COOKIES_PERMISSION, 90 PREF_COOKIES_PERMISSION,
87 PREF_FULLSCREEN_PERMISSION, 91 PREF_FULLSCREEN_PERMISSION,
88 PREF_JAVASCRIPT_PERMISSION, 92 PREF_JAVASCRIPT_PERMISSION,
93 PREF_KEYGEN_PERMISSION,
89 PREF_LOCATION_ACCESS, 94 PREF_LOCATION_ACCESS,
90 PREF_MIC_CAPTURE_PERMISSION, 95 PREF_MIC_CAPTURE_PERMISSION,
91 PREF_MIDI_SYSEX_PERMISSION, 96 PREF_MIDI_SYSEX_PERMISSION,
92 PREF_POPUP_PERMISSION, 97 PREF_POPUP_PERMISSION,
93 PREF_PROTECTED_MEDIA_IDENTIFIER_PERMISSION, 98 PREF_PROTECTED_MEDIA_IDENTIFIER_PERMISSION,
94 PREF_PUSH_NOTIFICATIONS_PERMISSION, 99 PREF_PUSH_NOTIFICATIONS_PERMISSION,
95 }; 100 };
96 101
97 // The website this page is displaying details about. 102 // The website this page is displaying details about.
98 private Website mSite; 103 private Website mSite;
99 104
100 // The address of the site we want to display. Used only if EXTRA_ADDRESS is provided. 105 // The address of the site we want to display. Used only if EXTRA_ADDRESS is provided.
101 private WebsiteAddress mSiteAddress; 106 private WebsiteAddress mSiteAddress;
102 107
103 private class SingleWebsitePermissionsPopulator 108 private class SingleWebsitePermissionsPopulator
104 implements WebsitePermissionsFetcher.WebsitePermissionsCallback { 109 implements WebsitePermissionsFetcher.WebsitePermissionsCallback {
110 private final WebContents mWebContents;
111
112 public SingleWebsitePermissionsPopulator(WebContents webContents) {
113 mWebContents = webContents;
114 }
115
105 @Override 116 @Override
106 public void onWebsitePermissionsAvailable( 117 public void onWebsitePermissionsAvailable(
107 Map<String, Set<Website>> sitesByOrigin, Map<String, Set<Website >> sitesByHost) { 118 Map<String, Set<Website>> sitesByOrigin, Map<String, Set<Website >> sitesByHost) {
108 // This method may be called after the activity has been destroyed. 119 // This method may be called after the activity has been destroyed.
109 // In that case, bail out. 120 // In that case, bail out.
110 if (getActivity() == null) return; 121 if (getActivity() == null) return;
111 122
112 // TODO(mvanouwerkerk): Do this merge at data retrieval time in C++, instead of now. 123 // TODO(mvanouwerkerk): Do this merge at data retrieval time in C++, instead of now.
113 List<Set<Website>> allSites = new ArrayList<>(); 124 List<Set<Website>> allSites = new ArrayList<>();
114 allSites.addAll(sitesByOrigin.values()); 125 allSites.addAll(sitesByOrigin.values());
115 allSites.addAll(sitesByHost.values()); 126 allSites.addAll(sitesByHost.values());
116 // TODO(mvanouwerkerk): Avoid modifying the outer class from this in ner class. 127 // TODO(mvanouwerkerk): Avoid modifying the outer class from this in ner class.
117 mSite = mergePermissionInfoForTopLevelOrigin(mSiteAddress, allSites) ; 128 mSite = mergePermissionInfoForTopLevelOrigin(mSiteAddress, allSites) ;
129
130 // Display Keygen Content Setting if Keygen is blocked.
131 if (mSite.getKeygenInfo() == null && mWebContents != null
132 && WebsitePreferenceBridge.getKeygenBlocked(mWebContents)) {
133 String origin = mSiteAddress.getOrigin();
134 mSite.setKeygenInfo(new KeygenInfo(origin, origin, false));
135 }
136
118 displaySitePermissions(); 137 displaySitePermissions();
119 } 138 }
120 } 139 }
121 140
122 /** 141 /**
123 * Creates a Bundle with the correct arguments for opening this fragment for 142 * Creates a Bundle with the correct arguments for opening this fragment for
124 * the website with the given url. 143 * the website with the given url.
125 * 144 *
126 * @param url The URL to open the fragment with. This is a complete url incl uding scheme, 145 * @param url The URL to open the fragment with. This is a complete url incl uding scheme,
127 * domain, port, path, etc. 146 * domain, port, path, etc.
(...skipping 10 matching lines...) Expand all
138 } 157 }
139 158
140 @Override 159 @Override
141 public void onActivityCreated(Bundle savedInstanceState) { 160 public void onActivityCreated(Bundle savedInstanceState) {
142 getActivity().setTitle(R.string.prefs_site_settings); 161 getActivity().setTitle(R.string.prefs_site_settings);
143 ListView listView = (ListView) getView().findViewById(android.R.id.list) ; 162 ListView listView = (ListView) getView().findViewById(android.R.id.list) ;
144 listView.setDivider(null); 163 listView.setDivider(null);
145 164
146 Object extraSite = getArguments().getSerializable(EXTRA_SITE); 165 Object extraSite = getArguments().getSerializable(EXTRA_SITE);
147 Object extraOrigin = getArguments().getSerializable(EXTRA_ORIGIN); 166 Object extraOrigin = getArguments().getSerializable(EXTRA_ORIGIN);
167 getArguments().setClassLoader(WebContents.class.getClassLoader());
168 Object webContents = getArguments().get(EXTRA_WEB_CONTENTS);
148 169
149 if (extraSite != null && extraOrigin == null) { 170 if (extraSite != null && extraOrigin == null) {
150 mSite = (Website) extraSite; 171 mSite = (Website) extraSite;
151 displaySitePermissions(); 172 displaySitePermissions();
152 } else if (extraOrigin != null && extraSite == null) { 173 } else if (extraOrigin != null && extraSite == null) {
153 mSiteAddress = WebsiteAddress.create((String) extraOrigin); 174 mSiteAddress = WebsiteAddress.create((String) extraOrigin);
154 WebsitePermissionsFetcher fetcher = 175 WebsitePermissionsFetcher fetcher;
155 new WebsitePermissionsFetcher(new SingleWebsitePermissionsPo pulator()); 176 fetcher = new WebsitePermissionsFetcher(
177 new SingleWebsitePermissionsPopulator((WebContents) webContents) );
156 fetcher.fetchAllPreferences(); 178 fetcher.fetchAllPreferences();
157 } else { 179 } else {
158 assert false : "Exactly one of EXTRA_SITE or EXTRA_SITE_ADDRESS must be provided."; 180 assert false : "Exactly one of EXTRA_SITE or EXTRA_SITE_ADDRESS must be provided.";
159 } 181 }
160 182
161 super.onActivityCreated(savedInstanceState); 183 super.onActivityCreated(savedInstanceState);
162 } 184 }
163 185
164 /** 186 /**
165 * Given an address and a list of sets of websites, returns a new site with the same origin 187 * Given an address and a list of sets of websites, returns a new site with the same origin
(...skipping 20 matching lines...) Expand all
186 merged.setCookieInfo(other.getCookieInfo()); 208 merged.setCookieInfo(other.getCookieInfo());
187 } 209 }
188 if (merged.getFullscreenInfo() == null && other.getFullscreenInf o() != null 210 if (merged.getFullscreenInfo() == null && other.getFullscreenInf o() != null
189 && permissionInfoIsForTopLevelOrigin(other.getFullscreen Info(), origin)) { 211 && permissionInfoIsForTopLevelOrigin(other.getFullscreen Info(), origin)) {
190 merged.setFullscreenInfo(other.getFullscreenInfo()); 212 merged.setFullscreenInfo(other.getFullscreenInfo());
191 } 213 }
192 if (merged.getGeolocationInfo() == null && other.getGeolocationI nfo() != null 214 if (merged.getGeolocationInfo() == null && other.getGeolocationI nfo() != null
193 && permissionInfoIsForTopLevelOrigin(other.getGeolocatio nInfo(), origin)) { 215 && permissionInfoIsForTopLevelOrigin(other.getGeolocatio nInfo(), origin)) {
194 merged.setGeolocationInfo(other.getGeolocationInfo()); 216 merged.setGeolocationInfo(other.getGeolocationInfo());
195 } 217 }
218 if (merged.getKeygenInfo() == null && other.getKeygenInfo() != n ull
219 && permissionInfoIsForTopLevelOrigin(other.getKeygenInfo (), origin)) {
220 merged.setKeygenInfo(other.getKeygenInfo());
221 }
196 if (merged.getMidiInfo() == null && other.getMidiInfo() != null 222 if (merged.getMidiInfo() == null && other.getMidiInfo() != null
197 && permissionInfoIsForTopLevelOrigin(other.getMidiInfo() , origin)) { 223 && permissionInfoIsForTopLevelOrigin(other.getMidiInfo() , origin)) {
198 merged.setMidiInfo(other.getMidiInfo()); 224 merged.setMidiInfo(other.getMidiInfo());
199 } 225 }
200 if (merged.getProtectedMediaIdentifierInfo() == null 226 if (merged.getProtectedMediaIdentifierInfo() == null
201 && other.getProtectedMediaIdentifierInfo() != null 227 && other.getProtectedMediaIdentifierInfo() != null
202 && permissionInfoIsForTopLevelOrigin( 228 && permissionInfoIsForTopLevelOrigin(
203 other.getProtectedMediaIdentifierInfo(), orig in)) { 229 other.getProtectedMediaIdentifierInfo(), orig in)) {
204 merged.setProtectedMediaIdentifierInfo(other.getProtectedMed iaIdentifierInfo()); 230 merged.setProtectedMediaIdentifierInfo(other.getProtectedMed iaIdentifierInfo());
205 } 231 }
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
277 preference.setOnPreferenceClickListener(this); 303 preference.setOnPreferenceClickListener(this);
278 } else if (PREF_CAMERA_CAPTURE_PERMISSION.equals(preference.getKey() )) { 304 } else if (PREF_CAMERA_CAPTURE_PERMISSION.equals(preference.getKey() )) {
279 setUpListPreference(preference, mSite.getCameraPermission()); 305 setUpListPreference(preference, mSite.getCameraPermission());
280 } else if (PREF_COOKIES_PERMISSION.equals(preference.getKey())) { 306 } else if (PREF_COOKIES_PERMISSION.equals(preference.getKey())) {
281 setUpListPreference(preference, mSite.getCookiePermission()); 307 setUpListPreference(preference, mSite.getCookiePermission());
282 } else if (PREF_FULLSCREEN_PERMISSION.equals(preference.getKey())) { 308 } else if (PREF_FULLSCREEN_PERMISSION.equals(preference.getKey())) {
283 preference.setEnabled(false); 309 preference.setEnabled(false);
284 setUpListPreference(preference, mSite.getFullscreenPermission()) ; 310 setUpListPreference(preference, mSite.getFullscreenPermission()) ;
285 } else if (PREF_JAVASCRIPT_PERMISSION.equals(preference.getKey())) { 311 } else if (PREF_JAVASCRIPT_PERMISSION.equals(preference.getKey())) {
286 setUpListPreference(preference, mSite.getJavaScriptPermission()) ; 312 setUpListPreference(preference, mSite.getJavaScriptPermission()) ;
313 } else if (PREF_KEYGEN_PERMISSION.equals(preference.getKey())) {
314 setUpListPreference(preference, mSite.getKeygenPermission());
287 } else if (PREF_LOCATION_ACCESS.equals(preference.getKey())) { 315 } else if (PREF_LOCATION_ACCESS.equals(preference.getKey())) {
288 setUpLocationPreference(preference); 316 setUpLocationPreference(preference);
289 } else if (PREF_MIC_CAPTURE_PERMISSION.equals(preference.getKey())) { 317 } else if (PREF_MIC_CAPTURE_PERMISSION.equals(preference.getKey())) {
290 setUpListPreference(preference, mSite.getMicrophonePermission()) ; 318 setUpListPreference(preference, mSite.getMicrophonePermission()) ;
291 } else if (PREF_MIDI_SYSEX_PERMISSION.equals(preference.getKey())) { 319 } else if (PREF_MIDI_SYSEX_PERMISSION.equals(preference.getKey())) {
292 setUpListPreference(preference, mSite.getMidiPermission()); 320 setUpListPreference(preference, mSite.getMidiPermission());
293 } else if (PREF_POPUP_PERMISSION.equals(preference.getKey())) { 321 } else if (PREF_POPUP_PERMISSION.equals(preference.getKey())) {
294 setUpListPreference(preference, mSite.getPopupPermission()); 322 setUpListPreference(preference, mSite.getPopupPermission());
295 } else if (PREF_PROTECTED_MEDIA_IDENTIFIER_PERMISSION.equals(prefere nce.getKey())) { 323 } else if (PREF_PROTECTED_MEDIA_IDENTIFIER_PERMISSION.equals(prefere nce.getKey())) {
296 setUpListPreference(preference, mSite.getProtectedMediaIdentifie rPermission()); 324 setUpListPreference(preference, mSite.getProtectedMediaIdentifie rPermission());
(...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after
501 private int getContentSettingsTypeFromPreferenceKey(String preferenceKey) { 529 private int getContentSettingsTypeFromPreferenceKey(String preferenceKey) {
502 switch (preferenceKey) { 530 switch (preferenceKey) {
503 case PREF_CAMERA_CAPTURE_PERMISSION: 531 case PREF_CAMERA_CAPTURE_PERMISSION:
504 return ContentSettingsType.CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAM ERA; 532 return ContentSettingsType.CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAM ERA;
505 case PREF_COOKIES_PERMISSION: 533 case PREF_COOKIES_PERMISSION:
506 return ContentSettingsType.CONTENT_SETTINGS_TYPE_COOKIES; 534 return ContentSettingsType.CONTENT_SETTINGS_TYPE_COOKIES;
507 case PREF_FULLSCREEN_PERMISSION: 535 case PREF_FULLSCREEN_PERMISSION:
508 return ContentSettingsType.CONTENT_SETTINGS_TYPE_FULLSCREEN; 536 return ContentSettingsType.CONTENT_SETTINGS_TYPE_FULLSCREEN;
509 case PREF_JAVASCRIPT_PERMISSION: 537 case PREF_JAVASCRIPT_PERMISSION:
510 return ContentSettingsType.CONTENT_SETTINGS_TYPE_JAVASCRIPT; 538 return ContentSettingsType.CONTENT_SETTINGS_TYPE_JAVASCRIPT;
539 case PREF_KEYGEN_PERMISSION:
540 return ContentSettingsType.CONTENT_SETTINGS_TYPE_KEYGEN;
511 case PREF_LOCATION_ACCESS: 541 case PREF_LOCATION_ACCESS:
512 return ContentSettingsType.CONTENT_SETTINGS_TYPE_GEOLOCATION; 542 return ContentSettingsType.CONTENT_SETTINGS_TYPE_GEOLOCATION;
513 case PREF_MIC_CAPTURE_PERMISSION: 543 case PREF_MIC_CAPTURE_PERMISSION:
514 return ContentSettingsType.CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC ; 544 return ContentSettingsType.CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC ;
515 case PREF_MIDI_SYSEX_PERMISSION: 545 case PREF_MIDI_SYSEX_PERMISSION:
516 return ContentSettingsType.CONTENT_SETTINGS_TYPE_MIDI_SYSEX; 546 return ContentSettingsType.CONTENT_SETTINGS_TYPE_MIDI_SYSEX;
517 case PREF_POPUP_PERMISSION: 547 case PREF_POPUP_PERMISSION:
518 return ContentSettingsType.CONTENT_SETTINGS_TYPE_POPUPS; 548 return ContentSettingsType.CONTENT_SETTINGS_TYPE_POPUPS;
519 case PREF_PROTECTED_MEDIA_IDENTIFIER_PERMISSION: 549 case PREF_PROTECTED_MEDIA_IDENTIFIER_PERMISSION:
520 return ContentSettingsType.CONTENT_SETTINGS_TYPE_PROTECTED_MEDIA _IDENTIFIER; 550 return ContentSettingsType.CONTENT_SETTINGS_TYPE_PROTECTED_MEDIA _IDENTIFIER;
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
559 public boolean onPreferenceChange(Preference preference, Object newValue) { 589 public boolean onPreferenceChange(Preference preference, Object newValue) {
560 ContentSetting permission = ContentSetting.fromString((String) newValue) ; 590 ContentSetting permission = ContentSetting.fromString((String) newValue) ;
561 if (PREF_CAMERA_CAPTURE_PERMISSION.equals(preference.getKey())) { 591 if (PREF_CAMERA_CAPTURE_PERMISSION.equals(preference.getKey())) {
562 mSite.setCameraPermission(permission); 592 mSite.setCameraPermission(permission);
563 } else if (PREF_COOKIES_PERMISSION.equals(preference.getKey())) { 593 } else if (PREF_COOKIES_PERMISSION.equals(preference.getKey())) {
564 mSite.setCookiePermission(permission); 594 mSite.setCookiePermission(permission);
565 } else if (PREF_FULLSCREEN_PERMISSION.equals(preference.getKey())) { 595 } else if (PREF_FULLSCREEN_PERMISSION.equals(preference.getKey())) {
566 mSite.setFullscreenPermission(permission); 596 mSite.setFullscreenPermission(permission);
567 } else if (PREF_JAVASCRIPT_PERMISSION.equals(preference.getKey())) { 597 } else if (PREF_JAVASCRIPT_PERMISSION.equals(preference.getKey())) {
568 mSite.setJavaScriptPermission(permission); 598 mSite.setJavaScriptPermission(permission);
599 } else if (PREF_KEYGEN_PERMISSION.equals(preference.getKey())) {
600 mSite.setKeygenPermission(permission);
569 } else if (PREF_LOCATION_ACCESS.equals(preference.getKey())) { 601 } else if (PREF_LOCATION_ACCESS.equals(preference.getKey())) {
570 mSite.setGeolocationPermission(permission); 602 mSite.setGeolocationPermission(permission);
571 } else if (PREF_MIC_CAPTURE_PERMISSION.equals(preference.getKey())) { 603 } else if (PREF_MIC_CAPTURE_PERMISSION.equals(preference.getKey())) {
572 mSite.setMicrophonePermission(permission); 604 mSite.setMicrophonePermission(permission);
573 } else if (PREF_MIDI_SYSEX_PERMISSION.equals(preference.getKey())) { 605 } else if (PREF_MIDI_SYSEX_PERMISSION.equals(preference.getKey())) {
574 mSite.setMidiPermission(permission); 606 mSite.setMidiPermission(permission);
575 } else if (PREF_POPUP_PERMISSION.equals(preference.getKey())) { 607 } else if (PREF_POPUP_PERMISSION.equals(preference.getKey())) {
576 mSite.setPopupPermission(permission); 608 mSite.setPopupPermission(permission);
577 } else if (PREF_PROTECTED_MEDIA_IDENTIFIER_PERMISSION.equals(preference. getKey())) { 609 } else if (PREF_PROTECTED_MEDIA_IDENTIFIER_PERMISSION.equals(preference. getKey())) {
578 mSite.setProtectedMediaIdentifierPermission(permission); 610 mSite.setProtectedMediaIdentifierPermission(permission);
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
611 if (preference != null) screen.removePreference(preference); 643 if (preference != null) screen.removePreference(preference);
612 } 644 }
613 645
614 // Clear the permissions. 646 // Clear the permissions.
615 mSite.setCameraPermission(ContentSetting.DEFAULT); 647 mSite.setCameraPermission(ContentSetting.DEFAULT);
616 mSite.setCookiePermission(ContentSetting.DEFAULT); 648 mSite.setCookiePermission(ContentSetting.DEFAULT);
617 WebsitePreferenceBridge.nativeClearCookieData(mSite.getAddress().getOrig in()); 649 WebsitePreferenceBridge.nativeClearCookieData(mSite.getAddress().getOrig in());
618 mSite.setFullscreenPermission(ContentSetting.DEFAULT); 650 mSite.setFullscreenPermission(ContentSetting.DEFAULT);
619 mSite.setGeolocationPermission(ContentSetting.DEFAULT); 651 mSite.setGeolocationPermission(ContentSetting.DEFAULT);
620 mSite.setJavaScriptPermission(ContentSetting.DEFAULT); 652 mSite.setJavaScriptPermission(ContentSetting.DEFAULT);
653 mSite.setKeygenPermission(ContentSetting.DEFAULT);
621 mSite.setMicrophonePermission(ContentSetting.DEFAULT); 654 mSite.setMicrophonePermission(ContentSetting.DEFAULT);
622 mSite.setMidiPermission(ContentSetting.DEFAULT); 655 mSite.setMidiPermission(ContentSetting.DEFAULT);
623 mSite.setPopupPermission(ContentSetting.DEFAULT); 656 mSite.setPopupPermission(ContentSetting.DEFAULT);
624 mSite.setProtectedMediaIdentifierPermission(ContentSetting.DEFAULT); 657 mSite.setProtectedMediaIdentifierPermission(ContentSetting.DEFAULT);
625 mSite.setPushNotificationPermission(ContentSetting.DEFAULT); 658 mSite.setPushNotificationPermission(ContentSetting.DEFAULT);
626 659
627 // Clear the storage and finish the activity if necessary. 660 // Clear the storage and finish the activity if necessary.
628 if (mSite.getTotalUsage() > 0) { 661 if (mSite.getTotalUsage() > 0) {
629 clearStoredData(); 662 clearStoredData();
630 } else { 663 } else {
631 // Clearing stored data implies popping back to parent menu if there 664 // Clearing stored data implies popping back to parent menu if there
632 // is nothing left to show. Therefore, we only need to explicitly 665 // is nothing left to show. Therefore, we only need to explicitly
633 // close the activity if there's no stored data to begin with. 666 // close the activity if there's no stored data to begin with.
634 getActivity().finish(); 667 getActivity().finish();
635 } 668 }
636 } 669 }
637 } 670 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698