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

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

Issue 1919823002: Update MostVisitedSites observer interface. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: iMove move to .cc. Created 4 years, 8 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 dde3d98e16ed4496093e33ac3cbc1690cbb98f8d..19cc7b3aace9b61be8f2babc55b8b8fa9261db2d 100644
--- a/chrome/browser/android/ntp/most_visited_sites_bridge.cc
+++ b/chrome/browser/android/ntp/most_visited_sites_bridge.cc
@@ -12,6 +12,7 @@
#include "base/android/scoped_java_ref.h"
#include "base/bind.h"
#include "base/callback.h"
+#include "chrome/browser/android/ntp/popular_sites.h"
#include "chrome/browser/profiles/profile_android.h"
#include "jni/MostVisitedSites_jni.h"
#include "ui/gfx/android/java_bitmap.h"
@@ -40,19 +41,15 @@ void CallJavaWithBitmap(
} // namespace
class MostVisitedSitesBridge::Observer
- : public MostVisitedSitesObserver {
+ : public MostVisitedSites::Observer {
public:
Observer(JNIEnv* env, const JavaParamRef<jobject>& obj);
void OnMostVisitedURLsAvailable(
- const std::vector<base::string16>& titles,
- const std::vector<std::string>& urls,
- const std::vector<std::string>& whitelist_icon_paths) override;
+ const MostVisitedSites::SuggestionsVector& suggestions) override;
void OnPopularURLsAvailable(
- const std::vector<std::string>& urls,
- const std::vector<std::string>& favicon_urls,
- const std::vector<std::string>& large_icon_urls) override;
+ const MostVisitedSites::PopularSitesVector& sites) override;
private:
ScopedJavaGlobalRef<jobject> observer_;
@@ -65,12 +62,18 @@ MostVisitedSitesBridge::Observer::Observer(
: observer_(env, obj) {}
void MostVisitedSitesBridge::Observer::OnMostVisitedURLsAvailable(
- const std::vector<base::string16>& titles,
- const std::vector<std::string>& urls,
- const std::vector<std::string>& whitelist_icon_paths) {
+ const MostVisitedSites::SuggestionsVector& suggestions) {
JNIEnv* env = AttachCurrentThread();
- DCHECK_EQ(titles.size(), urls.size());
- DCHECK_EQ(titles.size(), whitelist_icon_paths.size());
+ std::vector<base::string16> titles;
+ std::vector<std::string> urls;
+ std::vector<std::string> whitelist_icon_paths;
+ titles.reserve(suggestions.size());
+ urls.reserve(suggestions.size());
Bernhard Bauer 2016/04/26 14:29:58 Why are we not doing that for |whitelist_icon_path
sfiera 2016/04/26 14:42:26 It looks like here I was just moving the old code
+ for (const auto& suggestion : suggestions) {
+ titles.push_back(suggestion.title);
+ urls.push_back(suggestion.url.spec());
+ whitelist_icon_paths.push_back(suggestion.whitelist_icon_path.value());
+ }
Java_MostVisitedURLsObserver_onMostVisitedURLsAvailable(
env, observer_.obj(), ToJavaArrayOfStrings(env, titles).obj(),
ToJavaArrayOfStrings(env, urls).obj(),
@@ -78,10 +81,16 @@ void MostVisitedSitesBridge::Observer::OnMostVisitedURLsAvailable(
}
void MostVisitedSitesBridge::Observer::OnPopularURLsAvailable(
- const std::vector<std::string>& urls,
- const std::vector<std::string>& favicon_urls,
- const std::vector<std::string>& large_icon_urls) {
+ const MostVisitedSites::PopularSitesVector& sites) {
JNIEnv* env = AttachCurrentThread();
+ std::vector<std::string> urls;
+ std::vector<std::string> favicon_urls;
+ std::vector<std::string> large_icon_urls;
+ for (const auto& site : sites) {
+ urls.emplace_back(site.url.spec());
Bernhard Bauer 2016/04/26 14:29:58 Why emplace_back here, but push_back above?
sfiera 2016/04/26 14:42:26 ...but here I wrote it myself. So, the inefficien
Bernhard Bauer 2016/04/26 14:50:49 :-D To be fair, the old code was written before e
+ favicon_urls.emplace_back(site.favicon_url.spec());
+ large_icon_urls.emplace_back(site.large_icon_url.spec());
+ }
Java_MostVisitedURLsObserver_onPopularURLsAvailable(
env, observer_.obj(), ToJavaArrayOfStrings(env, urls).obj(),
ToJavaArrayOfStrings(env, favicon_urls).obj(),

Powered by Google App Engine
This is Rietveld 408576698