Index: chrome/browser/sessions/session_service.h |
diff --git a/chrome/browser/sessions/session_service.h b/chrome/browser/sessions/session_service.h |
index b1066405dccf260ffa63ea7513b6d7f39c2e2763..a61e67f012b3398aa594e88aa8d614baab88e7e3 100644 |
--- a/chrome/browser/sessions/session_service.h |
+++ b/chrome/browser/sessions/session_service.h |
@@ -16,6 +16,8 @@ |
#include "chrome/browser/sessions/session_id.h" |
#include "chrome/browser/ui/browser.h" |
#include "chrome/browser/ui/browser_list.h" |
+#include "chrome/browser/ui/browser_list_observer.h" |
+#include "chrome/browser/ui/tabs/tab_strip_model_observer.h" |
#include "content/public/browser/notification_observer.h" |
#include "content/public/browser/notification_registrar.h" |
#include "ui/base/ui_base_types.h" |
@@ -51,7 +53,9 @@ class NavigationEntry; |
// SessionService rebuilds the contents of the file from the open state |
// of the browser. |
class SessionService : public BaseSessionService, |
- public content::NotificationObserver { |
+ public content::NotificationObserver, |
+ public chrome::BrowserListObserver, |
+ public TabStripModelObserver { |
friend class SessionServiceTestHelper; |
public: |
// Used to distinguish an application window from a normal one. |
@@ -414,6 +418,22 @@ class SessionService : public BaseSessionService, |
void RecordUpdatedSessionNavigationOrTab(base::TimeDelta delta, |
bool use_long_period); |
+ // chrome::BrowserListObserver implementation. |
+ virtual void OnBrowserAdded(Browser* browser) OVERRIDE; |
+ virtual void OnBrowserRemoved(Browser* browser) OVERRIDE; |
+ |
+ // TabStripModelObserver implementation. |
+ virtual void TabInsertedAt(TabContents* contents, |
+ int index, |
+ bool foreground) OVERRIDE; |
+ virtual void TabClosingAt(TabStripModel* tab_strip_model, |
+ TabContents* contents, |
+ int index) OVERRIDE; |
+ virtual void TabReplacedAt(TabStripModel* tab_strip_model, |
+ TabContents* old_contents, |
+ TabContents* new_contents, |
+ int index) OVERRIDE; |
+ |
// Convert back/forward between the Browser and SessionService DB window |
// types. |
static WindowType WindowTypeForBrowserType(Browser::Type type); |