Index: services/view_manager/view_manager_service_impl.h |
diff --git a/services/view_manager/view_manager_service_impl.h b/services/view_manager/view_manager_service_impl.h |
index 2008d13d9da2559f03398c571e95193dcb5d0559..a315178d8abccdd3a55536399ee013c28746fc8b 100644 |
--- a/services/view_manager/view_manager_service_impl.h |
+++ b/services/view_manager/view_manager_service_impl.h |
@@ -80,10 +80,11 @@ class ViewManagerServiceImpl : public mojo::ViewManagerService, |
bool AddView(const ViewId& parent_id, const ViewId& child_id); |
std::vector<const ServerView*> GetViewTree(const ViewId& view_id) const; |
bool SetViewVisibility(const ViewId& view_id, bool visible); |
- bool Embed(const std::string& url, |
- const ViewId& view_id, |
- mojo::InterfaceRequest<mojo::ServiceProvider> services, |
- mojo::ServiceProviderPtr exposed_services); |
+ bool EmbedUrl(const std::string& url, |
+ const ViewId& view_id, |
+ mojo::InterfaceRequest<mojo::ServiceProvider> services, |
+ mojo::ServiceProviderPtr exposed_services); |
+ bool Embed(const ViewId& view_id, mojo::ViewManagerClientPtr client); |
// The following methods are invoked after the corresponding change has been |
// processed. They do the appropriate bookkeeping and update the client as |
@@ -167,6 +168,8 @@ class ViewManagerServiceImpl : public mojo::ViewManagerService, |
// Deletes all Views we own. |
void DestroyViews(); |
+ bool PrepareForEmbed(const ViewId& view_id); |
+ |
// ViewManagerService: |
void CreateView( |
mojo::Id transport_view_id, |
@@ -199,10 +202,13 @@ class ViewManagerServiceImpl : public mojo::ViewManagerService, |
const mojo::String& name, |
mojo::Array<uint8_t> value, |
const mojo::Callback<void(bool)>& callback) override; |
- void Embed(const mojo::String& url, |
- mojo::Id view_id, |
- mojo::InterfaceRequest<mojo::ServiceProvider> services, |
- mojo::ServiceProviderPtr exposed_services, |
+ void EmbedUrl(const mojo::String& url, |
+ mojo::Id transport_view_id, |
+ mojo::InterfaceRequest<mojo::ServiceProvider> services, |
+ mojo::ServiceProviderPtr exposed_services, |
+ const mojo::Callback<void(bool)>& callback) override; |
+ void Embed(mojo::Id transport_view_id, |
+ mojo::ViewManagerClientPtr client, |
const mojo::Callback<void(bool)>& callback) override; |
// AccessPolicyDelegate: |
@@ -224,6 +230,8 @@ class ViewManagerServiceImpl : public mojo::ViewManagerService, |
mojo::ConnectionSpecificId creator_id_; |
// The URL of the app that embedded the app this connection was created for. |
+ // NOTE: this is empty if the connection was created by way of directly |
+ // supplying the ViewManagerClient. |
const std::string creator_url_; |
mojo::ViewManagerClient* client_; |