Index: content/common/mojo/static_loader.cc |
diff --git a/content/common/mojo/static_loader.cc b/content/common/mojo/static_loader.cc |
deleted file mode 100644 |
index ad48020be823991919090d8f7f4156b0fb3858f2..0000000000000000000000000000000000000000 |
--- a/content/common/mojo/static_loader.cc |
+++ /dev/null |
@@ -1,93 +0,0 @@ |
-// Copyright 2015 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "content/common/mojo/static_loader.h" |
- |
-#include <utility> |
- |
-#include "base/bind.h" |
-#include "base/macros.h" |
-#include "base/memory/ref_counted.h" |
-#include "base/task_runner.h" |
-#include "base/thread_task_runner_handle.h" |
-#include "base/threading/simple_thread.h" |
-#include "mojo/public/cpp/bindings/interface_request.h" |
-#include "services/shell/public/cpp/application_runner.h" |
-#include "services/shell/public/cpp/shell_client.h" |
-#include "services/shell/public/interfaces/shell_client.mojom.h" |
- |
-namespace content { |
- |
-namespace { |
- |
-class RunnerThread : public base::SimpleThread { |
- public: |
- RunnerThread(const std::string& name, |
- shell::mojom::ShellClientRequest request, |
- scoped_refptr<base::TaskRunner> exit_task_runner, |
- const base::Closure& exit_callback, |
- const StaticLoader::ApplicationFactory& factory) |
- : base::SimpleThread("Mojo Application: " + name), |
- request_(std::move(request)), |
- exit_task_runner_(exit_task_runner), |
- exit_callback_(exit_callback), |
- factory_(factory) {} |
- |
- void Run() override { |
- std::unique_ptr<shell::ApplicationRunner> runner( |
- new shell::ApplicationRunner(factory_.Run().release())); |
- runner->Run(request_.PassMessagePipe().release().value(), |
- false /* init_base */); |
- exit_task_runner_->PostTask(FROM_HERE, exit_callback_); |
- } |
- |
- private: |
- shell::mojom::ShellClientRequest request_; |
- scoped_refptr<base::TaskRunner> exit_task_runner_; |
- base::Closure exit_callback_; |
- StaticLoader::ApplicationFactory factory_; |
- |
- DISALLOW_COPY_AND_ASSIGN(RunnerThread); |
-}; |
- |
-} // namespace |
- |
-StaticLoader::StaticLoader(const ApplicationFactory& factory) |
- : StaticLoader(factory, base::Closure()) { |
-} |
- |
-StaticLoader::StaticLoader(const ApplicationFactory& factory, |
- const base::Closure& quit_callback) |
- : factory_(factory), quit_callback_(quit_callback), weak_factory_(this) { |
-} |
- |
-StaticLoader::~StaticLoader() { |
- if (thread_) |
- StopAppThread(); |
-} |
- |
-void StaticLoader::Load(const std::string& name, |
- shell::mojom::ShellClientRequest request) { |
- if (thread_) |
- return; |
- |
- // If the application's thread quits on its own before this loader dies, we |
- // reset the Thread object, allowing future Load requests to be fulfilled |
- // with a new app instance. |
- auto exit_callback = base::Bind(&StaticLoader::StopAppThread, |
- weak_factory_.GetWeakPtr()); |
- thread_.reset(new RunnerThread(name, std::move(request), |
- base::ThreadTaskRunnerHandle::Get(), |
- exit_callback, factory_)); |
- thread_->Start(); |
-} |
- |
-void StaticLoader::StopAppThread() { |
- thread_->Join(); |
- thread_.reset(); |
- if (!quit_callback_.is_null()) |
- quit_callback_.Run(); |
-} |
- |
-} // namespace content |