| Index: chrome/android/java/src/org/chromium/chrome/browser/preferences/SearchEngineAdapter.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/SearchEngineAdapter.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/SearchEngineAdapter.java
|
| index 8320f81b07be97e7b8e2bb85c05f10ba8b9f4a69..288b6f6616d4c28d859211b710c285a5a1d7b39f 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/SearchEngineAdapter.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/SearchEngineAdapter.java
|
| @@ -28,6 +28,7 @@ import org.chromium.base.ContextUtils;
|
| import org.chromium.base.VisibleForTesting;
|
| import org.chromium.base.metrics.RecordUserAction;
|
| import org.chromium.chrome.R;
|
| +import org.chromium.chrome.browser.ChromeFeatureList;
|
| import org.chromium.chrome.browser.locale.LocaleManager;
|
| import org.chromium.chrome.browser.omnibox.geo.GeolocationHeader;
|
| import org.chromium.chrome.browser.preferences.website.ContentSetting;
|
| @@ -360,8 +361,16 @@ public class SearchEngineAdapter extends BaseAdapter implements LoadListener, On
|
| ContentSetting locationPermission = locationSettings.getContentSetting();
|
| if (locationPermission == ContentSetting.ASK) {
|
| // Handle the case where the geoHeader being sent when no permission has been specified.
|
| - if (checkGeoHeader && GeolocationHeader.isGeoHeaderEnabledForUrl(url, false)) {
|
| - locationPermission = ContentSetting.ALLOW;
|
| + if (checkGeoHeader) {
|
| + if (ChromeFeatureList.isEnabled(ChromeFeatureList.CONSISTENT_OMNIBOX_GEOLOCATION)) {
|
| + if (WebsitePreferenceBridge.shouldUseDSEGeolocationSetting(url, false)) {
|
| + locationPermission = WebsitePreferenceBridge.getDSEGeolocationSetting()
|
| + ? ContentSetting.ALLOW
|
| + : ContentSetting.BLOCK;
|
| + }
|
| + } else if (GeolocationHeader.isGeoHeaderEnabledForUrl(url, false)) {
|
| + locationPermission = ContentSetting.ALLOW;
|
| + }
|
| }
|
| }
|
| return locationPermission;
|
|
|