| Index: chrome/browser/android/ntp/most_visited_sites_bridge.cc
|
| diff --git a/chrome/browser/android/ntp/most_visited_sites_bridge.cc b/chrome/browser/android/ntp/most_visited_sites_bridge.cc
|
| index 64074f8cf54d51c5cbb2b77046974c166a555bd3..57e6dd64abcb00dd6468bfecdb890109bd63a46b 100644
|
| --- a/chrome/browser/android/ntp/most_visited_sites_bridge.cc
|
| +++ b/chrome/browser/android/ntp/most_visited_sites_bridge.cc
|
| @@ -36,6 +36,41 @@ using ntp_tiles::NTPTilesVector;
|
| using ntp_tiles::TileVisualType;
|
| using ntp_tiles::metrics::TileImpression;
|
|
|
| +namespace {
|
| +
|
| +class JavaClient : public MostVisitedSites::HomePageClient {
|
| + public:
|
| + JavaClient(JNIEnv* env, const JavaParamRef<jobject>& obj);
|
| +
|
| + bool IsHomePageEnabled() const override;
|
| + bool IsNewTabPageUsedAsHomePage() const override;
|
| + GURL GetHomepageUrl() const override;
|
| +
|
| + private:
|
| + ScopedJavaGlobalRef<jobject> client_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(JavaClient);
|
| +};
|
| +
|
| +JavaClient::JavaClient(JNIEnv* env, const JavaParamRef<jobject>& obj)
|
| + : client_(env, obj) {}
|
| +
|
| +bool JavaClient::IsHomePageEnabled() const {
|
| + return Java_Client_isHomePageEnabled(AttachCurrentThread(), client_);
|
| +}
|
| +
|
| +bool JavaClient::IsNewTabPageUsedAsHomePage() const {
|
| + return Java_Client_isNewTabPageUsedAsHomePage(AttachCurrentThread(), client_);
|
| +}
|
| +
|
| +GURL JavaClient::GetHomepageUrl() const {
|
| + base::android::ScopedJavaLocalRef<jstring> url =
|
| + Java_Client_getHomePageUrl(AttachCurrentThread(), client_);
|
| + return GURL(ConvertJavaStringToUTF8(url));
|
| +}
|
| +
|
| +} // namespace
|
| +
|
| class MostVisitedSitesBridge::JavaObserver : public MostVisitedSites::Observer {
|
| public:
|
| JavaObserver(JNIEnv* env, const JavaParamRef<jobject>& obj);
|
| @@ -111,6 +146,13 @@ void MostVisitedSitesBridge::SetObserver(
|
| most_visited_->SetMostVisitedURLsObserver(java_observer_.get(), num_sites);
|
| }
|
|
|
| +void MostVisitedSitesBridge::SetClient(
|
| + JNIEnv* env,
|
| + const base::android::JavaParamRef<jobject>& obj,
|
| + const base::android::JavaParamRef<jobject>& j_client) {
|
| + most_visited_->SetHomePageClient(base::MakeUnique<JavaClient>(env, j_client));
|
| +}
|
| +
|
| void MostVisitedSitesBridge::AddOrRemoveBlacklistedUrl(
|
| JNIEnv* env,
|
| const JavaParamRef<jobject>& obj,
|
|
|