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

Side by Side Diff: components/offline_pages/core/prefetch/prefetch_service_impl.cc

Issue 2920083002: Prefetching: Introduce store commands abstractions to be used by tasks. (Closed)
Patch Set: Added TODO for NWake 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 unified diff | Download patch
OLDNEW
1 // Copyright 2017 The Chromium Authors. All rights reserved. 1 // Copyright 2017 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/offline_pages/core/prefetch/prefetch_service_impl.h" 5 #include "components/offline_pages/core/prefetch/prefetch_service_impl.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/memory/ptr_util.h" 10 #include "base/memory/ptr_util.h"
11 #include "components/offline_pages/core/prefetch/offline_metrics_collector.h" 11 #include "components/offline_pages/core/prefetch/offline_metrics_collector.h"
12 #include "components/offline_pages/core/prefetch/prefetch_dispatcher.h" 12 #include "components/offline_pages/core/prefetch/prefetch_dispatcher.h"
13 #include "components/offline_pages/core/prefetch/prefetch_dispatcher_impl.h"
13 #include "components/offline_pages/core/prefetch/prefetch_gcm_handler.h" 14 #include "components/offline_pages/core/prefetch/prefetch_gcm_handler.h"
14 #include "components/offline_pages/core/prefetch/prefetch_store.h" 15 #include "components/offline_pages/core/prefetch/store/prefetch_store_command_fa ctory.h"
15 #include "components/offline_pages/core/prefetch/suggested_articles_observer.h" 16 #include "components/offline_pages/core/prefetch/suggested_articles_observer.h"
16 17
17 namespace offline_pages { 18 namespace offline_pages {
18 19
19 PrefetchServiceImpl::PrefetchServiceImpl( 20 PrefetchServiceImpl::PrefetchServiceImpl(
20 std::unique_ptr<OfflineMetricsCollector> offline_metrics_collector, 21 std::unique_ptr<OfflineMetricsCollector> offline_metrics_collector,
21 std::unique_ptr<PrefetchDispatcher> dispatcher, 22 std::unique_ptr<PrefetchDispatcher> dispatcher,
22 std::unique_ptr<PrefetchGCMHandler> gcm_handler, 23 std::unique_ptr<PrefetchGCMHandler> gcm_handler,
23 std::unique_ptr<PrefetchStore> store, 24 std::unique_ptr<PrefetchStoreCommandFactory> store_command_factory,
24 std::unique_ptr<SuggestedArticlesObserver> suggested_articles_observer) 25 std::unique_ptr<SuggestedArticlesObserver> suggested_articles_observer)
25 : offline_metrics_collector_(std::move(offline_metrics_collector)), 26 : offline_metrics_collector_(std::move(offline_metrics_collector)),
26 prefetch_dispatcher_(std::move(dispatcher)), 27 prefetch_dispatcher_(std::move(dispatcher)),
27 prefetch_gcm_handler_(std::move(gcm_handler)), 28 prefetch_gcm_handler_(std::move(gcm_handler)),
28 prefetch_store_(std::move(store)), 29 store_command_factory_(std::move(store_command_factory)),
29 suggested_articles_observer_(std::move(suggested_articles_observer)) { 30 suggested_articles_observer_(std::move(suggested_articles_observer)) {
30 prefetch_dispatcher_->SetService(this); 31 prefetch_dispatcher_->SetService(this);
31 prefetch_gcm_handler_->SetService(this); 32 prefetch_gcm_handler_->SetService(this);
32 } 33 }
33 34
34 PrefetchServiceImpl::~PrefetchServiceImpl() = default; 35 PrefetchServiceImpl::~PrefetchServiceImpl() = default;
35 36
36 OfflineMetricsCollector* PrefetchServiceImpl::GetOfflineMetricsCollector() { 37 OfflineMetricsCollector* PrefetchServiceImpl::GetOfflineMetricsCollector() {
37 return offline_metrics_collector_.get(); 38 return offline_metrics_collector_.get();
38 } 39 }
39 40
40 PrefetchDispatcher* PrefetchServiceImpl::GetPrefetchDispatcher() { 41 PrefetchDispatcher* PrefetchServiceImpl::GetPrefetchDispatcher() {
41 return prefetch_dispatcher_.get(); 42 return prefetch_dispatcher_.get();
42 } 43 }
43 44
44 PrefetchGCMHandler* PrefetchServiceImpl::GetPrefetchGCMHandler() { 45 PrefetchGCMHandler* PrefetchServiceImpl::GetPrefetchGCMHandler() {
45 return prefetch_gcm_handler_.get(); 46 return prefetch_gcm_handler_.get();
46 } 47 }
47 48
48 PrefetchStore* PrefetchServiceImpl::GetPrefetchStore() { 49 PrefetchStoreCommandFactory*
49 return prefetch_store_.get(); 50 PrefetchServiceImpl::GetPrefetchStoreCommandFactory() {
51 return store_command_factory_.get();
50 } 52 }
51 53
52 SuggestedArticlesObserver* PrefetchServiceImpl::GetSuggestedArticlesObserver() { 54 SuggestedArticlesObserver* PrefetchServiceImpl::GetSuggestedArticlesObserver() {
53 return suggested_articles_observer_.get(); 55 return suggested_articles_observer_.get();
54 } 56 }
55 57
56 OfflineEventLogger* PrefetchServiceImpl::GetLogger() { 58 OfflineEventLogger* PrefetchServiceImpl::GetLogger() {
57 return &logger_; 59 return &logger_;
58 } 60 }
59 61
60 void PrefetchServiceImpl::Shutdown() { 62 void PrefetchServiceImpl::Shutdown() {
61 suggested_articles_observer_.reset(); 63 suggested_articles_observer_.reset();
62 } 64 }
63 65
64 } // namespace offline_pages 66 } // namespace offline_pages
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698