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

Side by Side Diff: components/ntp_snippets/content_suggestions_service.cc

Issue 2581163004: [NTP::SectionOrder] Propagate new order through ContentSuggestionsService. (Closed)
Patch Set: tschumann@ comments. Created 4 years 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 "components/ntp_snippets/content_suggestions_service.h" 5 #include "components/ntp_snippets/content_suggestions_service.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <iterator> 8 #include <iterator>
9 #include <set> 9 #include <set>
10 #include <utility> 10 #include <utility>
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
59 observer.ContentSuggestionsServiceShutdown(); 59 observer.ContentSuggestionsServiceShutdown();
60 } 60 }
61 } 61 }
62 62
63 // static 63 // static
64 void ContentSuggestionsService::RegisterProfilePrefs( 64 void ContentSuggestionsService::RegisterProfilePrefs(
65 PrefRegistrySimple* registry) { 65 PrefRegistrySimple* registry) {
66 registry->RegisterListPref(prefs::kDismissedCategories); 66 registry->RegisterListPref(prefs::kDismissedCategories);
67 } 67 }
68 68
69 const std::vector<Category>& ContentSuggestionsService::GetCategories() {
70 SortCategories();
71 return categories_;
72 }
73
69 CategoryStatus ContentSuggestionsService::GetCategoryStatus( 74 CategoryStatus ContentSuggestionsService::GetCategoryStatus(
70 Category category) const { 75 Category category) const {
71 if (state_ == State::DISABLED) { 76 if (state_ == State::DISABLED) {
72 return CategoryStatus::ALL_SUGGESTIONS_EXPLICITLY_DISABLED; 77 return CategoryStatus::ALL_SUGGESTIONS_EXPLICITLY_DISABLED;
73 } 78 }
74 79
75 auto iterator = providers_by_category_.find(category); 80 auto iterator = providers_by_category_.find(category);
76 if (iterator == providers_by_category_.end()) { 81 if (iterator == providers_by_category_.end()) {
77 return CategoryStatus::NOT_PROVIDED; 82 return CategoryStatus::NOT_PROVIDED;
78 } 83 }
(...skipping 303 matching lines...) Expand 10 before | Expand all | Expand 10 after
382 } 387 }
383 388
384 void ContentSuggestionsService::RegisterCategory( 389 void ContentSuggestionsService::RegisterCategory(
385 Category category, 390 Category category,
386 ContentSuggestionsProvider* provider) { 391 ContentSuggestionsProvider* provider) {
387 DCHECK(!base::ContainsKey(providers_by_category_, category)); 392 DCHECK(!base::ContainsKey(providers_by_category_, category));
388 DCHECK(!IsCategoryDismissed(category)); 393 DCHECK(!IsCategoryDismissed(category));
389 394
390 providers_by_category_[category] = provider; 395 providers_by_category_[category] = provider;
391 categories_.push_back(category); 396 categories_.push_back(category);
392 SortCategories(); 397 SortCategories();
Marc Treib 2016/12/19 13:22:46 I think this call isn't required anymore.
vitaliii 2016/12/19 15:28:59 Done.
393 if (IsCategoryStatusAvailable(provider->GetCategoryStatus(category))) { 398 if (IsCategoryStatusAvailable(provider->GetCategoryStatus(category))) {
394 suggestions_by_category_.insert( 399 suggestions_by_category_.insert(
395 std::make_pair(category, std::vector<ContentSuggestion>())); 400 std::make_pair(category, std::vector<ContentSuggestion>()));
396 } 401 }
397 } 402 }
398 403
399 void ContentSuggestionsService::UnregisterCategory( 404 void ContentSuggestionsService::UnregisterCategory(
400 Category category, 405 Category category,
401 ContentSuggestionsProvider* provider) { 406 ContentSuggestionsProvider* provider) {
402 auto providers_it = providers_by_category_.find(category); 407 auto providers_it = providers_by_category_.find(category);
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
495 void ContentSuggestionsService::StoreDismissedCategoriesToPrefs() { 500 void ContentSuggestionsService::StoreDismissedCategoriesToPrefs() {
496 base::ListValue list; 501 base::ListValue list;
497 for (const auto& category_provider_pair : dismissed_providers_by_category_) { 502 for (const auto& category_provider_pair : dismissed_providers_by_category_) {
498 list.AppendInteger(category_provider_pair.first.id()); 503 list.AppendInteger(category_provider_pair.first.id());
499 } 504 }
500 505
501 pref_service_->Set(prefs::kDismissedCategories, list); 506 pref_service_->Set(prefs::kDismissedCategories, list);
502 } 507 }
503 508
504 } // namespace ntp_snippets 509 } // namespace ntp_snippets
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698