Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(144)

Unified Diff: chrome/browser/android/ntp/most_visited_sites_bridge.cc

Issue 2105933002: NTP: Fix metrics recording crash by plumbing the necessary data to Java. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Even more fixes. Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 54f2fd0c9a5e8cdc47d3096f44ede7d72050c91c..92e83a83873f98177170e27389b10b137b879255 100644
--- a/chrome/browser/android/ntp/most_visited_sites_bridge.cc
+++ b/chrome/browser/android/ntp/most_visited_sites_bridge.cc
@@ -36,6 +36,7 @@ using base::android::ConvertJavaStringToUTF8;
using base::android::ScopedJavaGlobalRef;
using base::android::ScopedJavaLocalRef;
using base::android::ToJavaArrayOfStrings;
+using base::android::ToJavaIntArray;
using content::BrowserThread;
using ntp_tiles::MostVisitedSites;
using ntp_tiles::MostVisitedSitesSupervisor;
@@ -118,18 +119,27 @@ void MostVisitedSitesBridge::JavaObserver::OnMostVisitedURLsAvailable(
std::vector<base::string16> titles;
std::vector<std::string> urls;
std::vector<std::string> whitelist_icon_paths;
+ std::vector<int> sources;
+ std::vector<int> provider_indexes;
+
titles.reserve(suggestions.size());
urls.reserve(suggestions.size());
whitelist_icon_paths.reserve(suggestions.size());
+ sources.reserve(suggestions.size());
+ provider_indexes.reserve(suggestions.size());
for (const auto& suggestion : suggestions) {
titles.emplace_back(suggestion.title);
urls.emplace_back(suggestion.url.spec());
whitelist_icon_paths.emplace_back(suggestion.whitelist_icon_path.value());
+ sources.emplace_back(suggestion.source);
+ provider_indexes.emplace_back(suggestion.provider_index);
}
Java_MostVisitedURLsObserver_onMostVisitedURLsAvailable(
env, observer_.obj(), ToJavaArrayOfStrings(env, titles).obj(),
ToJavaArrayOfStrings(env, urls).obj(),
- ToJavaArrayOfStrings(env, whitelist_icon_paths).obj());
+ ToJavaArrayOfStrings(env, whitelist_icon_paths).obj(),
+ ToJavaIntArray(env, sources).obj(),
+ ToJavaIntArray(env, provider_indexes).obj());
}
void MostVisitedSitesBridge::JavaObserver::OnPopularURLsAvailable(
@@ -193,10 +203,19 @@ void MostVisitedSitesBridge::AddOrRemoveBlacklistedUrl(
void MostVisitedSitesBridge::RecordTileTypeMetrics(
JNIEnv* env,
const JavaParamRef<jobject>& obj,
- const JavaParamRef<jintArray>& jtile_types) {
+ const JavaParamRef<jintArray>& jtile_types,
+ const JavaParamRef<jintArray>& jsources,
+ const JavaParamRef<jintArray>& jprovider_indices) {
std::vector<int> tile_types;
+ std::vector<int> sources;
+ std::vector<int> provider_indices;
+
base::android::JavaIntArrayToIntVector(env, jtile_types, &tile_types);
- most_visited_.RecordTileTypeMetrics(tile_types);
+ base::android::JavaIntArrayToIntVector(env, jsources, &sources);
+ base::android::JavaIntArrayToIntVector(env, jprovider_indices,
+ &provider_indices);
+
+ most_visited_.RecordTileTypeMetrics(tile_types, sources, provider_indices);
}
void MostVisitedSitesBridge::RecordOpenedMostVisitedItem(

Powered by Google App Engine
This is Rietveld 408576698