| 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_snippets_service.h" | 5 #include "components/ntp_snippets/ntp_snippets_service.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <iterator> | 8 #include <iterator> |
| 9 #include <utility> | 9 #include <utility> |
| 10 | 10 |
| (...skipping 677 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 688 | 688 |
| 689 // Fetching from the DB failed; start a network fetch. | 689 // Fetching from the DB failed; start a network fetch. |
| 690 FetchSnippetImageFromNetwork(snippet_id, callback); | 690 FetchSnippetImageFromNetwork(snippet_id, callback); |
| 691 } | 691 } |
| 692 | 692 |
| 693 void NTPSnippetsService::OnSnippetImageDecodedFromDatabase( | 693 void NTPSnippetsService::OnSnippetImageDecodedFromDatabase( |
| 694 const ImageFetchedCallback& callback, | 694 const ImageFetchedCallback& callback, |
| 695 const std::string& snippet_id, | 695 const std::string& snippet_id, |
| 696 const gfx::Image& image) { | 696 const gfx::Image& image) { |
| 697 if (!image.IsEmpty()) { | 697 if (!image.IsEmpty()) { |
| 698 callback.Run(MakeUniqueID(provided_category_, snippet_id), image); | 698 callback.Run(image); |
| 699 return; | 699 return; |
| 700 } | 700 } |
| 701 | 701 |
| 702 // If decoding the image failed, delete the DB entry. | 702 // If decoding the image failed, delete the DB entry. |
| 703 database_->DeleteImage(snippet_id); | 703 database_->DeleteImage(snippet_id); |
| 704 | 704 |
| 705 FetchSnippetImageFromNetwork(snippet_id, callback); | 705 FetchSnippetImageFromNetwork(snippet_id, callback); |
| 706 } | 706 } |
| 707 | 707 |
| 708 void NTPSnippetsService::FetchSnippetImageFromNetwork( | 708 void NTPSnippetsService::FetchSnippetImageFromNetwork( |
| (...skipping 26 matching lines...) Expand all Loading... |
| 735 image_fetcher_->StartOrQueueNetworkRequest( | 735 image_fetcher_->StartOrQueueNetworkRequest( |
| 736 snippet.id(), snippet.salient_image_url(), | 736 snippet.id(), snippet.salient_image_url(), |
| 737 base::Bind(&NTPSnippetsService::OnSnippetImageDecodedFromNetwork, | 737 base::Bind(&NTPSnippetsService::OnSnippetImageDecodedFromNetwork, |
| 738 base::Unretained(this), callback)); | 738 base::Unretained(this), callback)); |
| 739 } | 739 } |
| 740 | 740 |
| 741 void NTPSnippetsService::OnSnippetImageDecodedFromNetwork( | 741 void NTPSnippetsService::OnSnippetImageDecodedFromNetwork( |
| 742 const ImageFetchedCallback& callback, | 742 const ImageFetchedCallback& callback, |
| 743 const std::string& snippet_id, | 743 const std::string& snippet_id, |
| 744 const gfx::Image& image) { | 744 const gfx::Image& image) { |
| 745 callback.Run(MakeUniqueID(provided_category_, snippet_id), image); | 745 callback.Run(image); |
| 746 } | 746 } |
| 747 | 747 |
| 748 void NTPSnippetsService::EnterStateEnabled(bool fetch_snippets) { | 748 void NTPSnippetsService::EnterStateEnabled(bool fetch_snippets) { |
| 749 if (fetch_snippets) | 749 if (fetch_snippets) |
| 750 FetchSnippets(/*force_request=*/false); | 750 FetchSnippets(/*force_request=*/false); |
| 751 | 751 |
| 752 // FetchSnippets should set the status to |AVAILABLE_LOADING| if relevant, | 752 // FetchSnippets should set the status to |AVAILABLE_LOADING| if relevant, |
| 753 // otherwise we transition to |AVAILABLE| here. | 753 // otherwise we transition to |AVAILABLE| here. |
| 754 if (category_status_ != CategoryStatus::AVAILABLE_LOADING) | 754 if (category_status_ != CategoryStatus::AVAILABLE_LOADING) |
| 755 UpdateCategoryStatus(CategoryStatus::AVAILABLE); | 755 UpdateCategoryStatus(CategoryStatus::AVAILABLE); |
| (...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 887 void NTPSnippetsService::UpdateCategoryStatus(CategoryStatus status) { | 887 void NTPSnippetsService::UpdateCategoryStatus(CategoryStatus status) { |
| 888 if (status == category_status_) | 888 if (status == category_status_) |
| 889 return; | 889 return; |
| 890 | 890 |
| 891 category_status_ = status; | 891 category_status_ = status; |
| 892 observer()->OnCategoryStatusChanged(this, provided_category_, | 892 observer()->OnCategoryStatusChanged(this, provided_category_, |
| 893 category_status_); | 893 category_status_); |
| 894 } | 894 } |
| 895 | 895 |
| 896 } // namespace ntp_snippets | 896 } // namespace ntp_snippets |
| OLD | NEW |