| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 #include "chrome/browser/android/search_geolocation/search_geolocation_disclosur
e_tab_helper.h" | 5 #include "chrome/browser/android/search_geolocation/search_geolocation_disclosur
e_tab_helper.h" |
| 6 | 6 |
| 7 #include "base/android/jni_android.h" | 7 #include "base/android/jni_android.h" |
| 8 #include "base/android/jni_string.h" | 8 #include "base/android/jni_string.h" |
| 9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
| 10 #include "base/feature_list.h" | 10 #include "base/feature_list.h" |
| (...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 197 SearchGeolocationService::Factory::GetForBrowserContext(GetProfile()); | 197 SearchGeolocationService::Factory::GetForBrowserContext(GetProfile()); |
| 198 if (!service->GetDSEGeolocationSetting()) | 198 if (!service->GetDSEGeolocationSetting()) |
| 199 return; | 199 return; |
| 200 | 200 |
| 201 // Check that the Chrome app has geolocation permission. | 201 // Check that the Chrome app has geolocation permission. |
| 202 JNIEnv* env = base::android::AttachCurrentThread(); | 202 JNIEnv* env = base::android::AttachCurrentThread(); |
| 203 if (!Java_GeolocationHeader_hasGeolocationPermission(env)) | 203 if (!Java_GeolocationHeader_hasGeolocationPermission(env)) |
| 204 return; | 204 return; |
| 205 | 205 |
| 206 // All good, let's show the disclosure and increment the shown count. | 206 // All good, let's show the disclosure and increment the shown count. |
| 207 SearchGeolocationDisclosureInfoBarDelegate::Create(web_contents(), gurl); | 207 TemplateURLService* template_url_service = |
| 208 TemplateURLServiceFactory::GetForProfile(GetProfile()); |
| 209 const TemplateURL* template_url = |
| 210 template_url_service->GetDefaultSearchProvider(); |
| 211 base::string16 search_engine_name = template_url->short_name(); |
| 212 SearchGeolocationDisclosureInfoBarDelegate::Create(web_contents(), gurl, |
| 213 search_engine_name); |
| 208 shown_count++; | 214 shown_count++; |
| 209 prefs->SetInteger(prefs::kSearchGeolocationDisclosureShownCount, shown_count); | 215 prefs->SetInteger(prefs::kSearchGeolocationDisclosureShownCount, shown_count); |
| 210 prefs->SetInt64(prefs::kSearchGeolocationDisclosureLastShowDate, | 216 prefs->SetInt64(prefs::kSearchGeolocationDisclosureLastShowDate, |
| 211 GetTimeNow().ToInternalValue()); | 217 GetTimeNow().ToInternalValue()); |
| 212 } | 218 } |
| 213 | 219 |
| 214 bool SearchGeolocationDisclosureTabHelper::ShouldShowDisclosureForAPIAccess( | 220 bool SearchGeolocationDisclosureTabHelper::ShouldShowDisclosureForAPIAccess( |
| 215 const GURL& gurl) { | 221 const GURL& gurl) { |
| 216 SearchGeolocationService* service = | 222 SearchGeolocationService* service = |
| 217 SearchGeolocationService::Factory::GetForBrowserContext(GetProfile()); | 223 SearchGeolocationService::Factory::GetForBrowserContext(GetProfile()); |
| (...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 309 const base::android::JavaParamRef<jclass>& clazz) { | 315 const base::android::JavaParamRef<jclass>& clazz) { |
| 310 gIgnoreUrlChecksForTesting = true; | 316 gIgnoreUrlChecksForTesting = true; |
| 311 } | 317 } |
| 312 | 318 |
| 313 // static | 319 // static |
| 314 void SetDayOffsetForTesting(JNIEnv* env, | 320 void SetDayOffsetForTesting(JNIEnv* env, |
| 315 const base::android::JavaParamRef<jclass>& clazz, | 321 const base::android::JavaParamRef<jclass>& clazz, |
| 316 jint days) { | 322 jint days) { |
| 317 gDayOffsetForTesting = days; | 323 gDayOffsetForTesting = days; |
| 318 } | 324 } |
| OLD | NEW |