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

Unified Diff: components/ntp_snippets/category_rankers/constant_category_ranker.cc

Issue 2696563002: [NTP::SectionOrder] Add EM oriented order. (Closed)
Patch Set: Created 3 years, 10 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: components/ntp_snippets/category_rankers/constant_category_ranker.cc
diff --git a/components/ntp_snippets/category_rankers/constant_category_ranker.cc b/components/ntp_snippets/category_rankers/constant_category_ranker.cc
index 60f040dcf53d7f6e8988c3ab3dbe0a9011902562..9ab04cfe56c33446c3d99d9c50c8c53d1281d927 100644
--- a/components/ntp_snippets/category_rankers/constant_category_ranker.cc
+++ b/components/ntp_snippets/category_rankers/constant_category_ranker.cc
@@ -5,6 +5,7 @@
#include "components/ntp_snippets/category_rankers/constant_category_ranker.h"
#include "base/stl_util.h"
+#include "components/ntp_snippets/features.h"
namespace ntp_snippets {
@@ -68,24 +69,37 @@ void ConstantCategoryRanker::OnCategoryDismissed(Category category) {
std::vector<KnownCategories>
ConstantCategoryRanker::GetKnownCategoriesDefaultOrder() {
std::vector<KnownCategories> categories;
+ CategoryOrderChoice choice = GetSelectedCategoryOrder();
+ switch (choice) {
+ case CategoryOrderChoice::GENERAL:
+ categories.push_back(KnownCategories::PHYSICAL_WEB_PAGES);
+ categories.push_back(KnownCategories::DOWNLOADS);
+ categories.push_back(KnownCategories::RECENT_TABS);
+ categories.push_back(KnownCategories::FOREIGN_TABS);
+ categories.push_back(KnownCategories::BOOKMARKS);
+ categories.push_back(KnownCategories::ARTICLES);
Marc Treib 2017/02/13 14:25:23 ARTICLES wasn't listed here before. Are you sure t
vitaliii 2017/02/14 09:32:32 It was (see line 87 in the old code). Under this c
Marc Treib 2017/02/14 09:48:54 Ah, indeed. I overlooked that, sorry.
vitaliii 2017/02/14 12:13:05 Acknowledged.
+ break;
+ case CategoryOrderChoice::EMERGING_MARKETS_ORIENTED:
+ categories.push_back(KnownCategories::ARTICLES);
+ categories.push_back(KnownCategories::DOWNLOADS);
+ categories.push_back(KnownCategories::BOOKMARKS);
+
+ categories.push_back(KnownCategories::PHYSICAL_WEB_PAGES);
+ categories.push_back(KnownCategories::RECENT_TABS);
+ categories.push_back(KnownCategories::FOREIGN_TABS);
+ break;
+ default:
Marc Treib 2017/02/13 14:25:23 Don't list a "default" case. Then, when a new enum
vitaliii 2017/02/14 09:32:32 Done. Cool, I did not know this.
+ NOTREACHED();
+ }
- // Add all local categories in a fixed order.
- categories.push_back(KnownCategories::PHYSICAL_WEB_PAGES);
- categories.push_back(KnownCategories::DOWNLOADS);
- categories.push_back(KnownCategories::RECENT_TABS);
- categories.push_back(KnownCategories::FOREIGN_TABS);
- categories.push_back(KnownCategories::BOOKMARKS);
-
- DCHECK_EQ(static_cast<size_t>(KnownCategories::LOCAL_CATEGORIES_COUNT),
- categories.size());
-
- // Known remote categories come after. Other remote categories will be ordered
- // after these depending on when providers notify us about them using
- // AppendCategoryIfNecessary.
- // TODO(treib): Consider not adding ARTICLES here, so that providers can
- // define the order themselves.
- categories.push_back(KnownCategories::ARTICLES);
+ DCHECK_EQ(
+ static_cast<size_t>(KnownCategories::LOCAL_CATEGORIES_COUNT) +
+ static_cast<size_t>(KnownCategories::LAST_KNOWN_REMOTE_CATEGORY) -
+ static_cast<size_t>(KnownCategories::REMOTE_CATEGORIES_OFFSET),
Marc Treib 2017/02/13 14:25:23 This isn't really correct - it works now, but it's
vitaliii 2017/02/14 09:32:32 Done.
+ categories.size());
+ // Other remote categories will be ordered after these depending on when
+ // providers notify us about them using AppendCategoryIfNecessary.
return categories;
}

Powered by Google App Engine
This is Rietveld 408576698