Chromium Code Reviews| Index: chrome/browser/android/preferences/pref_service_bridge.cc |
| diff --git a/chrome/browser/android/preferences/pref_service_bridge.cc b/chrome/browser/android/preferences/pref_service_bridge.cc |
| index d4bc0a8b85a4041b7aff7dabbe620dadcb12588f..43fd07af51028109f1e5a57024ec605575ebdc57 100644 |
| --- a/chrome/browser/android/preferences/pref_service_bridge.cc |
| +++ b/chrome/browser/android/preferences/pref_service_bridge.cc |
| @@ -650,13 +650,38 @@ static jboolean CanDeleteBrowsingHistory(JNIEnv* env, |
| static void FetchImportantSites(JNIEnv* env, |
| const JavaParamRef<jclass>& clazz, |
| const JavaParamRef<jobject>& java_callback) { |
| + std::vector<GURL> example_origins; |
| std::vector<std::string> important_domains = |
| - ImportantSitesUtil::GetImportantRegisterableDomains(GetOriginalProfile(), |
| - kMaxImportantSites); |
| - ScopedJavaLocalRef<jobjectArray> string_array = |
| + ImportantSitesUtil::GetImportantRegisterableDomains( |
| + GetOriginalProfile(), kMaxImportantSites, &example_origins); |
| + ScopedJavaLocalRef<jobjectArray> java_domains = |
| base::android::ToJavaArrayOfStrings(env, important_domains); |
| + |
| + // We reuse the important domains vector to convert example origins to string. |
|
Theresa
2016/05/25 18:14:27
nit: s/string/strings
dmurph
2016/05/25 20:32:23
done.
|
| + important_domains.resize(example_origins.size()); |
| + std::transform(example_origins.begin(), example_origins.end(), |
| + important_domains.begin(), |
| + [](const GURL& origin) { return origin.spec(); }); |
| + ScopedJavaLocalRef<jobjectArray> java_origins = |
| + base::android::ToJavaArrayOfStrings(env, important_domains); |
| + |
| Java_ImportantSitesCallback_onImportantRegisterableDomainsReady( |
| - env, java_callback.obj(), string_array.obj()); |
| + env, java_callback.obj(), java_domains.obj(), java_origins.obj()); |
| +} |
| + |
| +static jint GetMaxImportantSites(JNIEnv* env, |
| + const JavaParamRef<jclass>& clazz) { |
| + return kMaxImportantSites; |
| +} |
| + |
| +static void MarkOriginAsImportantForTesting( |
| + JNIEnv* env, |
| + const JavaParamRef<jclass>& clazz, |
| + const JavaParamRef<jstring>& jorigin) { |
| + GURL origin(base::android::ConvertJavaStringToUTF8(jorigin)); |
| + CHECK(origin.is_valid()); |
| + ImportantSitesUtil::MarkOriginAsImportantForTesting(GetOriginalProfile(), |
| + origin); |
| } |
| static void ShowNoticeAboutOtherFormsOfBrowsingHistory( |