| OLD | NEW |
| 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/physical_web_pages/physical_web_page_suggestio
ns_provider.h" | 5 #include "components/ntp_snippets/physical_web_pages/physical_web_page_suggestio
ns_provider.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <memory> | 8 #include <memory> |
| 9 #include <set> | 9 #include <set> |
| 10 #include <string> | 10 #include <string> |
| (...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 235 } | 235 } |
| 236 suggestions.push_back(ConvertPhysicalWebPage(*page_dictionary)); | 236 suggestions.push_back(ConvertPhysicalWebPage(*page_dictionary)); |
| 237 } | 237 } |
| 238 | 238 |
| 239 return suggestions; | 239 return suggestions; |
| 240 } | 240 } |
| 241 | 241 |
| 242 ContentSuggestion PhysicalWebPageSuggestionsProvider::ConvertPhysicalWebPage( | 242 ContentSuggestion PhysicalWebPageSuggestionsProvider::ConvertPhysicalWebPage( |
| 243 const DictionaryValue& page) const { | 243 const DictionaryValue& page) const { |
| 244 std::string scanned_url, raw_resolved_url, title, description; | 244 std::string scanned_url, raw_resolved_url, title, description; |
| 245 int scan_timestamp; | |
| 246 bool success = page.GetString(physical_web::kScannedUrlKey, &scanned_url); | 245 bool success = page.GetString(physical_web::kScannedUrlKey, &scanned_url); |
| 247 success = page.GetInteger(physical_web::kScanTimestampKey, &scan_timestamp) && | |
| 248 success; | |
| 249 success = page.GetString(physical_web::kResolvedUrlKey, &raw_resolved_url) && | 246 success = page.GetString(physical_web::kResolvedUrlKey, &raw_resolved_url) && |
| 250 success; | 247 success; |
| 251 success = page.GetString(physical_web::kTitleKey, &title) && success; | 248 success = page.GetString(physical_web::kTitleKey, &title) && success; |
| 252 success = | 249 success = |
| 253 page.GetString(physical_web::kDescriptionKey, &description) && success; | 250 page.GetString(physical_web::kDescriptionKey, &description) && success; |
| 254 if (!success) { | 251 if (!success) { |
| 255 LOG(DFATAL) << "Expected field is missing."; | 252 LOG(DFATAL) << "Expected field is missing."; |
| 256 } | 253 } |
| 257 | 254 |
| 258 const GURL resolved_url(raw_resolved_url); | 255 const GURL resolved_url(raw_resolved_url); |
| 259 ContentSuggestion suggestion(provided_category_, GetPageId(page), | 256 ContentSuggestion suggestion(provided_category_, GetPageId(page), |
| 260 resolved_url); | 257 resolved_url); |
| 261 DCHECK(base::IsStringUTF8(title)); | 258 DCHECK(base::IsStringUTF8(title)); |
| 262 suggestion.set_title(base::UTF8ToUTF16(title)); | 259 suggestion.set_title(base::UTF8ToUTF16(title)); |
| 263 // TODO(vitaliii): Set the time properly once the proper value is provided | |
| 264 // (see crbug.com/667722). | |
| 265 suggestion.set_publish_date( | |
| 266 base::Time::FromTimeT(static_cast<time_t>(scan_timestamp))); | |
| 267 suggestion.set_publisher_name(base::UTF8ToUTF16(resolved_url.host())); | 260 suggestion.set_publisher_name(base::UTF8ToUTF16(resolved_url.host())); |
| 268 DCHECK(base::IsStringUTF8(description)); | 261 DCHECK(base::IsStringUTF8(description)); |
| 269 suggestion.set_snippet_text(base::UTF8ToUTF16(description)); | 262 suggestion.set_snippet_text(base::UTF8ToUTF16(description)); |
| 270 return suggestion; | 263 return suggestion; |
| 271 } | 264 } |
| 272 | 265 |
| 273 // PhysicalWebListener implementation. | 266 // PhysicalWebListener implementation. |
| 274 void PhysicalWebPageSuggestionsProvider::OnFound(const GURL& url) { | 267 void PhysicalWebPageSuggestionsProvider::OnFound(const GURL& url) { |
| 275 FetchPhysicalWebPages(); | 268 FetchPhysicalWebPages(); |
| 276 } | 269 } |
| (...skipping 29 matching lines...) Expand all Loading... |
| 306 } | 299 } |
| 307 | 300 |
| 308 void PhysicalWebPageSuggestionsProvider::StoreDismissedIDsToPrefs( | 301 void PhysicalWebPageSuggestionsProvider::StoreDismissedIDsToPrefs( |
| 309 const std::set<std::string>& dismissed_ids) { | 302 const std::set<std::string>& dismissed_ids) { |
| 310 prefs::StoreDismissedIDsToPrefs(pref_service_, | 303 prefs::StoreDismissedIDsToPrefs(pref_service_, |
| 311 prefs::kDismissedPhysicalWebPageSuggestions, | 304 prefs::kDismissedPhysicalWebPageSuggestions, |
| 312 dismissed_ids); | 305 dismissed_ids); |
| 313 } | 306 } |
| 314 | 307 |
| 315 } // namespace ntp_snippets | 308 } // namespace ntp_snippets |
| OLD | NEW |