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

Unified Diff: services/ui/public/cpp/window_tree_client_delegate.h

Issue 2301353003: Changes ownership of WindowTreeClient (Closed)
Patch Set: Created 4 years, 3 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
Index: services/ui/public/cpp/window_tree_client_delegate.h
diff --git a/services/ui/public/cpp/window_tree_client_delegate.h b/services/ui/public/cpp/window_tree_client_delegate.h
index 3009e63a3dc5b9a266306ed281625d883e7b7363..678dbedf05a48542e9efaba8f659b6f3786c87dd 100644
--- a/services/ui/public/cpp/window_tree_client_delegate.h
+++ b/services/ui/public/cpp/window_tree_client_delegate.h
@@ -29,15 +29,23 @@ class WindowTreeClientDelegate {
virtual void OnEmbed(Window* root) = 0;
// Sent when another app is embedded in |root| (one of the roots of the
- // connection). Afer this call |root| is deleted. If |root| is the only root
- // and the connection is configured to delete when there are no roots (the
- // default), then after |root| is destroyed the connection is destroyed as
- // well.
+ // connection). Afer this call |root| is deleted. If the associated
+ // WindowTreeClient was created from a WindowTreeClientRequest then
+ // OnEmbedRootDestroyed() is called after the window is deleted.
virtual void OnUnembed(Window* root);
- // Called from the destructor of WindowTreeClient after all the Windows have
- // been destroyed. |client| is no longer valid after this call.
- virtual void OnDidDestroyClient(WindowTreeClient* client) = 0;
+ // Called when the embed root has been destroyed on the server side (or
+ // another
+ // client was embedded in the same window). This is only called if the
sadrul 2016/09/02 17:04:15 unnecessary line-break
sky 2016/09/06 17:15:42 Done.
+ // WindowTreeClient was created from an InterfaceRequest. Generally when this
+ // is called the delegate will delete the WindowTreeClient.
+ virtual void OnEmbedRootDestroyed(Window* root) = 0;
+
+ // Called when the connection to the window server has been lost. After this
+ // call the windows are still valid, and you can still do things, but they
+ // have no real effect. Generally when this is called clients will turn around
+ // and delete the corresponding WindowTreeClient.
+ virtual void OnLostConnection(WindowTreeClient* client) = 0;
// Called when the WindowTreeClient receives an input event observed via
// StartPointerWatcher(). |target| may be null for events that were sent to

Powered by Google App Engine
This is Rietveld 408576698