Chromium Code Reviews| 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 "chrome/browser/media/router/media_router_ui_service_factory.h" | 5 #include "chrome/browser/media/router/media_router_ui_service_factory.h" |
| 6 | 6 |
| 7 #include "chrome/browser/media/router/media_router_factory.h" | 7 #include "chrome/browser/media/router/media_router_factory.h" |
| 8 #include "chrome/browser/media/router/media_router_ui_service.h" | 8 #include "chrome/browser/media/router/media_router_ui_service.h" |
| 9 #include "chrome/browser/profiles/profile.h" | 9 #include "chrome/browser/profiles/profile.h" |
| 10 #include "chrome/browser/ui/toolbar/toolbar_actions_model_factory.h" | 10 #include "chrome/browser/ui/toolbar/toolbar_actions_model_factory.h" |
| 11 #include "components/keyed_service/content/browser_context_dependency_manager.h" | 11 #include "components/keyed_service/content/browser_context_dependency_manager.h" |
| 12 | 12 |
| 13 using content::BrowserContext; | 13 using content::BrowserContext; |
| 14 | 14 |
| 15 namespace { | |
| 16 bool use_in_tests = false; | |
| 17 } | |
| 18 | |
| 15 namespace media_router { | 19 namespace media_router { |
| 16 | 20 |
| 17 // static | 21 // static |
| 18 MediaRouterUIService* MediaRouterUIServiceFactory::GetForBrowserContext( | 22 MediaRouterUIService* MediaRouterUIServiceFactory::GetForBrowserContext( |
| 19 BrowserContext* context) { | 23 BrowserContext* context) { |
| 20 DCHECK(context); | 24 DCHECK(context); |
| 21 return static_cast<MediaRouterUIService*>( | 25 return static_cast<MediaRouterUIService*>( |
| 22 GetInstance()->GetServiceForBrowserContext(context, true)); | 26 GetInstance()->GetServiceForBrowserContext(context, true)); |
| 23 } | 27 } |
| 24 | 28 |
| 25 // static | 29 // static |
| 26 MediaRouterUIServiceFactory* MediaRouterUIServiceFactory::GetInstance() { | 30 MediaRouterUIServiceFactory* MediaRouterUIServiceFactory::GetInstance() { |
| 27 return base::Singleton<MediaRouterUIServiceFactory>::get(); | 31 return base::Singleton<MediaRouterUIServiceFactory>::get(); |
| 28 } | 32 } |
| 29 | 33 |
| 34 // static | |
| 35 void MediaRouterUIServiceFactory::SetUseInTests() { | |
| 36 use_in_tests = true; | |
|
Devlin
2016/09/20 21:55:48
Drive-by: this is a little unconventional (and is
takumif
2016/09/20 23:38:10
Changed to calling BuildServiceInstanceFor() direc
| |
| 37 } | |
| 38 | |
| 30 MediaRouterUIServiceFactory::MediaRouterUIServiceFactory() | 39 MediaRouterUIServiceFactory::MediaRouterUIServiceFactory() |
| 31 : BrowserContextKeyedServiceFactory( | 40 : BrowserContextKeyedServiceFactory( |
| 32 "MediaRouterUIService", | 41 "MediaRouterUIService", |
| 33 BrowserContextDependencyManager::GetInstance()) { | 42 BrowserContextDependencyManager::GetInstance()) { |
| 34 DependsOn(MediaRouterFactory::GetInstance()); | 43 DependsOn(MediaRouterFactory::GetInstance()); |
| 35 // MediaRouterUIService owns a MediaRouterActionController that depends on | 44 // MediaRouterUIService owns a MediaRouterActionController that depends on |
| 36 // ToolbarActionsModel. | 45 // ToolbarActionsModel. |
| 37 DependsOn(ToolbarActionsModelFactory::GetInstance()); | 46 DependsOn(ToolbarActionsModelFactory::GetInstance()); |
| 38 } | 47 } |
| 39 | 48 |
| 40 MediaRouterUIServiceFactory::~MediaRouterUIServiceFactory() {} | 49 MediaRouterUIServiceFactory::~MediaRouterUIServiceFactory() {} |
| 41 | 50 |
| 42 BrowserContext* MediaRouterUIServiceFactory::GetBrowserContextToUse( | 51 BrowserContext* MediaRouterUIServiceFactory::GetBrowserContextToUse( |
| 43 BrowserContext* context) const { | 52 BrowserContext* context) const { |
| 44 return context; | 53 return context; |
| 45 } | 54 } |
| 46 | 55 |
| 47 KeyedService* MediaRouterUIServiceFactory::BuildServiceInstanceFor( | 56 KeyedService* MediaRouterUIServiceFactory::BuildServiceInstanceFor( |
| 48 BrowserContext* context) const { | 57 BrowserContext* context) const { |
| 49 return new MediaRouterUIService(Profile::FromBrowserContext(context)); | 58 return new MediaRouterUIService(Profile::FromBrowserContext(context)); |
| 50 } | 59 } |
| 51 | 60 |
| 61 bool MediaRouterUIServiceFactory::ServiceIsCreatedWithBrowserContext() const { | |
| 62 #if defined(ENABLE_MEDIA_ROUTER) && !defined(OS_ANDROID) | |
| 63 return true; | |
| 64 #else | |
| 65 return false; | |
| 66 #endif | |
| 67 } | |
| 68 | |
| 69 bool MediaRouterUIServiceFactory::ServiceIsNULLWhileTesting() const { | |
| 70 return !use_in_tests; | |
| 71 } | |
| 72 | |
| 52 } // namespace media_router | 73 } // namespace media_router |
| OLD | NEW |