| Index: chrome/browser/search_engines/template_url_service_android.h
|
| diff --git a/chrome/browser/search_engines/template_url_service_android.h b/chrome/browser/search_engines/template_url_service_android.h
|
| index af5f38c08a212727731e298448ae5df747711b74..f140e5930718d98d4862f2e2367e5b29452b6154 100644
|
| --- a/chrome/browser/search_engines/template_url_service_android.h
|
| +++ b/chrome/browser/search_engines/template_url_service_android.h
|
| @@ -27,18 +27,22 @@ class TemplateUrlServiceAndroid : public TemplateURLServiceObserver {
|
| void SetUserSelectedDefaultSearchProvider(
|
| JNIEnv* env,
|
| const base::android::JavaParamRef<jobject>& obj,
|
| - jint selected_index);
|
| - jint GetDefaultSearchProvider(
|
| + const base::android::JavaParamRef<jstring>& jkeyword);
|
| +
|
| + jint GetDefaultSearchProviderIndex(
|
| JNIEnv* env,
|
| - const base::android::JavaParamRef<jobject>& obj);
|
| - jint GetTemplateUrlCount(JNIEnv* env,
|
| - const base::android::JavaParamRef<jobject>& obj);
|
| - jboolean IsLoaded(JNIEnv* env,
|
| - const base::android::JavaParamRef<jobject>& obj);
|
| + const base::android::JavaParamRef<jobject>& obj) const;
|
| +
|
| + jint GetTemplateUrlCount(
|
| + JNIEnv* env,
|
| + const base::android::JavaParamRef<jobject>& obj) const;
|
| + jboolean IsLoaded(
|
| + JNIEnv* env,
|
| + const base::android::JavaParamRef<jobject>& obj) const;
|
| base::android::ScopedJavaLocalRef<jobject> GetTemplateUrlAt(
|
| JNIEnv* env,
|
| const base::android::JavaParamRef<jobject>& obj,
|
| - jint index);
|
| + jint index) const;
|
| jboolean IsSearchProviderManaged(
|
| JNIEnv* env,
|
| const base::android::JavaParamRef<jobject>& obj);
|
| @@ -71,20 +75,23 @@ class TemplateUrlServiceAndroid : public TemplateURLServiceObserver {
|
| base::android::ScopedJavaLocalRef<jstring> GetSearchEngineUrlFromTemplateUrl(
|
| JNIEnv* env,
|
| const base::android::JavaParamRef<jobject>& obj,
|
| - jint index);
|
| + const base::android::JavaParamRef<jstring>& jkeyword);
|
|
|
| static bool Register(JNIEnv* env);
|
|
|
| private:
|
| ~TemplateUrlServiceAndroid() override;
|
|
|
| - bool IsPrepopulatedTemplate(TemplateURL* url);
|
| -
|
| void OnTemplateURLServiceLoaded();
|
|
|
| // TemplateUrlServiceObserver:
|
| void OnTemplateURLServiceChanged() override;
|
|
|
| + // Updates |template_urls_| to contain all TemplateURLs. It sorts this list
|
| + // with prepopulated engines first, then any default non-prepopulated engine,
|
| + // then other non-prepopulated engines.
|
| + void LoadTemplateURLs();
|
| +
|
| JavaObjectWeakGlobalRef weak_java_obj_;
|
|
|
| // Pointer to the TemplateUrlService for the main profile.
|
| @@ -92,6 +99,10 @@ class TemplateUrlServiceAndroid : public TemplateURLServiceObserver {
|
|
|
| std::unique_ptr<TemplateURLService::Subscription> template_url_subscription_;
|
|
|
| + // Caches the up-to-date TemplateURL list so that calls from Android could
|
| + // directly get data from it.
|
| + std::vector<TemplateURL*> template_urls_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(TemplateUrlServiceAndroid);
|
| };
|
|
|
|
|