OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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/search_engines/template_url_service_android.h" | 5 #include "chrome/browser/search_engines/template_url_service_android.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include "base/android/jni_string.h" | 9 #include "base/android/jni_string.h" |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 283 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
294 | 294 |
295 base::android::ScopedJavaLocalRef<jstring> | 295 base::android::ScopedJavaLocalRef<jstring> |
296 TemplateUrlServiceAndroid::GetSearchEngineUrlFromTemplateUrl( | 296 TemplateUrlServiceAndroid::GetSearchEngineUrlFromTemplateUrl( |
297 JNIEnv* env, | 297 JNIEnv* env, |
298 const JavaParamRef<jobject>& obj, | 298 const JavaParamRef<jobject>& obj, |
299 const JavaParamRef<jstring>& jkeyword) { | 299 const JavaParamRef<jstring>& jkeyword) { |
300 base::string16 keyword = | 300 base::string16 keyword = |
301 base::android::ConvertJavaStringToUTF16(env, jkeyword); | 301 base::android::ConvertJavaStringToUTF16(env, jkeyword); |
302 TemplateURL* template_url = | 302 TemplateURL* template_url = |
303 template_url_service_->GetTemplateURLForKeyword(keyword); | 303 template_url_service_->GetTemplateURLForKeyword(keyword); |
304 CHECK(template_url) << "Failed to find template URL for keyword: " << keyword; | 304 if (!template_url) |
| 305 return base::android::ScopedJavaLocalRef<jstring>(env, nullptr); |
305 std::string url(template_url->url_ref().ReplaceSearchTerms( | 306 std::string url(template_url->url_ref().ReplaceSearchTerms( |
306 TemplateURLRef::SearchTermsArgs(base::ASCIIToUTF16("query")), | 307 TemplateURLRef::SearchTermsArgs(base::ASCIIToUTF16("query")), |
307 template_url_service_->search_terms_data())); | 308 template_url_service_->search_terms_data())); |
308 return base::android::ConvertUTF8ToJavaString(env, url); | 309 return base::android::ConvertUTF8ToJavaString(env, url); |
309 } | 310 } |
310 | 311 |
311 base::android::ScopedJavaLocalRef<jstring> | 312 base::android::ScopedJavaLocalRef<jstring> |
312 TemplateUrlServiceAndroid::AddSearchEngineForTesting( | 313 TemplateUrlServiceAndroid::AddSearchEngineForTesting( |
313 JNIEnv* env, | 314 JNIEnv* env, |
314 const base::android::JavaParamRef<jobject>& obj, | 315 const base::android::JavaParamRef<jobject>& obj, |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
350 static jlong Init(JNIEnv* env, const JavaParamRef<jobject>& obj) { | 351 static jlong Init(JNIEnv* env, const JavaParamRef<jobject>& obj) { |
351 TemplateUrlServiceAndroid* template_url_service_android = | 352 TemplateUrlServiceAndroid* template_url_service_android = |
352 new TemplateUrlServiceAndroid(env, obj); | 353 new TemplateUrlServiceAndroid(env, obj); |
353 return reinterpret_cast<intptr_t>(template_url_service_android); | 354 return reinterpret_cast<intptr_t>(template_url_service_android); |
354 } | 355 } |
355 | 356 |
356 // static | 357 // static |
357 bool TemplateUrlServiceAndroid::Register(JNIEnv* env) { | 358 bool TemplateUrlServiceAndroid::Register(JNIEnv* env) { |
358 return RegisterNativesImpl(env); | 359 return RegisterNativesImpl(env); |
359 } | 360 } |
OLD | NEW |