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

Side by Side Diff: chrome/browser/android/ntp/most_visited_sites_bridge.cc

Issue 2121133002: Remove provider index from Android NewTabPage histograms (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@dewittj
Patch Set: rebase Created 4 years, 5 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 unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/android/ntp/most_visited_sites_bridge.h" 5 #include "chrome/browser/android/ntp/most_visited_sites_bridge.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/android/jni_android.h" 9 #include "base/android/jni_android.h"
10 #include "base/android/jni_array.h" 10 #include "base/android/jni_array.h"
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
113 const JavaParamRef<jobject>& obj) 113 const JavaParamRef<jobject>& obj)
114 : observer_(env, obj) {} 114 : observer_(env, obj) {}
115 115
116 void MostVisitedSitesBridge::JavaObserver::OnMostVisitedURLsAvailable( 116 void MostVisitedSitesBridge::JavaObserver::OnMostVisitedURLsAvailable(
117 const MostVisitedSites::SuggestionsVector& suggestions) { 117 const MostVisitedSites::SuggestionsVector& suggestions) {
118 JNIEnv* env = AttachCurrentThread(); 118 JNIEnv* env = AttachCurrentThread();
119 std::vector<base::string16> titles; 119 std::vector<base::string16> titles;
120 std::vector<std::string> urls; 120 std::vector<std::string> urls;
121 std::vector<std::string> whitelist_icon_paths; 121 std::vector<std::string> whitelist_icon_paths;
122 std::vector<int> sources; 122 std::vector<int> sources;
123 std::vector<int> provider_indexes;
124 123
125 titles.reserve(suggestions.size()); 124 titles.reserve(suggestions.size());
126 urls.reserve(suggestions.size()); 125 urls.reserve(suggestions.size());
127 whitelist_icon_paths.reserve(suggestions.size()); 126 whitelist_icon_paths.reserve(suggestions.size());
128 sources.reserve(suggestions.size()); 127 sources.reserve(suggestions.size());
129 provider_indexes.reserve(suggestions.size());
130 for (const auto& suggestion : suggestions) { 128 for (const auto& suggestion : suggestions) {
131 titles.emplace_back(suggestion.title); 129 titles.emplace_back(suggestion.title);
132 urls.emplace_back(suggestion.url.spec()); 130 urls.emplace_back(suggestion.url.spec());
133 whitelist_icon_paths.emplace_back(suggestion.whitelist_icon_path.value()); 131 whitelist_icon_paths.emplace_back(suggestion.whitelist_icon_path.value());
134 sources.emplace_back(suggestion.source); 132 sources.emplace_back(suggestion.source);
135 provider_indexes.emplace_back(suggestion.provider_index);
136 } 133 }
137 Java_MostVisitedURLsObserver_onMostVisitedURLsAvailable( 134 Java_MostVisitedURLsObserver_onMostVisitedURLsAvailable(
138 env, observer_.obj(), ToJavaArrayOfStrings(env, titles).obj(), 135 env, observer_.obj(), ToJavaArrayOfStrings(env, titles).obj(),
139 ToJavaArrayOfStrings(env, urls).obj(), 136 ToJavaArrayOfStrings(env, urls).obj(),
140 ToJavaArrayOfStrings(env, whitelist_icon_paths).obj(), 137 ToJavaArrayOfStrings(env, whitelist_icon_paths).obj(),
141 ToJavaIntArray(env, sources).obj(), 138 ToJavaIntArray(env, sources).obj());
142 ToJavaIntArray(env, provider_indexes).obj());
143 } 139 }
144 140
145 void MostVisitedSitesBridge::JavaObserver::OnPopularURLsAvailable( 141 void MostVisitedSitesBridge::JavaObserver::OnPopularURLsAvailable(
146 const MostVisitedSites::PopularSitesVector& sites) { 142 const MostVisitedSites::PopularSitesVector& sites) {
147 JNIEnv* env = AttachCurrentThread(); 143 JNIEnv* env = AttachCurrentThread();
148 std::vector<std::string> urls; 144 std::vector<std::string> urls;
149 std::vector<std::string> favicon_urls; 145 std::vector<std::string> favicon_urls;
150 std::vector<std::string> large_icon_urls; 146 std::vector<std::string> large_icon_urls;
151 for (const auto& site : sites) { 147 for (const auto& site : sites) {
152 urls.emplace_back(site.url.spec()); 148 urls.emplace_back(site.url.spec());
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
197 const JavaParamRef<jstring>& j_url, 193 const JavaParamRef<jstring>& j_url,
198 jboolean add_url) { 194 jboolean add_url) {
199 GURL url(ConvertJavaStringToUTF8(env, j_url)); 195 GURL url(ConvertJavaStringToUTF8(env, j_url));
200 most_visited_.AddOrRemoveBlacklistedUrl(url, add_url); 196 most_visited_.AddOrRemoveBlacklistedUrl(url, add_url);
201 } 197 }
202 198
203 void MostVisitedSitesBridge::RecordTileTypeMetrics( 199 void MostVisitedSitesBridge::RecordTileTypeMetrics(
204 JNIEnv* env, 200 JNIEnv* env,
205 const JavaParamRef<jobject>& obj, 201 const JavaParamRef<jobject>& obj,
206 const JavaParamRef<jintArray>& jtile_types, 202 const JavaParamRef<jintArray>& jtile_types,
207 const JavaParamRef<jintArray>& jsources, 203 const JavaParamRef<jintArray>& jsources) {
208 const JavaParamRef<jintArray>& jprovider_indices) {
209 std::vector<int> tile_types; 204 std::vector<int> tile_types;
210 std::vector<int> sources; 205 std::vector<int> sources;
211 std::vector<int> provider_indices;
212 206
213 base::android::JavaIntArrayToIntVector(env, jtile_types, &tile_types); 207 base::android::JavaIntArrayToIntVector(env, jtile_types, &tile_types);
214 base::android::JavaIntArrayToIntVector(env, jsources, &sources); 208 base::android::JavaIntArrayToIntVector(env, jsources, &sources);
215 base::android::JavaIntArrayToIntVector(env, jprovider_indices,
216 &provider_indices);
217 209
218 most_visited_.RecordTileTypeMetrics(tile_types, sources, provider_indices); 210 most_visited_.RecordTileTypeMetrics(tile_types, sources);
219 } 211 }
220 212
221 void MostVisitedSitesBridge::RecordOpenedMostVisitedItem( 213 void MostVisitedSitesBridge::RecordOpenedMostVisitedItem(
222 JNIEnv* env, 214 JNIEnv* env,
223 const JavaParamRef<jobject>& obj, 215 const JavaParamRef<jobject>& obj,
224 jint index, 216 jint index,
225 jint tile_type) { 217 jint tile_type) {
226 most_visited_.RecordOpenedMostVisitedItem(index, tile_type); 218 most_visited_.RecordOpenedMostVisitedItem(index, tile_type);
227 } 219 }
228 220
229 // static 221 // static
230 bool MostVisitedSitesBridge::Register(JNIEnv* env) { 222 bool MostVisitedSitesBridge::Register(JNIEnv* env) {
231 return RegisterNativesImpl(env); 223 return RegisterNativesImpl(env);
232 } 224 }
233 225
234 static jlong Init(JNIEnv* env, 226 static jlong Init(JNIEnv* env,
235 const JavaParamRef<jobject>& obj, 227 const JavaParamRef<jobject>& obj,
236 const JavaParamRef<jobject>& jprofile) { 228 const JavaParamRef<jobject>& jprofile) {
237 MostVisitedSitesBridge* most_visited_sites = 229 MostVisitedSitesBridge* most_visited_sites =
238 new MostVisitedSitesBridge( 230 new MostVisitedSitesBridge(
239 ProfileAndroid::FromProfileAndroid(jprofile)); 231 ProfileAndroid::FromProfileAndroid(jprofile));
240 return reinterpret_cast<intptr_t>(most_visited_sites); 232 return reinterpret_cast<intptr_t>(most_visited_sites);
241 } 233 }
OLDNEW
« no previous file with comments | « chrome/browser/android/ntp/most_visited_sites_bridge.h ('k') | components/ntp_tiles/most_visited_sites.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698