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 "chrome/browser/media/router/media_router_factory.h" | 5 #include "chrome/browser/media/router/media_router_factory.h" |
6 | 6 |
7 #include "build/build_config.h" | 7 #include "build/build_config.h" |
8 #include "chrome/browser/profiles/incognito_helpers.h" | 8 #include "chrome/browser/profiles/incognito_helpers.h" |
9 #include "chrome/browser/profiles/profile.h" | 9 #include "chrome/browser/profiles/profile.h" |
10 #include "components/keyed_service/content/browser_context_dependency_manager.h" | 10 #include "components/keyed_service/content/browser_context_dependency_manager.h" |
(...skipping 20 matching lines...) Expand all Loading... |
31 // static | 31 // static |
32 MediaRouter* MediaRouterFactory::GetApiForBrowserContext( | 32 MediaRouter* MediaRouterFactory::GetApiForBrowserContext( |
33 BrowserContext* context) { | 33 BrowserContext* context) { |
34 DCHECK(context); | 34 DCHECK(context); |
35 // GetServiceForBrowserContext returns a KeyedService hence the static_cast<> | 35 // GetServiceForBrowserContext returns a KeyedService hence the static_cast<> |
36 // to return a pointer to MediaRouter. | 36 // to return a pointer to MediaRouter. |
37 return static_cast<MediaRouter*>( | 37 return static_cast<MediaRouter*>( |
38 service_factory.Get().GetServiceForBrowserContext(context, true)); | 38 service_factory.Get().GetServiceForBrowserContext(context, true)); |
39 } | 39 } |
40 | 40 |
| 41 // static |
| 42 MediaRouterFactory* MediaRouterFactory::GetInstance() { |
| 43 return &service_factory.Get(); |
| 44 } |
| 45 |
41 void MediaRouterFactory::BrowserContextShutdown( | 46 void MediaRouterFactory::BrowserContextShutdown( |
42 content::BrowserContext* context) { | 47 content::BrowserContext* context) { |
43 if (context->IsOffTheRecord()) { | 48 if (context->IsOffTheRecord()) { |
44 MediaRouter* router = | 49 MediaRouter* router = |
45 static_cast<MediaRouter*>(GetServiceForBrowserContext(context, false)); | 50 static_cast<MediaRouter*>(GetServiceForBrowserContext(context, false)); |
46 if (router) | 51 if (router) |
47 router->OnIncognitoProfileShutdown(); | 52 router->OnIncognitoProfileShutdown(); |
48 } | 53 } |
49 BrowserContextKeyedServiceFactory::BrowserContextShutdown(context); | 54 BrowserContextKeyedServiceFactory::BrowserContextShutdown(context); |
50 } | 55 } |
51 | 56 |
52 MediaRouterFactory::MediaRouterFactory() | 57 MediaRouterFactory::MediaRouterFactory() |
53 : BrowserContextKeyedServiceFactory( | 58 : BrowserContextKeyedServiceFactory( |
54 "MediaRouter", | 59 "MediaRouter", |
55 BrowserContextDependencyManager::GetInstance()) { | 60 BrowserContextDependencyManager::GetInstance()) { |
56 #if !defined(OS_ANDROID) | 61 #if !defined(OS_ANDROID) |
57 // On desktop platforms, MediaRouter depends on ProcessManager. | 62 // On desktop platforms, MediaRouter depends on ProcessManager. |
58 DependsOn(extensions::ProcessManagerFactory::GetInstance()); | 63 DependsOn(extensions::ProcessManagerFactory::GetInstance()); |
59 #endif | 64 #endif |
60 } | 65 } |
61 | 66 |
62 MediaRouterFactory::~MediaRouterFactory() { | 67 MediaRouterFactory::~MediaRouterFactory() { |
63 } | 68 } |
64 | 69 |
65 // static | |
66 MediaRouterFactory* MediaRouterFactory::GetMediaRouterFactoryForTest() { | |
67 return &service_factory.Get(); | |
68 } | |
69 | |
70 content::BrowserContext* MediaRouterFactory::GetBrowserContextToUse( | 70 content::BrowserContext* MediaRouterFactory::GetBrowserContextToUse( |
71 content::BrowserContext* context) const { | 71 content::BrowserContext* context) const { |
72 return chrome::GetBrowserContextRedirectedInIncognito(context); | 72 return chrome::GetBrowserContextRedirectedInIncognito(context); |
73 } | 73 } |
74 | 74 |
75 KeyedService* MediaRouterFactory::BuildServiceInstanceFor( | 75 KeyedService* MediaRouterFactory::BuildServiceInstanceFor( |
76 BrowserContext* context) const { | 76 BrowserContext* context) const { |
77 MediaRouterBase* media_router = nullptr; | 77 MediaRouterBase* media_router = nullptr; |
78 #if defined(OS_ANDROID) | 78 #if defined(OS_ANDROID) |
79 media_router = new MediaRouterAndroid(context); | 79 media_router = new MediaRouterAndroid(context); |
80 #else | 80 #else |
81 media_router = | 81 media_router = |
82 new MediaRouterMojoImpl(extensions::ProcessManager::Get(context)); | 82 new MediaRouterMojoImpl(extensions::ProcessManager::Get(context)); |
83 #endif | 83 #endif |
84 media_router->Initialize(); | 84 media_router->Initialize(); |
85 return media_router; | 85 return media_router; |
86 } | 86 } |
87 | 87 |
88 } // namespace media_router | 88 } // namespace media_router |
OLD | NEW |