Index: ui/aura/client/window_stacking_client.h |
diff --git a/ui/aura/client/window_stacking_client.h b/ui/aura/client/window_stacking_client.h |
index b4576c59426ddecb540fa9e439b7f999be026687..848260397cb59ef6e1933709a4b7a7026fb9e7db 100644 |
--- a/ui/aura/client/window_stacking_client.h |
+++ b/ui/aura/client/window_stacking_client.h |
@@ -15,16 +15,21 @@ namespace client { |
class AURA_EXPORT WindowStackingClient { |
public: |
- virtual ~WindowStackingClient() {} |
- |
// Invoked from the various Window stacking functions. Allows the |
// WindowStackingClient to alter the source, target and/or direction to stack. |
- virtual void AdjustStacking(Window** child, |
+ // Returns true if stacking should continue; false if the stacking should not |
+ // happen. |
+ virtual bool AdjustStacking(Window** child, |
Window** target, |
Window::StackDirection* direction) = 0; |
+ |
+ protected: |
+ virtual ~WindowStackingClient() {} |
}; |
-// Sets/gets the WindowStackingClient. The setter takes ownership of |client|. |
+// Sets/gets the WindowStackingClient. This does *not* take ownership of |
+// |client|. It is assumed the caller will invoke SetWindowStackingClient(NULL) |
+// before deleting |client|. |
AURA_EXPORT void SetWindowStackingClient(WindowStackingClient* client); |
AURA_EXPORT WindowStackingClient* GetWindowStackingClient(); |