Index: chrome/android/java/src/org/chromium/chrome/browser/omnibox/geo/GeolocationHeader.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omnibox/geo/GeolocationHeader.java b/chrome/android/java/src/org/chromium/chrome/browser/omnibox/geo/GeolocationHeader.java |
index f27b05f7374597d8c3dcff638a654841495775d7..1c0c709c4c905d985e943f9c37fe7be33b1aca0c 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/omnibox/geo/GeolocationHeader.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/omnibox/geo/GeolocationHeader.java |
@@ -22,8 +22,10 @@ import org.chromium.base.Log; |
import org.chromium.base.annotations.CalledByNative; |
import org.chromium.base.annotations.SuppressFBWarnings; |
import org.chromium.base.metrics.RecordHistogram; |
+import org.chromium.chrome.browser.ChromeFeatureList; |
import org.chromium.chrome.browser.preferences.website.ContentSetting; |
import org.chromium.chrome.browser.preferences.website.GeolocationInfo; |
+import org.chromium.chrome.browser.preferences.website.WebsitePreferenceBridge; |
import org.chromium.chrome.browser.tab.Tab; |
import org.chromium.chrome.browser.util.UrlUtilities; |
@@ -359,7 +361,14 @@ public class GeolocationHeader { |
* scheme, this considers the user's preference for url with the http scheme instead. |
*/ |
static boolean isLocationDisabledForUrl(Uri uri, boolean isIncognito) { |
- return locationContentSettingForUrl(uri, isIncognito) == ContentSetting.BLOCK; |
+ if (ChromeFeatureList.isEnabled(ChromeFeatureList.CONSISTENT_OMNIBOX_GEOLOCATION)) { |
+ boolean enabled = WebsitePreferenceBridge.shouldUseDSEGeolocationSetting( |
+ uri.toString(), isIncognito) |
+ && WebsitePreferenceBridge.getDSEGeolocationSetting(); |
+ return !enabled; |
+ } else { |
+ return locationContentSettingForUrl(uri, isIncognito) == ContentSetting.BLOCK; |
+ } |
} |
/** |