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

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

Issue 2888473003: [subresource_filter] Site Details UI for default state (Closed)
Patch Set: finnur review Created 3 years, 6 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
« no previous file with comments | « no previous file | chrome/android/java/src/org/chromium/chrome/browser/preferences/website/Website.java » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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.net.Uri; 10 import android.net.Uri;
(...skipping 295 matching lines...) Expand 10 before | Expand all | Expand 10 after
306 setUpListPreference(preference, mSite.getMicrophonePermission()) ; 306 setUpListPreference(preference, mSite.getMicrophonePermission()) ;
307 } else if (PREF_MIDI_SYSEX_PERMISSION.equals(preference.getKey())) { 307 } else if (PREF_MIDI_SYSEX_PERMISSION.equals(preference.getKey())) {
308 setUpListPreference(preference, mSite.getMidiPermission()); 308 setUpListPreference(preference, mSite.getMidiPermission());
309 } else if (PREF_NOTIFICATIONS_PERMISSION.equals(preference.getKey()) ) { 309 } else if (PREF_NOTIFICATIONS_PERMISSION.equals(preference.getKey()) ) {
310 setUpListPreference(preference, mSite.getNotificationPermission( )); 310 setUpListPreference(preference, mSite.getNotificationPermission( ));
311 } else if (PREF_POPUP_PERMISSION.equals(preference.getKey())) { 311 } else if (PREF_POPUP_PERMISSION.equals(preference.getKey())) {
312 setUpListPreference(preference, mSite.getPopupPermission()); 312 setUpListPreference(preference, mSite.getPopupPermission());
313 } else if (PREF_PROTECTED_MEDIA_IDENTIFIER_PERMISSION.equals(prefere nce.getKey())) { 313 } else if (PREF_PROTECTED_MEDIA_IDENTIFIER_PERMISSION.equals(prefere nce.getKey())) {
314 setUpListPreference(preference, mSite.getProtectedMediaIdentifie rPermission()); 314 setUpListPreference(preference, mSite.getProtectedMediaIdentifie rPermission());
315 } else if (PREF_SUBRESOURCE_FILTER_PERMISSION.equals(preference.getK ey())) { 315 } else if (PREF_SUBRESOURCE_FILTER_PERMISSION.equals(preference.getK ey())) {
316 setUpListPreference(preference, mSite.getSubresourceFilterPermis sion()); 316 setUpSubresourceFilterPreference(preference);
317 } 317 }
318 318
319 if (permissionPreferenceKeys.contains(preference.getKey())) { 319 if (permissionPreferenceKeys.contains(preference.getKey())) {
320 maxPermissionOrder = Math.max(maxPermissionOrder, preference.get Order()); 320 maxPermissionOrder = Math.max(maxPermissionOrder, preference.get Order());
321 } 321 }
322 } 322 }
323 323
324 for (UsbInfo info : mSite.getUsbInfo()) { 324 for (UsbInfo info : mSite.getUsbInfo()) {
325 Preference preference = new Preference(getActivity()); 325 Preference preference = new Preference(getActivity());
326 preference.getExtras().putSerializable(EXTRA_USB_INFO, info); 326 preference.getExtras().putSerializable(EXTRA_USB_INFO, info);
(...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after
490 String origin = mSite.getAddress().getOrigin(); 490 String origin = mSite.getAddress().getOrigin();
491 mSite.setGeolocationInfo(new GeolocationInfo(origin, origin, false)) ; 491 mSite.setGeolocationInfo(new GeolocationInfo(origin, origin, false)) ;
492 setUpListPreference(preference, (boolean) locationAllowed 492 setUpListPreference(preference, (boolean) locationAllowed
493 ? ContentSetting.ALLOW : ContentSetting.BLOCK); 493 ? ContentSetting.ALLOW : ContentSetting.BLOCK);
494 } else { 494 } else {
495 setUpListPreference(preference, permission); 495 setUpListPreference(preference, permission);
496 } 496 }
497 } 497 }
498 498
499 /** 499 /**
500 * Updates the subresource filter list preference based on subresource filte r activation. This
501 * has some custom behavior.
502 * 1. If the site is filtering, the permission should show up even if it is set as the default
503 * (e.g. |preference| is null).
504 * 2. The BLOCK string is custom.
505 */
506 private void setUpSubresourceFilterPreference(Preference preference) {
507 // If the subresource filter is activated, then this site will have reso urces filtered
508 // unless there is an explicit permission disallowing the filtering.
509 boolean subresourceFilterActivated = WebsitePreferenceBridge.getSubresou rceFilterActivated(
510 mSite.getAddress().getOrigin());
511 ContentSetting permission = mSite.getSubresourceFilterPermission();
512
513 // If |permission| is null, there is no explicit (non-default) permissio n set for this site.
514 // However, if the filtering is activated, we still want to show the per mission as BLOCK.
515 if (permission == null && !subresourceFilterActivated) {
516 setUpListPreference(preference, null);
517 return;
518 }
519 setUpListPreference(preference, permission == null ? ContentSetting.BLOC K : permission);
520
521 // The subresource filter permission has a custom BLOCK string.
522 ListPreference listPreference = (ListPreference) preference;
523 Resources res = getResources();
524 listPreference.setEntries(
525 new String[] {res.getString(R.string.website_settings_permission s_allow),
526 res.getString(R.string.subresource_filter_permission_blo ck)});
527 listPreference.setValueIndex(permission == ContentSetting.ALLOW ? 0 : 1) ;
528 }
529
530 /**
500 * Returns true if the current host matches the default search engine host a nd location for the 531 * Returns true if the current host matches the default search engine host a nd location for the
501 * default search engine is being granted via x-geo. 532 * default search engine is being granted via x-geo.
502 * @param context The current context. 533 * @param context The current context.
503 */ 534 */
504 private boolean hasXGeoLocationPermission(Context context) { 535 private boolean hasXGeoLocationPermission(Context context) {
505 if (ChromeFeatureList.isEnabled(ChromeFeatureList.CONSISTENT_OMNIBOX_GEO LOCATION)) { 536 if (ChromeFeatureList.isEnabled(ChromeFeatureList.CONSISTENT_OMNIBOX_GEO LOCATION)) {
506 return false; 537 return false;
507 } 538 }
508 539
509 String searchUrl = TemplateUrlService.getInstance().getUrlForSearchQuery ("foo"); 540 String searchUrl = TemplateUrlService.getInstance().getUrlForSearchQuery ("foo");
(...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after
723 if (mSite.getTotalUsage() > 0) { 754 if (mSite.getTotalUsage() > 0) {
724 clearStoredData(); 755 clearStoredData();
725 } else { 756 } else {
726 // Clearing stored data implies popping back to parent menu if there 757 // Clearing stored data implies popping back to parent menu if there
727 // is nothing left to show. Therefore, we only need to explicitly 758 // is nothing left to show. Therefore, we only need to explicitly
728 // close the activity if there's no stored data to begin with. 759 // close the activity if there's no stored data to begin with.
729 getActivity().finish(); 760 getActivity().finish();
730 } 761 }
731 } 762 }
732 } 763 }
OLDNEW
« no previous file with comments | « no previous file | chrome/android/java/src/org/chromium/chrome/browser/preferences/website/Website.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698