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 b12d0eccf2f210d2279fa21709aeb698c01cf99a..a4edb18201cb266395e4e982276add1cfe552d1a 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; |
@@ -368,7 +370,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.nativeShouldUseDSEGeolocationSetting( |
+ uri.toString(), isIncognito) |
+ && WebsitePreferenceBridge.nativeGetDSEGeolocationSetting(); |
+ return !enabled; |
+ } else { |
+ return locationContentSettingForUrl(uri, isIncognito) == ContentSetting.BLOCK; |
+ } |
} |
/** |