OLD | NEW |
---|---|
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/ui/browser.h" | 5 #include "chrome/browser/ui/browser.h" |
6 | 6 |
7 #if defined(OS_WIN) | 7 #if defined(OS_WIN) |
8 #include <windows.h> | 8 #include <windows.h> |
9 #include <shellapi.h> | 9 #include <shellapi.h> |
10 #endif // OS_WIN | 10 #endif // OS_WIN |
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
123 #include "chrome/browser/ui/panels/panel.h" | 123 #include "chrome/browser/ui/panels/panel.h" |
124 #include "chrome/browser/ui/panels/panel_manager.h" | 124 #include "chrome/browser/ui/panels/panel_manager.h" |
125 #include "chrome/browser/ui/search_engines/search_engine_tab_helper.h" | 125 #include "chrome/browser/ui/search_engines/search_engine_tab_helper.h" |
126 #include "chrome/browser/ui/status_bubble.h" | 126 #include "chrome/browser/ui/status_bubble.h" |
127 #include "chrome/browser/ui/sync/browser_synced_window_delegate.h" | 127 #include "chrome/browser/ui/sync/browser_synced_window_delegate.h" |
128 #include "chrome/browser/ui/tab_contents/core_tab_helper.h" | 128 #include "chrome/browser/ui/tab_contents/core_tab_helper.h" |
129 #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h" | 129 #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h" |
130 #include "chrome/browser/ui/tabs/dock_info.h" | 130 #include "chrome/browser/ui/tabs/dock_info.h" |
131 #include "chrome/browser/ui/tabs/tab_finder.h" | 131 #include "chrome/browser/ui/tabs/tab_finder.h" |
132 #include "chrome/browser/ui/tabs/tab_menu_model.h" | 132 #include "chrome/browser/ui/tabs/tab_menu_model.h" |
133 #include "chrome/browser/ui/tabs/tab_mru_list_manager.h" | |
133 #include "chrome/browser/ui/tabs/tab_strip_model.h" | 134 #include "chrome/browser/ui/tabs/tab_strip_model.h" |
134 #include "chrome/browser/ui/web_applications/web_app_ui.h" | 135 #include "chrome/browser/ui/web_applications/web_app_ui.h" |
135 #include "chrome/browser/ui/webui/feedback_ui.h" | 136 #include "chrome/browser/ui/webui/feedback_ui.h" |
136 #include "chrome/browser/ui/webui/ntp/app_launcher_handler.h" | 137 #include "chrome/browser/ui/webui/ntp/app_launcher_handler.h" |
137 #include "chrome/browser/ui/webui/ntp/new_tab_page_handler.h" | 138 #include "chrome/browser/ui/webui/ntp/new_tab_page_handler.h" |
138 #include "chrome/browser/ui/webui/options2/content_settings_handler2.h" | 139 #include "chrome/browser/ui/webui/options2/content_settings_handler2.h" |
139 #include "chrome/browser/ui/webui/signin/login_ui_service.h" | 140 #include "chrome/browser/ui/webui/signin/login_ui_service.h" |
140 #include "chrome/browser/ui/webui/signin/login_ui_service_factory.h" | 141 #include "chrome/browser/ui/webui/signin/login_ui_service_factory.h" |
141 #include "chrome/browser/ui/window_sizer.h" | 142 #include "chrome/browser/ui/window_sizer.h" |
142 #include "chrome/browser/upgrade_detector.h" | 143 #include "chrome/browser/upgrade_detector.h" |
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
367 new BrowserToolbarModelDelegate(this))), | 368 new BrowserToolbarModelDelegate(this))), |
368 ALLOW_THIS_IN_INITIALIZER_LIST( | 369 ALLOW_THIS_IN_INITIALIZER_LIST( |
369 tab_restore_service_delegate_( | 370 tab_restore_service_delegate_( |
370 new BrowserTabRestoreServiceDelegate(this))), | 371 new BrowserTabRestoreServiceDelegate(this))), |
371 ALLOW_THIS_IN_INITIALIZER_LIST( | 372 ALLOW_THIS_IN_INITIALIZER_LIST( |
372 synced_window_delegate_( | 373 synced_window_delegate_( |
373 new BrowserSyncedWindowDelegate(this))), | 374 new BrowserSyncedWindowDelegate(this))), |
374 bookmark_bar_state_(BookmarkBar::HIDDEN), | 375 bookmark_bar_state_(BookmarkBar::HIDDEN), |
375 window_has_shown_(false) { | 376 window_has_shown_(false) { |
376 tab_strip_model_->AddObserver(this); | 377 tab_strip_model_->AddObserver(this); |
377 | 378 if (CommandLine::ForCurrentProcess()->HasSwitch( |
379 switches::kEnableTabMRUSwitch)) { | |
380 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.
| |
381 } | |
378 toolbar_model_.reset(new ToolbarModel(toolbar_model_delegate_.get())); | 382 toolbar_model_.reset(new ToolbarModel(toolbar_model_delegate_.get())); |
379 | 383 |
380 registrar_.Add(this, content::NOTIFICATION_SSL_VISIBLE_STATE_CHANGED, | 384 registrar_.Add(this, content::NOTIFICATION_SSL_VISIBLE_STATE_CHANGED, |
381 content::NotificationService::AllSources()); | 385 content::NotificationService::AllSources()); |
382 registrar_.Add(this, chrome::NOTIFICATION_EXTENSION_LOADED, | 386 registrar_.Add(this, chrome::NOTIFICATION_EXTENSION_LOADED, |
383 content::Source<Profile>(profile_->GetOriginalProfile())); | 387 content::Source<Profile>(profile_->GetOriginalProfile())); |
384 registrar_.Add(this, chrome::NOTIFICATION_EXTENSION_UNLOADED, | 388 registrar_.Add(this, chrome::NOTIFICATION_EXTENSION_UNLOADED, |
385 content::Source<Profile>(profile_->GetOriginalProfile())); | 389 content::Source<Profile>(profile_->GetOriginalProfile())); |
386 registrar_.Add(this, chrome::NOTIFICATION_EXTENSION_UNINSTALLED, | 390 registrar_.Add(this, chrome::NOTIFICATION_EXTENSION_UNINSTALLED, |
387 content::Source<Profile>(profile_->GetOriginalProfile())); | 391 content::Source<Profile>(profile_->GetOriginalProfile())); |
(...skipping 1066 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1454 content::RecordAction(UserMetricsAction("SelectNumberedTab")); | 1458 content::RecordAction(UserMetricsAction("SelectNumberedTab")); |
1455 ActivateTabAt(index, true); | 1459 ActivateTabAt(index, true); |
1456 } | 1460 } |
1457 } | 1461 } |
1458 | 1462 |
1459 void Browser::SelectLastTab() { | 1463 void Browser::SelectLastTab() { |
1460 content::RecordAction(UserMetricsAction("SelectLastTab")); | 1464 content::RecordAction(UserMetricsAction("SelectLastTab")); |
1461 tab_strip_model_->SelectLastTab(); | 1465 tab_strip_model_->SelectLastTab(); |
1462 } | 1466 } |
1463 | 1467 |
1468 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.
| |
1469 content::RecordAction(UserMetricsAction("SelectNextMRUTab")); | |
1470 TabContentsWrapper* contents = tab_mru_list_manager_->GetNextMRUTab(); | |
1471 if (contents) | |
1472 ActivateTabAt(tab_strip_model_->GetIndexOfTabContents(contents), true); | |
1473 } | |
1474 | |
1464 void Browser::DuplicateTab() { | 1475 void Browser::DuplicateTab() { |
1465 content::RecordAction(UserMetricsAction("Duplicate")); | 1476 content::RecordAction(UserMetricsAction("Duplicate")); |
1466 DuplicateContentsAt(active_index()); | 1477 DuplicateContentsAt(active_index()); |
1467 } | 1478 } |
1468 | 1479 |
1469 void Browser::WriteCurrentURLToClipboard() { | 1480 void Browser::WriteCurrentURLToClipboard() { |
1470 // TODO(ericu): There isn't currently a metric for this. Should there be? | 1481 // TODO(ericu): There isn't currently a metric for this. Should there be? |
1471 // We don't appear to track the action when it comes from the | 1482 // We don't appear to track the action when it comes from the |
1472 // RenderContextViewMenu. | 1483 // RenderContextViewMenu. |
1473 | 1484 |
(...skipping 1093 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2567 case IDC_VIEW_PASSWORDS: OpenPasswordManager(); break; | 2578 case IDC_VIEW_PASSWORDS: OpenPasswordManager(); break; |
2568 case IDC_CLEAR_BROWSING_DATA: OpenClearBrowsingDataDialog(); break; | 2579 case IDC_CLEAR_BROWSING_DATA: OpenClearBrowsingDataDialog(); break; |
2569 case IDC_IMPORT_SETTINGS: OpenImportSettingsDialog(); break; | 2580 case IDC_IMPORT_SETTINGS: OpenImportSettingsDialog(); break; |
2570 case IDC_ABOUT: OpenAboutChromeDialog(); break; | 2581 case IDC_ABOUT: OpenAboutChromeDialog(); break; |
2571 case IDC_UPGRADE_DIALOG: OpenUpdateChromeDialog(); break; | 2582 case IDC_UPGRADE_DIALOG: OpenUpdateChromeDialog(); break; |
2572 case IDC_VIEW_INCOMPATIBILITIES: ShowAboutConflictsTab(); break; | 2583 case IDC_VIEW_INCOMPATIBILITIES: ShowAboutConflictsTab(); break; |
2573 case IDC_HELP_PAGE: ShowHelpTab(); break; | 2584 case IDC_HELP_PAGE: ShowHelpTab(); break; |
2574 case IDC_SHOW_SYNC_SETUP: ShowSyncSetup(SyncPromoUI::SOURCE_MENU); | 2585 case IDC_SHOW_SYNC_SETUP: ShowSyncSetup(SyncPromoUI::SOURCE_MENU); |
2575 break; | 2586 break; |
2576 case IDC_TOGGLE_SPEECH_INPUT: ToggleSpeechInput(); break; | 2587 case IDC_TOGGLE_SPEECH_INPUT: ToggleSpeechInput(); break; |
2588 case IDC_SELECT_NEXT_MRU_TAB: SelectNextMRUTab(); break; | |
2577 | 2589 |
2578 default: | 2590 default: |
2579 LOG(WARNING) << "Received Unimplemented Command: " << id; | 2591 LOG(WARNING) << "Received Unimplemented Command: " << id; |
2580 break; | 2592 break; |
2581 } | 2593 } |
2582 } | 2594 } |
2583 | 2595 |
2584 //////////////////////////////////////////////////////////////////////////////// | 2596 //////////////////////////////////////////////////////////////////////////////// |
2585 // Browser, TabRestoreServiceObserver: | 2597 // Browser, TabRestoreServiceObserver: |
2586 | 2598 |
(...skipping 1485 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
4072 // Navigation commands | 4084 // Navigation commands |
4073 command_updater_.UpdateCommandEnabled(IDC_HOME, normal_window); | 4085 command_updater_.UpdateCommandEnabled(IDC_HOME, normal_window); |
4074 | 4086 |
4075 // Window management commands | 4087 // Window management commands |
4076 // TODO(rohitrao): Disable fullscreen on non-Lion? | 4088 // TODO(rohitrao): Disable fullscreen on non-Lion? |
4077 command_updater_.UpdateCommandEnabled(IDC_FULLSCREEN, | 4089 command_updater_.UpdateCommandEnabled(IDC_FULLSCREEN, |
4078 !(is_type_panel() && is_app())); | 4090 !(is_type_panel() && is_app())); |
4079 command_updater_.UpdateCommandEnabled(IDC_SELECT_NEXT_TAB, normal_window); | 4091 command_updater_.UpdateCommandEnabled(IDC_SELECT_NEXT_TAB, normal_window); |
4080 command_updater_.UpdateCommandEnabled(IDC_SELECT_PREVIOUS_TAB, | 4092 command_updater_.UpdateCommandEnabled(IDC_SELECT_PREVIOUS_TAB, |
4081 normal_window); | 4093 normal_window); |
4094 if (CommandLine::ForCurrentProcess()->HasSwitch( | |
4095 switches::kEnableTabMRUSwitch)) { | |
4096 command_updater_.UpdateCommandEnabled(IDC_SELECT_NEXT_MRU_TAB, | |
4097 normal_window); | |
4098 } | |
4082 command_updater_.UpdateCommandEnabled(IDC_MOVE_TAB_NEXT, normal_window); | 4099 command_updater_.UpdateCommandEnabled(IDC_MOVE_TAB_NEXT, normal_window); |
4083 command_updater_.UpdateCommandEnabled(IDC_MOVE_TAB_PREVIOUS, normal_window); | 4100 command_updater_.UpdateCommandEnabled(IDC_MOVE_TAB_PREVIOUS, normal_window); |
4084 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_0, normal_window); | 4101 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_0, normal_window); |
4085 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_1, normal_window); | 4102 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_1, normal_window); |
4086 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_2, normal_window); | 4103 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_2, normal_window); |
4087 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_3, normal_window); | 4104 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_3, normal_window); |
4088 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_4, normal_window); | 4105 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_4, normal_window); |
4089 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_5, normal_window); | 4106 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_5, normal_window); |
4090 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_6, normal_window); | 4107 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_6, normal_window); |
4091 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_7, normal_window); | 4108 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_7, normal_window); |
(...skipping 1017 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
5109 if (contents && !allow_js_access) { | 5126 if (contents && !allow_js_access) { |
5110 contents->web_contents()->GetController().LoadURL( | 5127 contents->web_contents()->GetController().LoadURL( |
5111 target_url, | 5128 target_url, |
5112 content::Referrer(), | 5129 content::Referrer(), |
5113 content::PAGE_TRANSITION_LINK, | 5130 content::PAGE_TRANSITION_LINK, |
5114 std::string()); // No extra headers. | 5131 std::string()); // No extra headers. |
5115 } | 5132 } |
5116 | 5133 |
5117 return contents != NULL; | 5134 return contents != NULL; |
5118 } | 5135 } |
OLD | NEW |