OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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/ntp_snippet.h" | 5 #include "components/ntp_snippets/ntp_snippet.h" |
6 | 6 |
7 #include "base/memory/ptr_util.h" | 7 #include "base/memory/ptr_util.h" |
8 #include "base/strings/string_number_conversions.h" | 8 #include "base/strings/string_number_conversions.h" |
9 #include "base/strings/stringprintf.h" | 9 #include "base/strings/stringprintf.h" |
10 #include "base/values.h" | 10 #include "base/values.h" |
(...skipping 23 matching lines...) Expand all Loading... |
34 return url->is_valid(); | 34 return url->is_valid(); |
35 } | 35 } |
36 | 36 |
37 } // namespace | 37 } // namespace |
38 | 38 |
39 namespace ntp_snippets { | 39 namespace ntp_snippets { |
40 | 40 |
41 NTPSnippet::NTPSnippet(const std::string& id) | 41 NTPSnippet::NTPSnippet(const std::string& id) |
42 : id_(id), score_(0), is_dismissed_(false), best_source_index_(0) {} | 42 : id_(id), score_(0), is_dismissed_(false), best_source_index_(0) {} |
43 | 43 |
44 NTPSnippet::~NTPSnippet() {} | 44 NTPSnippet::~NTPSnippet() = default; |
45 | 45 |
46 // static | 46 // static |
47 std::unique_ptr<NTPSnippet> NTPSnippet::CreateFromChromeReaderDictionary( | 47 std::unique_ptr<NTPSnippet> NTPSnippet::CreateFromChromeReaderDictionary( |
48 const base::DictionaryValue& dict) { | 48 const base::DictionaryValue& dict) { |
49 const base::DictionaryValue* content = nullptr; | 49 const base::DictionaryValue* content = nullptr; |
50 if (!dict.GetDictionary("contentInfo", &content)) | 50 if (!dict.GetDictionary("contentInfo", &content)) |
51 return nullptr; | 51 return nullptr; |
52 | 52 |
53 // Need at least the id. | 53 // Need at least the id. |
54 std::string id; | 54 std::string id; |
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
187 snippet->set_dismissed(proto.dismissed()); | 187 snippet->set_dismissed(proto.dismissed()); |
188 | 188 |
189 for (int i = 0; i < proto.sources_size(); ++i) { | 189 for (int i = 0; i < proto.sources_size(); ++i) { |
190 const SnippetSourceProto& source_proto = proto.sources(i); | 190 const SnippetSourceProto& source_proto = proto.sources(i); |
191 GURL url(source_proto.url()); | 191 GURL url(source_proto.url()); |
192 if (!url.is_valid()) { | 192 if (!url.is_valid()) { |
193 // We must at least have a valid source URL. | 193 // We must at least have a valid source URL. |
194 DLOG(WARNING) << "Invalid article url " << source_proto.url(); | 194 DLOG(WARNING) << "Invalid article url " << source_proto.url(); |
195 continue; | 195 continue; |
196 } | 196 } |
197 std::string publisher_name = source_proto.publisher_name(); | |
198 GURL amp_url; | 197 GURL amp_url; |
199 if (source_proto.has_amp_url()) { | 198 if (source_proto.has_amp_url()) { |
200 amp_url = GURL(source_proto.amp_url()); | 199 amp_url = GURL(source_proto.amp_url()); |
201 DLOG_IF(WARNING, !amp_url.is_valid()) << "Invalid AMP URL " | 200 DLOG_IF(WARNING, !amp_url.is_valid()) << "Invalid AMP URL " |
202 << source_proto.amp_url(); | 201 << source_proto.amp_url(); |
203 } | 202 } |
204 | 203 |
205 snippet->add_source(SnippetSource(url, publisher_name, amp_url)); | 204 snippet->add_source( |
| 205 SnippetSource(url, source_proto.publisher_name(), amp_url)); |
206 } | 206 } |
207 | 207 |
208 if (snippet->sources_.empty()) { | 208 if (snippet->sources_.empty()) { |
209 DLOG(WARNING) << "No sources found for article " << snippet->id(); | 209 DLOG(WARNING) << "No sources found for article " << snippet->id(); |
210 return nullptr; | 210 return nullptr; |
211 } | 211 } |
212 | 212 |
213 snippet->FindBestSource(); | 213 snippet->FindBestSource(); |
214 | 214 |
215 return snippet; | 215 return snippet; |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
276 best_source_index_ = i; | 276 best_source_index_ = i; |
277 if (!source.amp_url.is_empty()) { | 277 if (!source.amp_url.is_empty()) { |
278 // This is the best possible source, stop looking. | 278 // This is the best possible source, stop looking. |
279 break; | 279 break; |
280 } | 280 } |
281 } | 281 } |
282 } | 282 } |
283 } | 283 } |
284 | 284 |
285 } // namespace ntp_snippets | 285 } // namespace ntp_snippets |
OLD | NEW |