| 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 "content/utility/utility_process_control_impl.h" | 5 #include "content/utility/utility_process_control_impl.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "content/public/common/content_client.h" | 8 #include "content/public/common/content_client.h" |
| 9 #include "content/public/utility/content_utility_client.h" | 9 #include "content/public/utility/content_utility_client.h" |
| 10 #include "content/public/utility/utility_thread.h" | 10 #include "content/public/utility/utility_thread.h" |
| 11 #include "content/utility/utility_thread_impl.h" | 11 #include "content/utility/utility_thread_impl.h" |
| 12 | 12 |
| 13 #if defined(ENABLE_MOJO_MEDIA_IN_UTILITY_PROCESS) | 13 #if defined(ENABLE_MOJO_MEDIA_IN_UTILITY_PROCESS) |
| 14 #include "media/mojo/services/mojo_media_application_factory.h" | 14 #include "media/mojo/services/mojo_media_application_factory.h" |
| 15 #endif | 15 #endif |
| 16 | 16 |
| 17 namespace content { | 17 namespace content { |
| 18 | 18 |
| 19 UtilityProcessControlImpl::UtilityProcessControlImpl() {} | 19 UtilityProcessControlImpl::UtilityProcessControlImpl() {} |
| 20 | 20 |
| 21 UtilityProcessControlImpl::~UtilityProcessControlImpl() {} | 21 UtilityProcessControlImpl::~UtilityProcessControlImpl() {} |
| 22 | 22 |
| 23 void UtilityProcessControlImpl::RegisterApplicationFactories( | 23 void UtilityProcessControlImpl::RegisterApplications(ApplicationMap* apps) { |
| 24 ApplicationFactoryMap* factories) { | 24 GetContentClient()->utility()->RegisterMojoApplications(apps); |
| 25 ContentUtilityClient::StaticMojoApplicationMap apps; | |
| 26 GetContentClient()->utility()->RegisterMojoApplications(&apps); | |
| 27 for (const auto& entry : apps) | |
| 28 factories->insert(std::make_pair(entry.first, entry.second)); | |
| 29 | 25 |
| 30 #if defined(ENABLE_MOJO_MEDIA_IN_UTILITY_PROCESS) | 26 #if defined(ENABLE_MOJO_MEDIA_IN_UTILITY_PROCESS) |
| 31 factories->insert(std::make_pair( | 27 MojoApplicationInfo app_info; |
| 32 "mojo:media", base::Bind(&media::CreateMojoMediaApplication))); | 28 app_info.application_factory = base::Bind(&media::CreateMojoMediaApplication); |
| 29 apps->insert(std::make_pair("mojo:media", app_info)); |
| 33 #endif | 30 #endif |
| 34 } | 31 } |
| 35 | 32 |
| 36 void UtilityProcessControlImpl::OnApplicationQuit() { | 33 void UtilityProcessControlImpl::OnApplicationQuit() { |
| 37 UtilityThread::Get()->ReleaseProcessIfNeeded(); | 34 UtilityThread::Get()->ReleaseProcessIfNeeded(); |
| 38 } | 35 } |
| 39 | 36 |
| 40 void UtilityProcessControlImpl::OnLoadFailed() { | 37 void UtilityProcessControlImpl::OnLoadFailed() { |
| 41 UtilityThreadImpl* utility_thread = | 38 UtilityThreadImpl* utility_thread = |
| 42 static_cast<UtilityThreadImpl*>(UtilityThread::Get()); | 39 static_cast<UtilityThreadImpl*>(UtilityThread::Get()); |
| 43 utility_thread->Shutdown(); | 40 utility_thread->Shutdown(); |
| 44 utility_thread->ReleaseProcessIfNeeded(); | 41 utility_thread->ReleaseProcessIfNeeded(); |
| 45 } | 42 } |
| 46 | 43 |
| 47 } // namespace content | 44 } // namespace content |
| OLD | NEW |