Chromium Code Reviews| 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 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 58 JNIEnv* env, | 58 JNIEnv* env, |
| 59 const JavaParamRef<jobject>& obj, | 59 const JavaParamRef<jobject>& obj, |
| 60 jint selected_index) { | 60 jint selected_index) { |
| 61 std::vector<TemplateURL*> template_urls = | 61 std::vector<TemplateURL*> template_urls = |
| 62 template_url_service_->GetTemplateURLs(); | 62 template_url_service_->GetTemplateURLs(); |
| 63 size_t selected_index_size_t = static_cast<size_t>(selected_index); | 63 size_t selected_index_size_t = static_cast<size_t>(selected_index); |
| 64 DCHECK_LT(selected_index_size_t, template_urls.size()) << | 64 DCHECK_LT(selected_index_size_t, template_urls.size()) << |
| 65 "Wrong index for search engine"; | 65 "Wrong index for search engine"; |
| 66 | 66 |
| 67 TemplateURL* template_url = template_urls[selected_index_size_t]; | 67 TemplateURL* template_url = template_urls[selected_index_size_t]; |
| 68 DCHECK_GT(template_url->prepopulate_id(), 0) << | |
| 69 "Tried to select non-prepopulated search engine"; | |
| 70 template_url_service_->SetUserSelectedDefaultSearchProvider(template_url); | 68 template_url_service_->SetUserSelectedDefaultSearchProvider(template_url); |
| 71 } | 69 } |
| 72 | 70 |
| 73 jint TemplateUrlServiceAndroid::GetDefaultSearchProvider( | 71 jint TemplateUrlServiceAndroid::GetDefaultSearchProvider( |
| 74 JNIEnv* env, | 72 JNIEnv* env, |
| 75 const JavaParamRef<jobject>& obj) { | 73 const JavaParamRef<jobject>& obj) { |
| 76 std::vector<TemplateURL*> template_urls = | 74 std::vector<TemplateURL*> template_urls = |
| 77 template_url_service_->GetTemplateURLs(); | 75 template_url_service_->GetTemplateURLs(); |
| 78 TemplateURL* default_search_provider = | 76 TemplateURL* default_search_provider = |
| 79 template_url_service_->GetDefaultSearchProvider(); | 77 template_url_service_->GetDefaultSearchProvider(); |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 116 JNIEnv* env, | 114 JNIEnv* env, |
| 117 const JavaParamRef<jobject>& obj) { | 115 const JavaParamRef<jobject>& obj) { |
| 118 TemplateURL* default_search_provider = | 116 TemplateURL* default_search_provider = |
| 119 template_url_service_->GetDefaultSearchProvider(); | 117 template_url_service_->GetDefaultSearchProvider(); |
| 120 return default_search_provider && | 118 return default_search_provider && |
| 121 default_search_provider->url_ref().HasGoogleBaseURLs( | 119 default_search_provider->url_ref().HasGoogleBaseURLs( |
| 122 template_url_service_->search_terms_data()); | 120 template_url_service_->search_terms_data()); |
| 123 } | 121 } |
| 124 | 122 |
| 125 base::android::ScopedJavaLocalRef<jobject> | 123 base::android::ScopedJavaLocalRef<jobject> |
| 126 TemplateUrlServiceAndroid::GetPrepopulatedTemplateUrlAt( | 124 TemplateUrlServiceAndroid::GetTemplateUrlAt( |
| 127 JNIEnv* env, | 125 JNIEnv* env, |
| 128 const JavaParamRef<jobject>& obj, | 126 const JavaParamRef<jobject>& obj, |
| 129 jint index) { | 127 jint index) { |
| 130 TemplateURL* template_url = template_url_service_->GetTemplateURLs()[index]; | 128 TemplateURL* template_url = template_url_service_->GetTemplateURLs()[index]; |
| 131 if (!IsPrepopulatedTemplate(template_url) && | 129 if (template_url->show_in_default_list()) |
| 132 !template_url->created_by_policy()) | 130 return Java_TemplateUrl_create( |
|
Ian Wen
2016/09/16 20:43:04
You could say return Java_templateUrl_create(env,
ltian
2016/09/16 21:39:10
Done.
| |
| 133 return ScopedJavaLocalRef<jobject>(); | 131 env, index, |
| 134 | 132 base::android::ConvertUTF16ToJavaString(env, template_url->short_name()) , |
| 135 return Java_TemplateUrl_create( | 133 true); |
| 136 env, index, | 134 else |
| 137 base::android::ConvertUTF16ToJavaString(env, template_url->short_name())); | 135 return Java_TemplateUrl_create( |
| 136 env, index, | |
| 137 base::android::ConvertUTF16ToJavaString(env, template_url->short_name()) , | |
| 138 false); | |
| 138 } | 139 } |
| 139 | 140 |
| 140 bool TemplateUrlServiceAndroid::IsPrepopulatedTemplate(TemplateURL* url) { | 141 bool TemplateUrlServiceAndroid::IsPrepopulatedTemplate(TemplateURL* url) { |
| 141 return url->prepopulate_id() > 0; | 142 return url->prepopulate_id() > 0; |
| 142 } | 143 } |
| 143 | 144 |
| 144 void TemplateUrlServiceAndroid::OnTemplateURLServiceLoaded() { | 145 void TemplateUrlServiceAndroid::OnTemplateURLServiceLoaded() { |
| 145 template_url_subscription_.reset(); | 146 template_url_subscription_.reset(); |
| 146 JNIEnv* env = base::android::AttachCurrentThread(); | 147 JNIEnv* env = base::android::AttachCurrentThread(); |
| 147 if (weak_java_obj_.get(env).is_null()) | 148 if (weak_java_obj_.get(env).is_null()) |
| (...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 276 static jlong Init(JNIEnv* env, const JavaParamRef<jobject>& obj) { | 277 static jlong Init(JNIEnv* env, const JavaParamRef<jobject>& obj) { |
| 277 TemplateUrlServiceAndroid* template_url_service_android = | 278 TemplateUrlServiceAndroid* template_url_service_android = |
| 278 new TemplateUrlServiceAndroid(env, obj); | 279 new TemplateUrlServiceAndroid(env, obj); |
| 279 return reinterpret_cast<intptr_t>(template_url_service_android); | 280 return reinterpret_cast<intptr_t>(template_url_service_android); |
| 280 } | 281 } |
| 281 | 282 |
| 282 // static | 283 // static |
| 283 bool TemplateUrlServiceAndroid::Register(JNIEnv* env) { | 284 bool TemplateUrlServiceAndroid::Register(JNIEnv* env) { |
| 284 return RegisterNativesImpl(env); | 285 return RegisterNativesImpl(env); |
| 285 } | 286 } |
| OLD | NEW |