Chromium Code Reviews| Index: chrome/browser/android/locale/special_locale_handler.h |
| diff --git a/chrome/browser/android/locale/special_locale_handler.h b/chrome/browser/android/locale/special_locale_handler.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..0f9f83928b36f966f72213209a235eb7d0ab7707 |
| --- /dev/null |
| +++ b/chrome/browser/android/locale/special_locale_handler.h |
| @@ -0,0 +1,45 @@ |
| +// Copyright (c) 2016 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#ifndef CHROME_BROWSER_ANDROID_LOCALE_SPECIAL_LOCALE_HANDLER_H_ |
| +#define CHROME_BROWSER_ANDROID_LOCALE_SPECIAL_LOCALE_HANDLER_H_ |
| + |
| +#include <jni.h> |
| + |
| +#include "base/android/scoped_java_ref.h" |
| +#include "base/macros.h" |
| +#include "components/search_engines/template_url.h" |
| + |
| +using base::android::JavaParamRef; |
| +using std::string; |
| +using std::vector; |
|
Maria
2016/09/22 17:17:55
nit: I feel like it's really uncommon to have usin
Peter Kasting
2016/09/23 01:28:36
I don't know that there's anything explicit, but y
Ian Wen
2016/09/23 22:01:56
Done.
|
| + |
| +class TemplateURLService; |
| + |
| +class SpecialLocaleHandler { |
| + public: |
| + explicit SpecialLocaleHandler(const string& locale); |
| + void Destroy(JNIEnv* env, const JavaParamRef<jobject>& obj); |
| + jboolean LoadTemplateUrls(JNIEnv* env, const JavaParamRef<jobject>& obj); |
| + void RemoveTemplateUrls(JNIEnv* env, const JavaParamRef<jobject>& obj); |
| + void OverrideDefaultSearchProvider(JNIEnv* env, |
| + const JavaParamRef<jobject>& obj); |
| + |
| + private: |
| + virtual ~SpecialLocaleHandler(); |
| + |
| + string locale_; |
| + |
| + // Tracks all local search engines that were added to TURL service. |
| + vector<int> prepopulate_ids_; |
| + |
| + // Pointer to the TemplateUrlService for the main profile. |
| + TemplateURLService* template_url_service_; |
| + |
| + DISALLOW_COPY_AND_ASSIGN(SpecialLocaleHandler); |
| +}; |
| + |
| +bool RegisterSpecialLocaleHandler(JNIEnv* env); |
| + |
| +#endif // CHROME_BROWSER_ANDROID_LOCALE_SPECIAL_LOCALE_HANDLER_H_ |