Index: ios/shared/chrome/browser/ui/browser_list/browser_list.h |
diff --git a/ios/shared/chrome/browser/ui/browser_list/browser_list.h b/ios/shared/chrome/browser/ui/browser_list/browser_list.h |
index 8cb960aeee4c7bb7d8b23eca7862c18292fc43b8..11edf98fb5538fbceb85168d2dfc692bf8772741 100644 |
--- a/ios/shared/chrome/browser/ui/browser_list/browser_list.h |
+++ b/ios/shared/chrome/browser/ui/browser_list/browser_list.h |
@@ -9,9 +9,12 @@ |
#include <vector> |
#include "base/macros.h" |
+#include "base/observer_list.h" |
#include "base/supports_user_data.h" |
#include "ios/shared/chrome/browser/ui/browser_list/browser.h" |
+class BrowserListObserver; |
+ |
namespace ios { |
class ChromeBrowserState; |
} |
@@ -42,12 +45,17 @@ class BrowserList : public base::SupportsUserData::Data { |
// Closes the Browser at the specified index. |
void CloseBrowserAtIndex(int index); |
+ // Adds/removes |observer| from the list of observers. |
+ void AddObserver(BrowserListObserver* observer); |
+ void RemoveObserver(BrowserListObserver* observer); |
+ |
// Invalid index. |
static const int kInvalidIndex = -1; |
private: |
ios::ChromeBrowserState* browser_state_; |
std::vector<std::unique_ptr<Browser>> browsers_; |
+ base::ObserverList<BrowserListObserver, true> observers_; |
DISALLOW_COPY_AND_ASSIGN(BrowserList); |
}; |