| Index: components/arc/arc_service_manager.cc
|
| diff --git a/components/arc/arc_service_manager.cc b/components/arc/arc_service_manager.cc
|
| index d649cf30cff8376072d06ca49f0717acd06fb3ec..f3e07a8bd936772a0ce1ce0f891c01c8b02dc231 100644
|
| --- a/components/arc/arc_service_manager.cc
|
| +++ b/components/arc/arc_service_manager.cc
|
| @@ -23,14 +23,23 @@ namespace {
|
| // Weak pointer. This class is owned by ChromeBrowserMainPartsChromeos.
|
| ArcServiceManager* g_arc_service_manager = nullptr;
|
|
|
| +// This pointer is owned by ArcServiceManager.
|
| +ArcBridgeService* g_arc_bridge_service_for_testing = nullptr;
|
| +
|
| } // namespace
|
|
|
| -ArcServiceManager::ArcServiceManager()
|
| - : arc_bridge_service_(
|
| - new ArcBridgeServiceImpl(ArcBridgeBootstrap::Create())) {
|
| +ArcServiceManager::ArcServiceManager() {
|
| DCHECK(!g_arc_service_manager);
|
| g_arc_service_manager = this;
|
|
|
| + if (g_arc_bridge_service_for_testing) {
|
| + arc_bridge_service_.reset(g_arc_bridge_service_for_testing);
|
| + g_arc_bridge_service_for_testing = nullptr;
|
| + } else {
|
| + arc_bridge_service_.reset(new ArcBridgeServiceImpl(
|
| + ArcBridgeBootstrap::Create()));
|
| + }
|
| +
|
| AddService(make_scoped_ptr(new ArcClipboardBridge(arc_bridge_service())));
|
| AddService(
|
| make_scoped_ptr(new ArcCrashCollectorBridge(arc_bridge_service())));
|
| @@ -44,6 +53,9 @@ ArcServiceManager::~ArcServiceManager() {
|
| DCHECK(thread_checker_.CalledOnValidThread());
|
| DCHECK(g_arc_service_manager == this);
|
| g_arc_service_manager = nullptr;
|
| + if (g_arc_bridge_service_for_testing) {
|
| + delete g_arc_bridge_service_for_testing;
|
| + }
|
| }
|
|
|
| // static
|
| @@ -72,4 +84,13 @@ void ArcServiceManager::OnPrimaryUserProfilePrepared(
|
| new ArcNotificationManager(arc_bridge_service(), account_id)));
|
| }
|
|
|
| +//static
|
| +void ArcServiceManager::SetArcBridgeServiceForTesting(
|
| + scoped_ptr<ArcBridgeService> arc_bridge_service) {
|
| + if (g_arc_bridge_service_for_testing) {
|
| + delete g_arc_bridge_service_for_testing;
|
| + }
|
| + g_arc_bridge_service_for_testing = arc_bridge_service.release();
|
| +}
|
| +
|
| } // namespace arc
|
|
|