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

Unified Diff: components/ntp_snippets/ntp_snippet.cc

Issue 1922083004: Allow fetching personalized snippets from ChromeReader. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase update Created 4 years, 7 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/ntp_snippet.cc
diff --git a/components/ntp_snippets/ntp_snippet.cc b/components/ntp_snippets/ntp_snippet.cc
index fa2f43fefd16172b524c79b906e043ec97745a12..e34adae5349d4fb4d32eee69d57d302bf52d63ad 100644
--- a/components/ntp_snippets/ntp_snippet.cc
+++ b/components/ntp_snippets/ntp_snippet.cc
@@ -10,6 +10,9 @@
namespace {
+const char kScore[] = "score";
+const char kContentInfo[] = "contentInfo";
+
const char kUrl[] = "url";
const char kTitle[] = "title";
const char kSalientImageUrl[] = "thumbnailUrl";
@@ -35,9 +38,13 @@ NTPSnippet::~NTPSnippet() {}
// static
std::unique_ptr<NTPSnippet> NTPSnippet::CreateFromDictionary(
const base::DictionaryValue& dict) {
+ const base::DictionaryValue* content = nullptr;
+ if (!dict.GetDictionary(kContentInfo, &content))
+ return nullptr;
+
// Need at least the url.
std::string url_str;
- if (!dict.GetString("url", &url_str))
+ if (!content->GetString("url", &url_str))
return nullptr;
GURL url(url_str);
if (!url.is_valid())
@@ -46,24 +53,24 @@ std::unique_ptr<NTPSnippet> NTPSnippet::CreateFromDictionary(
std::unique_ptr<NTPSnippet> snippet(new NTPSnippet(url));
std::string title;
- if (dict.GetString(kTitle, &title))
+ if (content->GetString(kTitle, &title))
snippet->set_title(title);
std::string salient_image_url;
- if (dict.GetString(kSalientImageUrl, &salient_image_url))
+ if (content->GetString(kSalientImageUrl, &salient_image_url))
snippet->set_salient_image_url(GURL(salient_image_url));
std::string snippet_str;
- if (dict.GetString(kSnippet, &snippet_str))
+ if (content->GetString(kSnippet, &snippet_str))
snippet->set_snippet(snippet_str);
// The creation and expiry timestamps are uint64s which are stored as strings.
std::string creation_timestamp_str;
- if (dict.GetString(kPublishDate, &creation_timestamp_str))
+ if (content->GetString(kPublishDate, &creation_timestamp_str))
snippet->set_publish_date(TimeFromJsonString(creation_timestamp_str));
std::string expiry_timestamp_str;
- if (dict.GetString(kExpiryDate, &expiry_timestamp_str))
+ if (content->GetString(kExpiryDate, &expiry_timestamp_str))
snippet->set_expiry_date(TimeFromJsonString(expiry_timestamp_str));
const base::ListValue* corpus_infos_list = nullptr;
- if (!dict.GetList(kSourceCorpusInfo, &corpus_infos_list)) {
+ if (!content->GetList(kSourceCorpusInfo, &corpus_infos_list)) {
DLOG(WARNING) << "No sources found for article " << title;
return nullptr;
}
@@ -136,26 +143,29 @@ std::unique_ptr<NTPSnippet> NTPSnippet::CreateFromDictionary(
return nullptr;
}
+ double score;
+ if (dict.GetDouble(kScore, &score))
+ snippet->set_score(score);
+
return snippet;
}
std::unique_ptr<base::DictionaryValue> NTPSnippet::ToDictionary() const {
- std::unique_ptr<base::DictionaryValue> dict(new base::DictionaryValue);
+ std::unique_ptr<base::DictionaryValue> content(new base::DictionaryValue);
- dict->SetString(kUrl, url_.spec());
+ content->SetString(kUrl, url_.spec());
if (!title_.empty())
- dict->SetString(kTitle, title_);
+ content->SetString(kTitle, title_);
if (salient_image_url_.is_valid())
- dict->SetString(kSalientImageUrl, salient_image_url_.spec());
+ content->SetString(kSalientImageUrl, salient_image_url_.spec());
if (!snippet_.empty())
- dict->SetString(kSnippet, snippet_);
+ content->SetString(kSnippet, snippet_);
if (!publish_date_.is_null())
- dict->SetString(kPublishDate, TimeToJsonString(publish_date_));
+ content->SetString(kPublishDate, TimeToJsonString(publish_date_));
if (!expiry_date_.is_null())
- dict->SetString(kExpiryDate, TimeToJsonString(expiry_date_));
-
- std::unique_ptr<base::ListValue> corpus_infos_list(new base::ListValue);
- for (const SnippetSource& source : sources_) {
+ content->SetString(kExpiryDate, TimeToJsonString(expiry_date_));
+ if (amp_url_.is_valid()) {
+ std::unique_ptr<base::ListValue> corpus_infos_list(new base::ListValue);
std::unique_ptr<base::DictionaryValue> corpus_info_dict(
new base::DictionaryValue);
@@ -172,6 +182,11 @@ std::unique_ptr<base::DictionaryValue> NTPSnippet::ToDictionary() const {
dict->Set(kSourceCorpusInfo, std::move(corpus_infos_list));
+ std::unique_ptr<base::DictionaryValue> dict(new base::DictionaryValue);
+ dict->Set(kContentInfo, std::move(content));
+
+ dict->SetDouble(kScore, score_);
+
return dict;
}

Powered by Google App Engine
This is Rietveld 408576698