Index: ui/app_list/views/app_list_main_view.h |
diff --git a/ui/app_list/views/app_list_main_view.h b/ui/app_list/views/app_list_main_view.h |
index a87ae16f213f374064dc64f5e3a245b5d7d25c15..4dc534cb2002f3128592484ca8d74a4707dbf95c 100644 |
--- a/ui/app_list/views/app_list_main_view.h |
+++ b/ui/app_list/views/app_list_main_view.h |
@@ -9,6 +9,7 @@ |
#include "base/memory/scoped_vector.h" |
#include "base/memory/weak_ptr.h" |
+#include "base/observer_list.h" |
#include "base/timer/timer.h" |
#include "ui/app_list/app_list_export.h" |
#include "ui/app_list/views/apps_grid_view_delegate.h" |
@@ -31,6 +32,18 @@ class ContentsView; |
class PaginationModel; |
class SearchBoxView; |
+class AppListMainViewObserver { |
+ public: |
+ // Invoked after a new contents view is created. |
+ virtual void OnContentsViewCreated() {} |
+ |
+ // Invoked before the contens view is destroyed. |
+ virtual void OnContentsViewDestroying() {} |
+ |
+ protected: |
+ virtual ~AppListMainViewObserver() {} |
+}; |
+ |
// AppListMainView contains the normal view of the app list, which is shown |
// when the user is signed in. |
class APP_LIST_EXPORT AppListMainView : public views::View, |
@@ -79,6 +92,9 @@ class APP_LIST_EXPORT AppListMainView : public views::View, |
// Called when the search box's visibility is changed. |
void NotifySearchBoxVisibilityChanged(); |
+ void AddObserver(AppListMainViewObserver* observer); |
+ void RemoveObserver(AppListMainViewObserver* observer); |
+ |
private: |
class IconLoader; |
@@ -130,6 +146,8 @@ class APP_LIST_EXPORT AppListMainView : public views::View, |
base::WeakPtrFactory<AppListMainView> weak_ptr_factory_; |
+ ObserverList<AppListMainViewObserver, true> observers_; |
+ |
DISALLOW_COPY_AND_ASSIGN(AppListMainView); |
}; |