Index: services/view_manager/server_view.h |
diff --git a/services/view_manager/server_view.h b/services/view_manager/server_view.h |
index 03842e7bb5cfc0a3db9231bf362fd22fafb14f9a..f0050a42620023166978eb8e8fe66e1190c44c48 100644 |
--- a/services/view_manager/server_view.h |
+++ b/services/view_manager/server_view.h |
@@ -8,6 +8,7 @@ |
#include <vector> |
#include "base/logging.h" |
+#include "base/observer_list.h" |
#include "cc/surfaces/surface_id.h" |
#include "mojo/services/view_manager/public/interfaces/view_manager.mojom.h" |
#include "services/view_manager/ids.h" |
@@ -17,6 +18,7 @@ |
namespace view_manager { |
class ServerViewDelegate; |
+class ServerViewObserver; |
// Server side representation of a view. Delegate is informed of interesting |
// events. |
@@ -29,6 +31,9 @@ class ServerView { |
ServerView(ServerViewDelegate* delegate, const ViewId& id); |
virtual ~ServerView(); |
+ void AddObserver(ServerViewObserver* observer); |
+ void RemoveObserver(ServerViewObserver* observer); |
+ |
const ViewId& id() const { return id_; } |
void Add(ServerView* child); |
@@ -101,6 +106,8 @@ class ServerView { |
std::map<std::string, std::vector<uint8_t>> properties_; |
+ ObserverList<ServerViewObserver> observers_; |
+ |
DISALLOW_COPY_AND_ASSIGN(ServerView); |
}; |