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

Unified Diff: mojo/services/view_manager/view_manager_init_service_impl.cc

Issue 463523003: Fix an issue with view manager init service where you had to retain a connection to the init servic… (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 6 years, 4 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
« no previous file with comments | « mojo/services/view_manager/view_manager_init_service_impl.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: mojo/services/view_manager/view_manager_init_service_impl.cc
diff --git a/mojo/services/view_manager/view_manager_init_service_impl.cc b/mojo/services/view_manager/view_manager_init_service_impl.cc
index deb8a3f1d47e3c0240d303bd8ddbb47e8b86d70b..ab307189737042ac223d00e93ca1cb8fe2836bf4 100644
--- a/mojo/services/view_manager/view_manager_init_service_impl.cc
+++ b/mojo/services/view_manager/view_manager_init_service_impl.cc
@@ -10,13 +10,8 @@
#include "mojo/services/view_manager/view_manager_service_impl.h"
namespace mojo {
-class ApplicationConnection;
namespace service {
-ViewManagerInitServiceImpl::ConnectParams::ConnectParams() {}
-
-ViewManagerInitServiceImpl::ConnectParams::~ConnectParams() {}
-
ViewManagerInitServiceImpl::ViewManagerInitServiceImpl(
ApplicationConnection* connection,
ViewManagerInitServiceContext* context)
@@ -28,37 +23,11 @@ ViewManagerInitServiceImpl::~ViewManagerInitServiceImpl() {
context_->RemoveConnection(this);
}
-void ViewManagerInitServiceImpl::OnNativeViewportDeleted() {
- delete this;
-}
-
-void ViewManagerInitServiceImpl::OnRootViewManagerWindowTreeHostCreated() {
- MaybeEmbed();
-}
-
-void ViewManagerInitServiceImpl::MaybeEmbed() {
- if (!context_->is_tree_host_ready())
- return;
-
- ScopedVector<ConnectParams>::const_iterator it = connect_params_.begin();
- for (; it != connect_params_.end(); ++it) {
- context_->root_node_manager()->EmbedRoot((*it)->url,
- (*it)->service_provider.Pass());
- (*it)->callback.Run(true);
- }
- connect_params_.clear();
-}
-
void ViewManagerInitServiceImpl::Embed(
const String& url,
ServiceProviderPtr service_provider,
const Callback<void(bool)>& callback) {
- ConnectParams* params = new ConnectParams;
- params->url = url.To<std::string>();
- params->callback = callback;
- params->service_provider.Bind(service_provider.PassMessagePipe());
- connect_params_.push_back(params);
- MaybeEmbed();
+ context_->Embed(url, service_provider.Pass(), callback);
}
} // namespace service
« no previous file with comments | « mojo/services/view_manager/view_manager_init_service_impl.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698