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

Side by Side Diff: chrome/android/java/src/org/chromium/chrome/browser/pageinfo/WebsiteSettingsPopup.java

Issue 2105573002: Revert of Add a LocationUtils class to give all Chromium Android code access to location helpers. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@lkcr
Patch Set: Created 4 years, 5 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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.pageinfo; 5 package org.chromium.chrome.browser.pageinfo;
6 6
7 import android.animation.Animator; 7 import android.animation.Animator;
8 import android.animation.AnimatorListenerAdapter; 8 import android.animation.AnimatorListenerAdapter;
9 import android.animation.AnimatorSet; 9 import android.animation.AnimatorSet;
10 import android.animation.ObjectAnimator; 10 import android.animation.ObjectAnimator;
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
52 import org.chromium.chrome.browser.preferences.PrefServiceBridge; 52 import org.chromium.chrome.browser.preferences.PrefServiceBridge;
53 import org.chromium.chrome.browser.preferences.Preferences; 53 import org.chromium.chrome.browser.preferences.Preferences;
54 import org.chromium.chrome.browser.preferences.PreferencesLauncher; 54 import org.chromium.chrome.browser.preferences.PreferencesLauncher;
55 import org.chromium.chrome.browser.preferences.website.ContentSetting; 55 import org.chromium.chrome.browser.preferences.website.ContentSetting;
56 import org.chromium.chrome.browser.preferences.website.ContentSettingsResources; 56 import org.chromium.chrome.browser.preferences.website.ContentSettingsResources;
57 import org.chromium.chrome.browser.preferences.website.SingleWebsitePreferences; 57 import org.chromium.chrome.browser.preferences.website.SingleWebsitePreferences;
58 import org.chromium.chrome.browser.profiles.Profile; 58 import org.chromium.chrome.browser.profiles.Profile;
59 import org.chromium.chrome.browser.ssl.SecurityStateModel; 59 import org.chromium.chrome.browser.ssl.SecurityStateModel;
60 import org.chromium.chrome.browser.tab.Tab; 60 import org.chromium.chrome.browser.tab.Tab;
61 import org.chromium.chrome.browser.util.UrlUtilities; 61 import org.chromium.chrome.browser.util.UrlUtilities;
62 import org.chromium.components.location.LocationUtils;
63 import org.chromium.components.security_state.ConnectionSecurityLevel; 62 import org.chromium.components.security_state.ConnectionSecurityLevel;
64 import org.chromium.content.browser.ContentViewCore; 63 import org.chromium.content.browser.ContentViewCore;
65 import org.chromium.content_public.browser.WebContents; 64 import org.chromium.content_public.browser.WebContents;
66 import org.chromium.content_public.browser.WebContentsObserver; 65 import org.chromium.content_public.browser.WebContentsObserver;
67 import org.chromium.ui.base.DeviceFormFactor; 66 import org.chromium.ui.base.DeviceFormFactor;
68 import org.chromium.ui.base.WindowAndroid; 67 import org.chromium.ui.base.WindowAndroid;
69 import org.chromium.ui.base.WindowAndroid.PermissionCallback; 68 import org.chromium.ui.base.WindowAndroid.PermissionCallback;
70 import org.chromium.ui.interpolators.BakedBezierInterpolator; 69 import org.chromium.ui.interpolators.BakedBezierInterpolator;
71 70
72 import java.net.URI; 71 import java.net.URI;
(...skipping 486 matching lines...) Expand 10 before | Expand all | Expand 10 after
559 } 558 }
560 559
561 private boolean hasAndroidPermission(int contentSettingType) { 560 private boolean hasAndroidPermission(int contentSettingType) {
562 String androidPermission = PrefServiceBridge.getAndroidPermissionForCont entSetting( 561 String androidPermission = PrefServiceBridge.getAndroidPermissionForCont entSetting(
563 contentSettingType); 562 contentSettingType);
564 return androidPermission == null 563 return androidPermission == null
565 || (mContext.checkPermission(androidPermission, Process.myPid(), Process.myUid()) 564 || (mContext.checkPermission(androidPermission, Process.myPid(), Process.myUid())
566 == PackageManager.PERMISSION_GRANTED); 565 == PackageManager.PERMISSION_GRANTED);
567 } 566 }
568 567
568 private boolean isAndroidLocationDisabled() {
569 try {
570 return Settings.Secure.getInt(mContext.getContentResolver(),
571 Settings.Secure.LOCATION_MODE) == Settings.Secure.LOCATION_M ODE_OFF;
572 } catch (Settings.SettingNotFoundException e) {
573 return false;
574 }
575 }
576
569 /** 577 /**
570 * Adds a new row for the given permission. 578 * Adds a new row for the given permission.
571 * 579 *
572 * @param name The title of the permission to display to the user. 580 * @param name The title of the permission to display to the user.
573 * @param type The ContentSettingsType of the permission. 581 * @param type The ContentSettingsType of the permission.
574 * @param currentSettingValue The ContentSetting value of the currently sele cted setting. 582 * @param currentSettingValue The ContentSetting value of the currently sele cted setting.
575 */ 583 */
576 @CalledByNative 584 @CalledByNative
577 private void addPermissionSection(String name, int type, int currentSettingV alue) { 585 private void addPermissionSection(String name, int type, int currentSettingV alue) {
578 // We have at least one permission, so show the lower permissions area. 586 // We have at least one permission, so show the lower permissions area.
(...skipping 19 matching lines...) Expand all
598 606
599 ImageView permissionIcon = (ImageView) permissionRow.findViewById( 607 ImageView permissionIcon = (ImageView) permissionRow.findViewById(
600 R.id.website_settings_permission_icon); 608 R.id.website_settings_permission_icon);
601 permissionIcon.setImageResource(getImageResourceForPermission(permission .type)); 609 permissionIcon.setImageResource(getImageResourceForPermission(permission .type));
602 610
603 if (permission.setting == ContentSetting.ALLOW) { 611 if (permission.setting == ContentSetting.ALLOW) {
604 int warningTextResource = 0; 612 int warningTextResource = 0;
605 613
606 // If warningTextResource is non-zero, then the view must be tagged with either 614 // If warningTextResource is non-zero, then the view must be tagged with either
607 // permission_intent_override or permission_type. 615 // permission_intent_override or permission_type.
608 LocationUtils locationUtils = LocationUtils.getInstance();
609 if (permission.type == ContentSettingsType.CONTENT_SETTINGS_TYPE_GEO LOCATION 616 if (permission.type == ContentSettingsType.CONTENT_SETTINGS_TYPE_GEO LOCATION
610 && !locationUtils.isSystemLocationSettingEnabled(mContext)) { 617 && isAndroidLocationDisabled()) {
611 warningTextResource = R.string.page_info_android_location_blocke d; 618 warningTextResource = R.string.page_info_android_location_blocke d;
612 permissionRow.setTag(R.id.permission_intent_override, 619 permissionRow.setTag(R.id.permission_intent_override,
613 locationUtils.getSystemLocationSettingsIntent()); 620 new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS));
614 } else if (!hasAndroidPermission(permission.type)) { 621 } else if (!hasAndroidPermission(permission.type)) {
615 warningTextResource = R.string.page_info_android_permission_bloc ked; 622 warningTextResource = R.string.page_info_android_permission_bloc ked;
616 permissionRow.setTag(R.id.permission_type, 623 permissionRow.setTag(R.id.permission_type,
617 PrefServiceBridge.getAndroidPermissionForContentSetting( permission.type)); 624 PrefServiceBridge.getAndroidPermissionForContentSetting( permission.type));
618 } 625 }
619 626
620 if (warningTextResource != 0) { 627 if (warningTextResource != 0) {
621 TextView permissionUnavailable = (TextView) permissionRow.findVi ewById( 628 TextView permissionUnavailable = (TextView) permissionRow.findVi ewById(
622 R.id.website_settings_permission_unavailable_message); 629 R.id.website_settings_permission_unavailable_message);
623 permissionUnavailable.setVisibility(View.VISIBLE); 630 permissionUnavailable.setVisibility(View.VISIBLE);
(...skipping 301 matching lines...) Expand 10 before | Expand all | Expand 10 after
925 offlinePageBridge.getPageByOfflineUrl(tab.getWebContents().getVisibleUrl (), callback); 932 offlinePageBridge.getPageByOfflineUrl(tab.getWebContents().getVisibleUrl (), callback);
926 } 933 }
927 934
928 private static native long nativeInit(WebsiteSettingsPopup popup, WebContent s webContents); 935 private static native long nativeInit(WebsiteSettingsPopup popup, WebContent s webContents);
929 936
930 private native void nativeDestroy(long nativeWebsiteSettingsPopupAndroid); 937 private native void nativeDestroy(long nativeWebsiteSettingsPopupAndroid);
931 938
932 private native void nativeRecordWebsiteSettingsAction( 939 private native void nativeRecordWebsiteSettingsAction(
933 long nativeWebsiteSettingsPopupAndroid, int action); 940 long nativeWebsiteSettingsPopupAndroid, int action);
934 } 941 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698