Index: chrome/browser/extensions/api/tabs/tabs_event_router.h |
diff --git a/chrome/browser/extensions/api/tabs/tabs_event_router.h b/chrome/browser/extensions/api/tabs/tabs_event_router.h |
index 1c6a9eb3358c0f269e36ebd6a6d9c3c25150740d..d8af725e16b8d6dc2ad5423d9e62e15ddeeed7d4 100644 |
--- a/chrome/browser/extensions/api/tabs/tabs_event_router.h |
+++ b/chrome/browser/extensions/api/tabs/tabs_event_router.h |
@@ -14,6 +14,8 @@ |
#include "base/scoped_observer.h" |
#include "chrome/browser/extensions/api/tabs/tabs_api.h" |
#include "chrome/browser/ui/browser_list_observer.h" |
+#include "chrome/browser/ui/browser_tab_strip_tracker.h" |
+#include "chrome/browser/ui/browser_tab_strip_tracker_delegate.h" |
#include "chrome/browser/ui/tabs/tab_strip_model_observer.h" |
#include "components/favicon/core/favicon_driver_observer.h" |
#include "components/ui/zoom/zoom_observer.h" |
@@ -35,6 +37,7 @@ namespace extensions { |
// TabsEventRouter will only route events from windows/tabs within a profile to |
// extension processes in the same profile. |
class TabsEventRouter : public TabStripModelObserver, |
+ public BrowserTabStripTrackerDelegate, |
public chrome::BrowserListObserver, |
public content::NotificationObserver, |
public favicon::FaviconDriverObserver, |
@@ -43,12 +46,13 @@ class TabsEventRouter : public TabStripModelObserver, |
explicit TabsEventRouter(Profile* profile); |
~TabsEventRouter() override; |
- // chrome::BrowserListObserver |
- void OnBrowserAdded(Browser* browser) override; |
- void OnBrowserRemoved(Browser* browser) override; |
+ // BrowserTabStripTrackerDelegate: |
+ bool ShouldTrackBrowser(Browser* browser) override; |
+ |
+ // chrome::BrowserListObserver: |
void OnBrowserSetLastActive(Browser* browser) override; |
- // TabStripModelObserver |
+ // TabStripModelObserver: |
void TabInsertedAt(content::WebContents* contents, |
int index, |
bool active) override; |
@@ -75,16 +79,16 @@ class TabsEventRouter : public TabStripModelObserver, |
void TabPinnedStateChanged(content::WebContents* contents, |
int index) override; |
- // content::NotificationObserver. |
+ // content::NotificationObserver: |
void Observe(int type, |
const content::NotificationSource& source, |
const content::NotificationDetails& details) override; |
- // ZoomObserver. |
+ // ZoomObserver: |
void OnZoomChanged( |
const ui_zoom::ZoomController::ZoomChangedEventData& data) override; |
- // favicon::FaviconDriverObserver. |
+ // favicon::FaviconDriverObserver: |
void OnFaviconAvailable(const gfx::Image& image) override; |
void OnFaviconUpdated(favicon::FaviconDriver* favicon_driver, |
bool icon_url_changed) override; |
@@ -124,10 +128,6 @@ class TabsEventRouter : public TabStripModelObserver, |
scoped_ptr<base::DictionaryValue> changed_properties); |
// Register ourselves to receive the various notifications we are interested |
- // in for a browser. |
- void RegisterForBrowserNotifications(Browser* browser); |
- |
- // Register ourselves to receive the various notifications we are interested |
// in for a tab. |
void RegisterForTabNotifications(content::WebContents* contents); |
@@ -197,6 +197,8 @@ class TabsEventRouter : public TabStripModelObserver, |
ScopedObserver<favicon::FaviconDriver, TabsEventRouter> |
favicon_scoped_observer_; |
+ BrowserTabStripTracker browser_tab_strip_tracker_; |
+ |
DISALLOW_COPY_AND_ASSIGN(TabsEventRouter); |
}; |