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

Side by Side Diff: chrome/browser/offline_pages/prefetch/prefetch_service_factory.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 "chrome/browser/offline_pages/prefetch/prefetch_service_factory.h" 5 #include "chrome/browser/offline_pages/prefetch/prefetch_service_factory.h"
6 6
7 #include <memory> 7 #include <memory>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/memory/ptr_util.h" 10 #include "base/memory/ptr_util.h"
11 #include "base/memory/singleton.h" 11 #include "base/memory/singleton.h"
12 #include "chrome/browser/offline_pages/prefetch/offline_metrics_collector_impl.h " 12 #include "chrome/browser/offline_pages/prefetch/offline_metrics_collector_impl.h "
13 #include "chrome/browser/offline_pages/prefetch/prefetch_instance_id_proxy.h" 13 #include "chrome/browser/offline_pages/prefetch/prefetch_instance_id_proxy.h"
14 #include "components/keyed_service/content/browser_context_dependency_manager.h" 14 #include "components/keyed_service/content/browser_context_dependency_manager.h"
15 #include "components/offline_pages/core/prefetch/prefetch_dispatcher_impl.h" 15 #include "components/offline_pages/core/prefetch/prefetch_dispatcher_impl.h"
16 #include "components/offline_pages/core/prefetch/prefetch_gcm_app_handler.h" 16 #include "components/offline_pages/core/prefetch/prefetch_gcm_app_handler.h"
17 #include "components/offline_pages/core/prefetch/prefetch_in_memory_store.h"
18 #include "components/offline_pages/core/prefetch/prefetch_service_impl.h" 17 #include "components/offline_pages/core/prefetch/prefetch_service_impl.h"
18 #include "components/offline_pages/core/prefetch/store/prefetch_store_command_fa ctory.h"
19 #include "components/offline_pages/core/prefetch/suggested_articles_observer.h" 19 #include "components/offline_pages/core/prefetch/suggested_articles_observer.h"
20 #include "content/public/browser/browser_context.h" 20 #include "content/public/browser/browser_context.h"
21 21
22 namespace offline_pages { 22 namespace offline_pages {
23 23
24 PrefetchServiceFactory::PrefetchServiceFactory() 24 PrefetchServiceFactory::PrefetchServiceFactory()
25 : BrowserContextKeyedServiceFactory( 25 : BrowserContextKeyedServiceFactory(
26 "OfflinePagePrefetchService", 26 "OfflinePagePrefetchService",
27 BrowserContextDependencyManager::GetInstance()) {} 27 BrowserContextDependencyManager::GetInstance()) {}
28 // static 28 // static
(...skipping 11 matching lines...) Expand all
40 KeyedService* PrefetchServiceFactory::BuildServiceInstanceFor( 40 KeyedService* PrefetchServiceFactory::BuildServiceInstanceFor(
41 content::BrowserContext* context) const { 41 content::BrowserContext* context) const {
42 auto prefetch_dispatcher = base::MakeUnique<PrefetchDispatcherImpl>(); 42 auto prefetch_dispatcher = base::MakeUnique<PrefetchDispatcherImpl>();
43 auto prefetch_gcm_app_handler = base::MakeUnique<PrefetchGCMAppHandler>( 43 auto prefetch_gcm_app_handler = base::MakeUnique<PrefetchGCMAppHandler>(
44 base::MakeUnique<PrefetchInstanceIDProxy>(kPrefetchingOfflinePagesAppId, 44 base::MakeUnique<PrefetchInstanceIDProxy>(kPrefetchingOfflinePagesAppId,
45 context)); 45 context));
46 auto offline_metrics_collector = 46 auto offline_metrics_collector =
47 base::MakeUnique<OfflineMetricsCollectorImpl>(); 47 base::MakeUnique<OfflineMetricsCollectorImpl>();
48 auto suggested_articles_observer = 48 auto suggested_articles_observer =
49 base::MakeUnique<SuggestedArticlesObserver>(prefetch_dispatcher.get()); 49 base::MakeUnique<SuggestedArticlesObserver>(prefetch_dispatcher.get());
50 auto in_memory_store = base::MakeUnique<PrefetchInMemoryStore>(); 50 // TODO: Instantiate an actual factory once one exists.
dewittj 2017/06/15 22:46:49 nit: This makes prefetching crash if enabled. Not
carlosk 2017/06/16 01:06:58 Is it OK to leave it like that or would you prefer
51 std::unique_ptr<PrefetchStoreCommandFactory> store_command_factory;
51 52
52 return new PrefetchServiceImpl( 53 return new PrefetchServiceImpl(
53 std::move(offline_metrics_collector), std::move(prefetch_dispatcher), 54 std::move(offline_metrics_collector), std::move(prefetch_dispatcher),
54 std::move(prefetch_gcm_app_handler), std::move(in_memory_store), 55 std::move(prefetch_gcm_app_handler), std::move(store_command_factory),
55 std::move(suggested_articles_observer)); 56 std::move(suggested_articles_observer));
56 } 57 }
57 58
58 } // namespace offline_pages 59 } // namespace offline_pages
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698