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; | |
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 Loading... |
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 Loading... |
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 Loading... |
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 } |
OLD | NEW |