Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(430)

Unified Diff: content/common/service_manager/embedded_service_runner.cc

Issue 2916823002: Move Mus into chrome's process when running with --mus.
Patch Set: Addressing most feedback, making this work on device. Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/common/service_manager/embedded_service_runner.cc
diff --git a/content/common/service_manager/embedded_service_runner.cc b/content/common/service_manager/embedded_service_runner.cc
index 665a6e388b3569a4996daccbc6f23c4c99d4f9f5..f2ab9949c590dff18af7ee33891e7540f6868c04 100644
--- a/content/common/service_manager/embedded_service_runner.cc
+++ b/content/common/service_manager/embedded_service_runner.cc
@@ -30,6 +30,8 @@ class EmbeddedServiceRunner::InstanceManager
: name_(name.as_string()),
factory_callback_(info.factory),
use_own_thread_(!info.task_runner && info.use_own_thread),
+ message_loop_type_(info.message_loop_type),
+ thread_priority_(info.thread_priority),
quit_closure_(quit_closure),
quit_task_runner_(base::ThreadTaskRunnerHandle::Get()),
service_task_runner_(info.task_runner) {
@@ -40,10 +42,16 @@ class EmbeddedServiceRunner::InstanceManager
void BindServiceRequest(service_manager::mojom::ServiceRequest request) {
DCHECK(runner_thread_checker_.CalledOnValidThread());
+ LOG(ERROR) << "EmbeddedServiceRunner::InstanceManager::BindServiceRequest: "
+ << "name_=" << name_;
if (use_own_thread_ && !thread_) {
+ LOG(ERROR) << 1;
// Start a new thread if necessary.
thread_.reset(new base::Thread(name_));
- thread_->Start();
+ base::Thread::Options options;
+ options.message_loop_type = message_loop_type_;
+ options.priority = thread_priority_;
+ thread_->StartWithOptions(options);
service_task_runner_ = thread_->task_runner();
}
@@ -133,6 +141,8 @@ class EmbeddedServiceRunner::InstanceManager
const std::string name_;
const ServiceInfo::ServiceFactory factory_callback_;
const bool use_own_thread_;
+ base::MessageLoop::Type message_loop_type_;
+ base::ThreadPriority thread_priority_;
const base::Closure quit_closure_;
const scoped_refptr<base::SingleThreadTaskRunner> quit_task_runner_;

Powered by Google App Engine
This is Rietveld 408576698