Chromium Code Reviews| Index: chrome/browser/ui/browser.cc |
| diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc |
| index 259099284eeda44650e8e3a86d02cd21445b61d3..7213efa25562cc30fc428ab940ac6eb7d56b1226 100644 |
| --- a/chrome/browser/ui/browser.cc |
| +++ b/chrome/browser/ui/browser.cc |
| @@ -130,6 +130,7 @@ |
| #include "chrome/browser/ui/tabs/dock_info.h" |
| #include "chrome/browser/ui/tabs/tab_finder.h" |
| #include "chrome/browser/ui/tabs/tab_menu_model.h" |
| +#include "chrome/browser/ui/tabs/tab_mru_list_manager.h" |
| #include "chrome/browser/ui/tabs/tab_strip_model.h" |
| #include "chrome/browser/ui/web_applications/web_app_ui.h" |
| #include "chrome/browser/ui/webui/feedback_ui.h" |
| @@ -374,7 +375,10 @@ Browser::Browser(Type type, Profile* profile) |
| bookmark_bar_state_(BookmarkBar::HIDDEN), |
| window_has_shown_(false) { |
| tab_strip_model_->AddObserver(this); |
| - |
| + if (CommandLine::ForCurrentProcess()->HasSwitch( |
| + switches::kEnableTabMRUSwitch)) { |
| + tab_mru_list_manager_.reset(new TabMRUListManager(tab_strip_model_.get())); |
|
sky
2012/06/11 18:21:51
spacing is wrong here.
NaveenBobbili (Motorola)
2012/06/13 06:07:32
Done.
|
| + } |
| toolbar_model_.reset(new ToolbarModel(toolbar_model_delegate_.get())); |
| registrar_.Add(this, content::NOTIFICATION_SSL_VISIBLE_STATE_CHANGED, |
| @@ -1461,6 +1465,13 @@ void Browser::SelectLastTab() { |
| tab_strip_model_->SelectLastTab(); |
| } |
| +void Browser::SelectNextMRUTab() { |
|
sky
2012/06/11 18:21:51
Isn't this more of selecting the previous mru tab,
NaveenBobbili (Motorola)
2012/06/13 06:07:32
Done.
|
| + content::RecordAction(UserMetricsAction("SelectNextMRUTab")); |
| + TabContentsWrapper* contents = tab_mru_list_manager_->GetNextMRUTab(); |
| + if (contents) |
| + ActivateTabAt(tab_strip_model_->GetIndexOfTabContents(contents), true); |
| +} |
| + |
| void Browser::DuplicateTab() { |
| content::RecordAction(UserMetricsAction("Duplicate")); |
| DuplicateContentsAt(active_index()); |
| @@ -2574,6 +2585,7 @@ void Browser::ExecuteCommandWithDisposition( |
| case IDC_SHOW_SYNC_SETUP: ShowSyncSetup(SyncPromoUI::SOURCE_MENU); |
| break; |
| case IDC_TOGGLE_SPEECH_INPUT: ToggleSpeechInput(); break; |
| + case IDC_SELECT_NEXT_MRU_TAB: SelectNextMRUTab(); break; |
| default: |
| LOG(WARNING) << "Received Unimplemented Command: " << id; |
| @@ -4079,6 +4091,11 @@ void Browser::InitCommandState() { |
| command_updater_.UpdateCommandEnabled(IDC_SELECT_NEXT_TAB, normal_window); |
| command_updater_.UpdateCommandEnabled(IDC_SELECT_PREVIOUS_TAB, |
| normal_window); |
| + if (CommandLine::ForCurrentProcess()->HasSwitch( |
| + switches::kEnableTabMRUSwitch)) { |
| + command_updater_.UpdateCommandEnabled(IDC_SELECT_NEXT_MRU_TAB, |
| + normal_window); |
| + } |
| command_updater_.UpdateCommandEnabled(IDC_MOVE_TAB_NEXT, normal_window); |
| command_updater_.UpdateCommandEnabled(IDC_MOVE_TAB_PREVIOUS, normal_window); |
| command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_0, normal_window); |