diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-10-12 14:27:29 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-10-13 09:35:20 +0000 |
commit | c30a6232df03e1efbd9f3b226777b07e087a1122 (patch) | |
tree | e992f45784689f373bcc38d1b79a239ebe17ee23 /chromium/content/app/service_manager_environment.cc | |
parent | 7b5b123ac58f58ffde0f4f6e488bcd09aa4decd3 (diff) | |
download | qtwebengine-chromium-85-based.tar.gz |
BASELINE: Update Chromium to 85.0.4183.14085-based
Change-Id: Iaa42f4680837c57725b1344f108c0196741f6057
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/content/app/service_manager_environment.cc')
-rw-r--r-- | chromium/content/app/service_manager_environment.cc | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/chromium/content/app/service_manager_environment.cc b/chromium/content/app/service_manager_environment.cc index bcb71ae479b..0a67ac3cd89 100644 --- a/chromium/content/app/service_manager_environment.cc +++ b/chromium/content/app/service_manager_environment.cc @@ -6,10 +6,12 @@ #include <utility> +#include "base/command_line.h" #include "build/build_config.h" #include "content/browser/browser_process_sub_thread.h" #include "content/browser/service_manager/service_manager_context.h" #include "content/browser/startup_data_impl.h" +#include "content/common/mojo_core_library_support.h" #include "content/public/common/content_features.h" #include "content/public/common/service_manager_connection.h" #include "mojo/core/embedder/embedder.h" @@ -22,13 +24,18 @@ ServiceManagerEnvironment::ServiceManagerEnvironment( : io_thread_(std::move(io_thread)) { scoped_refptr<base::SingleThreadTaskRunner> mojo_ipc_task_runner = io_thread_->task_runner(); - if (base::FeatureList::IsEnabled(features::kMojoDedicatedThread)) { - mojo_ipc_thread_.StartWithOptions( - base::Thread::Options(base::MessagePumpType::IO, 0)); - mojo_ipc_task_runner = mojo_ipc_thread_.task_runner(); + if (!IsMojoCoreSharedLibraryEnabled()) { + // NOTE: If Mojo Core was loaded via shared library, IPC support is already + // initialized. + if (base::FeatureList::IsEnabled(features::kMojoDedicatedThread)) { + mojo_ipc_thread_.StartWithOptions( + base::Thread::Options(base::MessagePumpType::IO, 0)); + mojo_ipc_task_runner = mojo_ipc_thread_.task_runner(); + } + mojo_ipc_support_ = std::make_unique<mojo::core::ScopedIPCSupport>( + mojo_ipc_task_runner, + mojo::core::ScopedIPCSupport::ShutdownPolicy::FAST); } - mojo_ipc_support_ = std::make_unique<mojo::core::ScopedIPCSupport>( - mojo_ipc_task_runner, mojo::core::ScopedIPCSupport::ShutdownPolicy::FAST); service_manager_context_ = std::make_unique<ServiceManagerContext>(io_thread_->task_runner()); ServiceManagerConnection::GetForProcess()->Start(); |