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

Unified Diff: components/ntp_snippets/content_suggestions_service.cc

Issue 2340333002: 📰 Make status cards swipable (Closed)
Patch Set: fix nit Created 4 years, 3 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
« no previous file with comments | « components/ntp_snippets/content_suggestions_service.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/ntp_snippets/content_suggestions_service.cc
diff --git a/components/ntp_snippets/content_suggestions_service.cc b/components/ntp_snippets/content_suggestions_service.cc
index b2addff8aae5b9cd1349b3f69e12b8a6f88d65e2..c74d03e3030e93e9c244db784381f3fad4d17c46 100644
--- a/components/ntp_snippets/content_suggestions_service.cc
+++ b/components/ntp_snippets/content_suggestions_service.cc
@@ -162,6 +162,16 @@ void ContentSuggestionsService::DismissSuggestion(
<< " OnNewSuggestions in response to DismissSuggestion.";
}
+void ContentSuggestionsService::DismissCategory(Category category) {
+ auto providers_it = providers_by_category_.find(category);
+ if (providers_it == providers_by_category_.end())
+ return;
+
+ providers_by_category_.erase(providers_it);
+ categories_.erase(
+ std::find(categories_.begin(), categories_.end(), category));
+}
+
void ContentSuggestionsService::AddObserver(Observer* observer) {
observers_.AddObserver(observer);
}
@@ -219,12 +229,10 @@ void ContentSuggestionsService::OnCategoryStatusChanged(
suggestions_by_category_.erase(category);
}
if (new_status == CategoryStatus::NOT_PROVIDED) {
- auto providers_it = providers_by_category_.find(category);
- DCHECK(providers_it != providers_by_category_.end());
- DCHECK_EQ(provider, providers_it->second);
- providers_by_category_.erase(providers_it);
- categories_.erase(
- std::find(categories_.begin(), categories_.end(), category));
+ DCHECK(providers_by_category_.find(category) !=
+ providers_by_category_.end());
+ DCHECK_EQ(provider, providers_by_category_.find(category)->second);
+ DismissCategory(category);
} else {
RegisterCategoryIfRequired(provider, category);
DCHECK_EQ(new_status, provider->GetCategoryStatus(category));
« no previous file with comments | « components/ntp_snippets/content_suggestions_service.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698