| Index: chrome/browser/android/preferences/website_preference_bridge.cc
 | 
| diff --git a/chrome/browser/android/preferences/website_preference_bridge.cc b/chrome/browser/android/preferences/website_preference_bridge.cc
 | 
| index 500fe7045577962fa2c269c6b8c252474351d4e3..4b3954efecdfa61e5345abd491e3a722a466ded1 100644
 | 
| --- a/chrome/browser/android/preferences/website_preference_bridge.cc
 | 
| +++ b/chrome/browser/android/preferences/website_preference_bridge.cc
 | 
| @@ -18,6 +18,7 @@
 | 
|  #include "base/json/json_writer.h"
 | 
|  #include "base/logging.h"
 | 
|  #include "base/macros.h"
 | 
| +#include "chrome/browser/android/search_geolocation/search_geolocation_service.h"
 | 
|  #include "chrome/browser/browsing_data/browsing_data_flash_lso_helper.h"
 | 
|  #include "chrome/browser/browsing_data/browsing_data_local_storage_helper.h"
 | 
|  #include "chrome/browser/browsing_data/browsing_data_quota_helper.h"
 | 
| @@ -741,6 +742,36 @@ static void ClearBannerData(JNIEnv* env,
 | 
|        CONTENT_SETTINGS_TYPE_APP_BANNER, std::string(), nullptr);
 | 
|  }
 | 
|  
 | 
| +static jboolean ShouldUseDSEGeolocationSetting(
 | 
| +    JNIEnv* env,
 | 
| +    const JavaParamRef<jclass>& clazz,
 | 
| +    const JavaParamRef<jstring>& jorigin,
 | 
| +    jboolean is_incognito) {
 | 
| +  SearchGeolocationService* search_helper =
 | 
| +      SearchGeolocationService::Factory::GetForBrowserContext(
 | 
| +          GetActiveUserProfile(is_incognito));
 | 
| +  return search_helper &&
 | 
| +         search_helper->UseDSEGeolocationSetting(
 | 
| +             url::Origin(GURL(ConvertJavaStringToUTF8(env, jorigin))));
 | 
| +}
 | 
| +
 | 
| +static jboolean GetDSEGeolocationSetting(JNIEnv* env,
 | 
| +                                         const JavaParamRef<jclass>& clazz) {
 | 
| +  SearchGeolocationService* search_helper =
 | 
| +      SearchGeolocationService::Factory::GetForBrowserContext(
 | 
| +          GetActiveUserProfile(false /* is_incognito */));
 | 
| +  return search_helper->GetDSEGeolocationSetting();
 | 
| +}
 | 
| +
 | 
| +static void SetDSEGeolocationSetting(JNIEnv* env,
 | 
| +                                     const JavaParamRef<jclass>& clazz,
 | 
| +                                     jboolean setting) {
 | 
| +  SearchGeolocationService* search_helper =
 | 
| +      SearchGeolocationService::Factory::GetForBrowserContext(
 | 
| +          GetActiveUserProfile(false /* is_incognito */));
 | 
| +  return search_helper->SetDSEGeolocationSetting(setting);
 | 
| +}
 | 
| +
 | 
|  // Register native methods
 | 
|  bool RegisterWebsitePreferenceBridge(JNIEnv* env) {
 | 
|    return RegisterNativesImpl(env);
 | 
| 
 |