Index: chrome/browser/tabs/tab_strip_model.h |
diff --git a/chrome/browser/tabs/tab_strip_model.h b/chrome/browser/tabs/tab_strip_model.h |
index 1f856b5017d26249e70b4649392735998e78db00..8f9a7c34643311c266b9c711903a3a9fe04e911b 100644 |
--- a/chrome/browser/tabs/tab_strip_model.h |
+++ b/chrome/browser/tabs/tab_strip_model.h |
@@ -7,8 +7,10 @@ |
#pragma once |
#include <vector> |
+#include <list> |
#include "base/observer_list.h" |
+#include "chrome/browser/tabs/tab_mru_list_manager.h" |
#include "chrome/browser/tabs/tab_strip_model_observer.h" |
#include "chrome/browser/tabs/tab_strip_selection_model.h" |
#include "content/public/browser/notification_observer.h" |
@@ -435,6 +437,8 @@ class TabStripModel : public content::NotificationObserver { |
// Selects the last tab in the tab strip. |
void SelectLastTab(); |
+ // Selectd the next tab in MRU list. |
+ void SelectNextMRUTab(); |
// Swap adjacent tabs. |
void MoveTabNext(); |
@@ -598,6 +602,12 @@ class TabStripModel : public content::NotificationObserver { |
void ForgetOpenersAndGroupsReferencing( |
const content::NavigationController* tab); |
+ // Tab Strip Most Recently used list management functions. |
+ void TabMRUListRemoveContents(TabContentsWrapper* removed_contents); |
+ void TabMRUListActivateContents(TabContentsWrapper* new_contents); |
+ void TabMRUListReplaceContents(TabContentsWrapper* old_contents, |
+ TabContentsWrapper* new_contents); |
+ |
// Our delegate. |
TabStripModelDelegate* delegate_; |
@@ -678,6 +688,10 @@ class TabStripModel : public content::NotificationObserver { |
// selection should move when a Tab is closed. |
TabStripModelOrderController* order_controller_; |
+ // List manager that maintains the tab indices in the most recently |
+ // visited order. |
+ TabMRUListManager tab_mru_list_manager_; |
+ |
// Our observers. |
typedef ObserverList<TabStripModelObserver> TabStripModelObservers; |
TabStripModelObservers observers_; |