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

Unified Diff: chrome/browser/tabs/tab_strip_model.h

Issue 10117016: Implementation for switching between recently used tabs using ctrl tilde or quoteleft. Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Added tab mru list manager class. Created 8 years, 7 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/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_;

Powered by Google App Engine
This is Rietveld 408576698