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

Unified Diff: mojo/shell/ui_application_loader_android.cc

Issue 741453002: Make sure that Content Handled application can be connected multiple times. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Fix sky Created 6 years, 1 month 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
« no previous file with comments | « mojo/shell/ui_application_loader_android.h ('k') | mojo/shell/view_manager_loader.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: mojo/shell/ui_application_loader_android.cc
diff --git a/mojo/shell/ui_application_loader_android.cc b/mojo/shell/ui_application_loader_android.cc
index 1e4e5aa17d06fb8617d0138cde0a2827998ae5c7..b8717071323f8a3786b178ff023bb87215b9d081 100644
--- a/mojo/shell/ui_application_loader_android.cc
+++ b/mojo/shell/ui_application_loader_android.cc
@@ -10,29 +10,6 @@
namespace mojo {
-class UIApplicationLoader::UILoader {
- public:
- explicit UILoader(ApplicationLoader* loader) : loader_(loader) {}
- ~UILoader() {}
-
- void Load(ApplicationManager* manager,
- const GURL& url,
- ScopedMessagePipeHandle shell_handle) {
- scoped_refptr<LoadCallbacks> callbacks(
- new ApplicationLoader::SimpleLoadCallbacks(shell_handle.Pass()));
- loader_->Load(manager, url, callbacks);
- }
-
- void OnApplicationError(ApplicationManager* manager, const GURL& url) {
- loader_->OnApplicationError(manager, url);
- }
-
- private:
- ApplicationLoader* loader_; // Owned by UIApplicationLoader
-
- DISALLOW_COPY_AND_ASSIGN(UILoader);
-};
-
UIApplicationLoader::UIApplicationLoader(
scoped_ptr<ApplicationLoader> real_loader,
shell::Context* context)
@@ -48,18 +25,13 @@ UIApplicationLoader::~UIApplicationLoader() {
void UIApplicationLoader::Load(ApplicationManager* manager,
const GURL& url,
- scoped_refptr<LoadCallbacks> callbacks) {
- ScopedMessagePipeHandle shell_handle = callbacks->RegisterApplication();
- if (!shell_handle.is_valid())
- return;
+ ScopedMessagePipeHandle shell_handle,
+ LoadCallback callback) {
+ DCHECK(shell_handle.is_valid());
context_->ui_loop()->PostTask(
FROM_HERE,
- base::Bind(
- &UIApplicationLoader::LoadOnUIThread,
- base::Unretained(this),
- manager,
- url,
- base::Owned(new ScopedMessagePipeHandle(shell_handle.Pass()))));
+ base::Bind(&UIApplicationLoader::LoadOnUIThread, base::Unretained(this),
+ manager, url, base::Passed(&shell_handle)));
}
void UIApplicationLoader::OnApplicationError(ApplicationManager* manager,
@@ -72,25 +44,19 @@ void UIApplicationLoader::OnApplicationError(ApplicationManager* manager,
url));
}
-void UIApplicationLoader::LoadOnUIThread(
- ApplicationManager* manager,
- const GURL& url,
- ScopedMessagePipeHandle* shell_handle) {
- if (!ui_loader_)
- ui_loader_ = new UILoader(loader_.get());
- ui_loader_->Load(manager, url, shell_handle->Pass());
+void UIApplicationLoader::LoadOnUIThread(ApplicationManager* manager,
+ const GURL& url,
+ ScopedMessagePipeHandle shell_handle) {
+ loader_->Load(manager, url, shell_handle.Pass(), SimpleLoadCallback());
}
void UIApplicationLoader::OnApplicationErrorOnUIThread(
ApplicationManager* manager,
const GURL& url) {
- if (!ui_loader_)
- ui_loader_ = new UILoader(loader_.get());
- ui_loader_->OnApplicationError(manager, url);
+ loader_->OnApplicationError(manager, url);
}
void UIApplicationLoader::ShutdownOnUIThread() {
- delete ui_loader_;
// Destroy |loader_| on the thread it's actually used on.
loader_.reset();
}
« no previous file with comments | « mojo/shell/ui_application_loader_android.h ('k') | mojo/shell/view_manager_loader.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698