Chromium Code Reviews| 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 |