Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1286)

Unified Diff: chrome/browser/extensions/api/tabs/tabs_event_router.h

Issue 1400823003: Creates BrowserTabStripTracker to consolidate common code (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: review feedback and git cl format Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);
};
« no previous file with comments | « chrome/browser/extensions/api/debugger/debugger_api.cc ('k') | chrome/browser/extensions/api/tabs/tabs_event_router.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698