Index: chrome/browser/extensions/api/web_navigation/web_navigation_api.h |
diff --git a/chrome/browser/extensions/api/web_navigation/web_navigation_api.h b/chrome/browser/extensions/api/web_navigation/web_navigation_api.h |
index b5a3c964a5bb10af628b20322527dcd8d908420a..5325a7892a22644299b594396e721afffed7a548 100644 |
--- a/chrome/browser/extensions/api/web_navigation/web_navigation_api.h |
+++ b/chrome/browser/extensions/api/web_navigation/web_navigation_api.h |
@@ -15,6 +15,8 @@ |
#include "base/compiler_specific.h" |
#include "chrome/browser/extensions/extension_function.h" |
#include "chrome/browser/profiles/profile.h" |
+#include "chrome/browser/ui/browser_list.h" |
+#include "chrome/browser/ui/tabs/tab_strip_model.h" |
#include "content/public/browser/notification_observer.h" |
#include "content/public/browser/notification_registrar.h" |
#include "content/public/browser/web_contents_observer.h" |
@@ -193,7 +195,9 @@ class WebNavigationTabObserver : public content::NotificationObserver, |
// Observes navigation notifications and routes them as events to the extension |
// system. |
-class WebNavigationEventRouter : public content::NotificationObserver { |
+class WebNavigationEventRouter : public TabStripModelObserver, |
+ public BrowserList::Observer, |
+ public content::NotificationObserver { |
public: |
explicit WebNavigationEventRouter(Profile* profile); |
virtual ~WebNavigationEventRouter(); |
@@ -220,6 +224,16 @@ class WebNavigationEventRouter : public content::NotificationObserver { |
GURL target_url; |
}; |
+ // TabStripModelObserver implementation. |
+ virtual void TabReplacedAt(TabStripModel* tab_strip_model, |
+ TabContents* old_contents, |
+ TabContents* new_contents, |
+ int index) OVERRIDE; |
+ |
+ // BrowserList::Observer implementation. |
+ virtual void OnBrowserAdded(Browser* browser) OVERRIDE; |
+ virtual void OnBrowserRemoved(Browser* browser) OVERRIDE; |
+ |
// content::NotificationObserver implementation. |
virtual void Observe(int type, |
const content::NotificationSource& source, |