| OLD | NEW | 
|---|
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "mojo/runner/android/background_application_loader.h" | 5 #include "mojo/runner/android/background_application_loader.h" | 
| 6 | 6 | 
|  | 7 #include <utility> | 
|  | 8 | 
| 7 #include "base/bind.h" | 9 #include "base/bind.h" | 
| 8 #include "base/run_loop.h" | 10 #include "base/run_loop.h" | 
| 9 #include "mojo/shell/application_manager.h" | 11 #include "mojo/shell/application_manager.h" | 
| 10 | 12 | 
| 11 namespace mojo { | 13 namespace mojo { | 
| 12 namespace runner { | 14 namespace runner { | 
| 13 | 15 | 
| 14 BackgroundApplicationLoader::BackgroundApplicationLoader( | 16 BackgroundApplicationLoader::BackgroundApplicationLoader( | 
| 15     scoped_ptr<ApplicationLoader> real_loader, | 17     scoped_ptr<ApplicationLoader> real_loader, | 
| 16     const std::string& thread_name, | 18     const std::string& thread_name, | 
| 17     base::MessageLoop::Type message_loop_type) | 19     base::MessageLoop::Type message_loop_type) | 
| 18     : loader_(real_loader.Pass()), | 20     : loader_(std::move(real_loader)), | 
| 19       message_loop_type_(message_loop_type), | 21       message_loop_type_(message_loop_type), | 
| 20       thread_name_(thread_name), | 22       thread_name_(thread_name), | 
| 21       message_loop_created_(true, false) { | 23       message_loop_created_(true, false) {} | 
| 22 } |  | 
| 23 | 24 | 
| 24 BackgroundApplicationLoader::~BackgroundApplicationLoader() { | 25 BackgroundApplicationLoader::~BackgroundApplicationLoader() { | 
| 25   if (thread_) | 26   if (thread_) | 
| 26     thread_->Join(); | 27     thread_->Join(); | 
| 27 } | 28 } | 
| 28 | 29 | 
| 29 void BackgroundApplicationLoader::Load( | 30 void BackgroundApplicationLoader::Load( | 
| 30     const GURL& url, | 31     const GURL& url, | 
| 31     InterfaceRequest<Application> application_request) { | 32     InterfaceRequest<Application> application_request) { | 
| 32   DCHECK(application_request.is_pending()); | 33   DCHECK(application_request.is_pending()); | 
| (...skipping 26 matching lines...) Expand all  Loading... | 
| 59   loop.Run(); | 60   loop.Run(); | 
| 60 | 61 | 
| 61   // Destroy |loader_| on the thread it's actually used on. | 62   // Destroy |loader_| on the thread it's actually used on. | 
| 62   loader_.reset(); | 63   loader_.reset(); | 
| 63 } | 64 } | 
| 64 | 65 | 
| 65 void BackgroundApplicationLoader::LoadOnBackgroundThread( | 66 void BackgroundApplicationLoader::LoadOnBackgroundThread( | 
| 66     const GURL& url, | 67     const GURL& url, | 
| 67     InterfaceRequest<Application> application_request) { | 68     InterfaceRequest<Application> application_request) { | 
| 68   DCHECK(task_runner_->RunsTasksOnCurrentThread()); | 69   DCHECK(task_runner_->RunsTasksOnCurrentThread()); | 
| 69   loader_->Load(url, application_request.Pass()); | 70   loader_->Load(url, std::move(application_request)); | 
| 70 } | 71 } | 
| 71 | 72 | 
| 72 }  // namespace runner | 73 }  // namespace runner | 
| 73 }  // namespace mojo | 74 }  // namespace mojo | 
| OLD | NEW | 
|---|