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

Unified Diff: components/ntp_snippets/breaking_news/breaking_news_suggestions_provider.cc

Issue 2925053003: [NTP::Push] Adding BreakingNewsSuggestionsProvider (Closed)
Patch Set: Fixing the build. Created 3 years, 6 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/breaking_news/breaking_news_suggestions_provider.cc
diff --git a/components/ntp_snippets/breaking_news/breaking_news_suggestions_provider.cc b/components/ntp_snippets/breaking_news/breaking_news_suggestions_provider.cc
new file mode 100644
index 0000000000000000000000000000000000000000..b3cc4988f4d1a0cd533ccef482ed15d7e27c291a
--- /dev/null
+++ b/components/ntp_snippets/breaking_news/breaking_news_suggestions_provider.cc
@@ -0,0 +1,88 @@
+// Copyright 2017 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "components/ntp_snippets/breaking_news/breaking_news_suggestions_provider.h"
+
+#include "base/bind.h"
+#include "components/ntp_snippets/breaking_news/content_suggestions_gcm_app_handler.h"
+#include "components/ntp_snippets/category.h"
+#include "components/ntp_snippets/pref_names.h"
+#include "components/strings/grit/components_strings.h"
+
+namespace ntp_snippets {
+
+BreakingNewsSuggestionsProvider::BreakingNewsSuggestionsProvider(
+ ContentSuggestionsProvider::Observer* observer,
+ std::unique_ptr<ContentSuggestionsGCMAppHandler> gcm_app_handler)
+ : ContentSuggestionsProvider(observer),
+ gcm_app_handler_(std::move(gcm_app_handler)),
+ provided_category_(
+ Category::FromKnownCategory(KnownCategories::BREAKING_NEWS)),
+ category_status_(CategoryStatus::INITIALIZING) {}
+
+BreakingNewsSuggestionsProvider::~BreakingNewsSuggestionsProvider() {
+ gcm_app_handler_->StopListening();
+}
+
+void BreakingNewsSuggestionsProvider::Start() {
+ // Unretained because |this| owns |gcm_app_handler_|.
+ gcm_app_handler_->StartListening(
+ base::Bind(&BreakingNewsSuggestionsProvider::OnNewContentSuggestion,
+ base::Unretained(this)));
+}
+
+void BreakingNewsSuggestionsProvider::OnNewContentSuggestion(
+ const base::Value& content) {}
+
+////////////////////////////////////////////////////////////////////////////////
+// Private methods
+
+CategoryStatus BreakingNewsSuggestionsProvider::GetCategoryStatus(
+ Category category) {
+ DCHECK_EQ(category, provided_category_);
+ return category_status_;
+}
+
+CategoryInfo BreakingNewsSuggestionsProvider::GetCategoryInfo(
+ Category category) {
+ // TODO(mamir): needs to be corrected, just a placeholer
+ return CategoryInfo(base::string16(),
+ ContentSuggestionsCardLayout::MINIMAL_CARD,
+ ContentSuggestionsAdditionalAction::VIEW_ALL,
+ /*show_if_empty=*/false, base::string16());
+}
+
+void BreakingNewsSuggestionsProvider::DismissSuggestion(
+ const ContentSuggestion::ID& suggestion_id) {}
+
+void BreakingNewsSuggestionsProvider::FetchSuggestionImage(
+ const ContentSuggestion::ID& suggestion_id,
+ const ImageFetchedCallback& callback) {}
+
+void BreakingNewsSuggestionsProvider::Fetch(
+ const Category& category,
+ const std::set<std::string>& known_suggestion_ids,
+ const FetchDoneCallback& callback) {}
+
+void BreakingNewsSuggestionsProvider::ClearHistory(
+ base::Time begin,
+ base::Time end,
+ const base::Callback<bool(const GURL& url)>& filter) {
+ // TODO(mamir): clear the provider.
+}
+
+void BreakingNewsSuggestionsProvider::ClearCachedSuggestions(
+ Category category) {
+ DCHECK_EQ(category, provided_category_);
+ // TODO(mamir): clear the cached suggestions.
+}
+
+void BreakingNewsSuggestionsProvider::GetDismissedSuggestionsForDebugging(
+ Category category,
+ const DismissedSuggestionsCallback& callback) {}
+
+void BreakingNewsSuggestionsProvider::ClearDismissedSuggestionsForDebugging(
+ Category category) {}
+
+} // namespace ntp_snippets

Powered by Google App Engine
This is Rietveld 408576698