OLD | NEW |
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 Loading... |
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; |
62 import org.chromium.components.security_state.ConnectionSecurityLevel; | 63 import org.chromium.components.security_state.ConnectionSecurityLevel; |
63 import org.chromium.content.browser.ContentViewCore; | 64 import org.chromium.content.browser.ContentViewCore; |
64 import org.chromium.content_public.browser.WebContents; | 65 import org.chromium.content_public.browser.WebContents; |
65 import org.chromium.content_public.browser.WebContentsObserver; | 66 import org.chromium.content_public.browser.WebContentsObserver; |
66 import org.chromium.ui.base.DeviceFormFactor; | 67 import org.chromium.ui.base.DeviceFormFactor; |
67 import org.chromium.ui.base.WindowAndroid; | 68 import org.chromium.ui.base.WindowAndroid; |
68 import org.chromium.ui.base.WindowAndroid.PermissionCallback; | 69 import org.chromium.ui.base.WindowAndroid.PermissionCallback; |
69 import org.chromium.ui.interpolators.BakedBezierInterpolator; | 70 import org.chromium.ui.interpolators.BakedBezierInterpolator; |
70 | 71 |
71 import java.net.URI; | 72 import java.net.URI; |
(...skipping 486 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
558 } | 559 } |
559 | 560 |
560 private boolean hasAndroidPermission(int contentSettingType) { | 561 private boolean hasAndroidPermission(int contentSettingType) { |
561 String androidPermission = PrefServiceBridge.getAndroidPermissionForCont
entSetting( | 562 String androidPermission = PrefServiceBridge.getAndroidPermissionForCont
entSetting( |
562 contentSettingType); | 563 contentSettingType); |
563 return androidPermission == null | 564 return androidPermission == null |
564 || (mContext.checkPermission(androidPermission, Process.myPid(),
Process.myUid()) | 565 || (mContext.checkPermission(androidPermission, Process.myPid(),
Process.myUid()) |
565 == PackageManager.PERMISSION_GRANTED); | 566 == PackageManager.PERMISSION_GRANTED); |
566 } | 567 } |
567 | 568 |
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 | |
577 /** | 569 /** |
578 * Adds a new row for the given permission. | 570 * Adds a new row for the given permission. |
579 * | 571 * |
580 * @param name The title of the permission to display to the user. | 572 * @param name The title of the permission to display to the user. |
581 * @param type The ContentSettingsType of the permission. | 573 * @param type The ContentSettingsType of the permission. |
582 * @param currentSettingValue The ContentSetting value of the currently sele
cted setting. | 574 * @param currentSettingValue The ContentSetting value of the currently sele
cted setting. |
583 */ | 575 */ |
584 @CalledByNative | 576 @CalledByNative |
585 private void addPermissionSection(String name, int type, int currentSettingV
alue) { | 577 private void addPermissionSection(String name, int type, int currentSettingV
alue) { |
586 // We have at least one permission, so show the lower permissions area. | 578 // We have at least one permission, so show the lower permissions area. |
(...skipping 19 matching lines...) Expand all Loading... |
606 | 598 |
607 ImageView permissionIcon = (ImageView) permissionRow.findViewById( | 599 ImageView permissionIcon = (ImageView) permissionRow.findViewById( |
608 R.id.website_settings_permission_icon); | 600 R.id.website_settings_permission_icon); |
609 permissionIcon.setImageResource(getImageResourceForPermission(permission
.type)); | 601 permissionIcon.setImageResource(getImageResourceForPermission(permission
.type)); |
610 | 602 |
611 if (permission.setting == ContentSetting.ALLOW) { | 603 if (permission.setting == ContentSetting.ALLOW) { |
612 int warningTextResource = 0; | 604 int warningTextResource = 0; |
613 | 605 |
614 // If warningTextResource is non-zero, then the view must be tagged
with either | 606 // If warningTextResource is non-zero, then the view must be tagged
with either |
615 // permission_intent_override or permission_type. | 607 // permission_intent_override or permission_type. |
| 608 LocationUtils locationUtils = LocationUtils.getInstance(); |
616 if (permission.type == ContentSettingsType.CONTENT_SETTINGS_TYPE_GEO
LOCATION | 609 if (permission.type == ContentSettingsType.CONTENT_SETTINGS_TYPE_GEO
LOCATION |
617 && isAndroidLocationDisabled()) { | 610 && !locationUtils.isSystemLocationSettingEnabled(mContext))
{ |
618 warningTextResource = R.string.page_info_android_location_blocke
d; | 611 warningTextResource = R.string.page_info_android_location_blocke
d; |
619 permissionRow.setTag(R.id.permission_intent_override, | 612 permissionRow.setTag(R.id.permission_intent_override, |
620 new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS)); | 613 locationUtils.getSystemLocationSettingsIntent()); |
621 } else if (!hasAndroidPermission(permission.type)) { | 614 } else if (!hasAndroidPermission(permission.type)) { |
622 warningTextResource = R.string.page_info_android_permission_bloc
ked; | 615 warningTextResource = R.string.page_info_android_permission_bloc
ked; |
623 permissionRow.setTag(R.id.permission_type, | 616 permissionRow.setTag(R.id.permission_type, |
624 PrefServiceBridge.getAndroidPermissionForContentSetting(
permission.type)); | 617 PrefServiceBridge.getAndroidPermissionForContentSetting(
permission.type)); |
625 } | 618 } |
626 | 619 |
627 if (warningTextResource != 0) { | 620 if (warningTextResource != 0) { |
628 TextView permissionUnavailable = (TextView) permissionRow.findVi
ewById( | 621 TextView permissionUnavailable = (TextView) permissionRow.findVi
ewById( |
629 R.id.website_settings_permission_unavailable_message); | 622 R.id.website_settings_permission_unavailable_message); |
630 permissionUnavailable.setVisibility(View.VISIBLE); | 623 permissionUnavailable.setVisibility(View.VISIBLE); |
(...skipping 301 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
932 offlinePageBridge.getPageByOfflineUrl(tab.getWebContents().getVisibleUrl
(), callback); | 925 offlinePageBridge.getPageByOfflineUrl(tab.getWebContents().getVisibleUrl
(), callback); |
933 } | 926 } |
934 | 927 |
935 private static native long nativeInit(WebsiteSettingsPopup popup, WebContent
s webContents); | 928 private static native long nativeInit(WebsiteSettingsPopup popup, WebContent
s webContents); |
936 | 929 |
937 private native void nativeDestroy(long nativeWebsiteSettingsPopupAndroid); | 930 private native void nativeDestroy(long nativeWebsiteSettingsPopupAndroid); |
938 | 931 |
939 private native void nativeRecordWebsiteSettingsAction( | 932 private native void nativeRecordWebsiteSettingsAction( |
940 long nativeWebsiteSettingsPopupAndroid, int action); | 933 long nativeWebsiteSettingsPopupAndroid, int action); |
941 } | 934 } |
OLD | NEW |