Index: chrome/browser/search_engines/template_url_service_android.cc |
diff --git a/chrome/browser/search_engines/template_url_service_android.cc b/chrome/browser/search_engines/template_url_service_android.cc |
index abae558366eb76602fbd475d285ee8acdc28d048..f82d37931387f07db050b85dc3bd59cfcb6b9a3f 100644 |
--- a/chrome/browser/search_engines/template_url_service_android.cc |
+++ b/chrome/browser/search_engines/template_url_service_android.cc |
@@ -156,6 +156,26 @@ TemplateUrlServiceAndroid::GetUrlForSearchQuery(JNIEnv* env, |
} |
base::android::ScopedJavaLocalRef<jstring> |
+TemplateUrlServiceAndroid::GetUrlForVoiceSearchQuery(JNIEnv* env, |
+ jobject obj, |
+ jstring jquery) { |
+ const TemplateURL* default_provider = |
+ template_url_service_->GetDefaultSearchProvider(); |
+ |
+ base::string16 query(ConvertJavaStringToUTF16(env, jquery)); |
+ |
+ std::string url; |
+ if (default_provider && |
+ default_provider->url_ref().SupportsReplacement() && !query.empty()) { |
+ TemplateURLRef::SearchTermsArgs args(query); |
+ args.is_voice_input_source = true; |
+ url = default_provider->url_ref().ReplaceSearchTerms(args); |
+ } |
+ |
+ return ConvertUTF8ToJavaString(env, url); |
+} |
+ |
+base::android::ScopedJavaLocalRef<jstring> |
TemplateUrlServiceAndroid::ReplaceSearchTermsInUrl(JNIEnv* env, |
jobject obj, |
jstring jquery, |