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

Side by Side Diff: chrome/browser/ui/browser.cc

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: Fixed review comments. Created 8 years, 6 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 unified diff | Download patch
OLDNEW
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
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
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()));
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
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::SelectPreviousMRUTab() {
1469 content::RecordAction(UserMetricsAction("SelectPreviousMRUTab"));
1470 TabContentsWrapper* contents = tab_mru_list_manager_->GetPreviousMRUTab();
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 945 matching lines...) Expand 10 before | Expand all | Expand 10 after
2419 DCHECK_EQ(last_blocked_command_id_, -1); 2430 DCHECK_EQ(last_blocked_command_id_, -1);
2420 last_blocked_command_id_ = id; 2431 last_blocked_command_id_ = id;
2421 last_blocked_command_disposition_ = disposition; 2432 last_blocked_command_disposition_ = disposition;
2422 return; 2433 return;
2423 } 2434 }
2424 2435
2425 // The order of commands in this switch statement must match the function 2436 // The order of commands in this switch statement must match the function
2426 // declaration order in browser.h! 2437 // declaration order in browser.h!
2427 switch (id) { 2438 switch (id) {
2428 // Navigation commands 2439 // Navigation commands
2429 case IDC_BACK: GoBack(disposition); break; 2440 case IDC_BACK: GoBack(disposition); break;
2430 case IDC_FORWARD: GoForward(disposition); break; 2441 case IDC_FORWARD: GoForward(disposition); break;
2431 case IDC_RELOAD: Reload(disposition); break; 2442 case IDC_RELOAD: Reload(disposition); break;
2432 case IDC_RELOAD_IGNORING_CACHE: ReloadIgnoringCache(disposition); break; 2443 case IDC_RELOAD_IGNORING_CACHE: ReloadIgnoringCache(disposition); break;
2433 case IDC_HOME: Home(disposition); break; 2444 case IDC_HOME: Home(disposition); break;
2434 case IDC_OPEN_CURRENT_URL: OpenCurrentURL(); break; 2445 case IDC_OPEN_CURRENT_URL: OpenCurrentURL(); break;
2435 case IDC_STOP: Stop(); break; 2446 case IDC_STOP: Stop(); break;
2436 2447
2437 // Window management commands 2448 // Window management commands
2438 case IDC_NEW_WINDOW: NewWindow(); break; 2449 case IDC_NEW_WINDOW: NewWindow(); break;
2439 case IDC_NEW_INCOGNITO_WINDOW: NewIncognitoWindow(); break; 2450 case IDC_NEW_INCOGNITO_WINDOW: NewIncognitoWindow(); break;
2440 case IDC_CLOSE_WINDOW: CloseWindow(); break; 2451 case IDC_CLOSE_WINDOW: CloseWindow(); break;
2441 case IDC_NEW_TAB: NewTab(); break; 2452 case IDC_NEW_TAB: NewTab(); break;
2442 case IDC_CLOSE_TAB: CloseTab(); break; 2453 case IDC_CLOSE_TAB: CloseTab(); break;
2443 case IDC_SELECT_NEXT_TAB: SelectNextTab(); break; 2454 case IDC_SELECT_NEXT_TAB: SelectNextTab(); break;
2444 case IDC_SELECT_PREVIOUS_TAB: SelectPreviousTab(); break; 2455 case IDC_SELECT_PREVIOUS_TAB: SelectPreviousTab(); break;
2445 case IDC_TABPOSE: OpenTabpose(); break; 2456 case IDC_TABPOSE: OpenTabpose(); break;
2446 case IDC_MOVE_TAB_NEXT: MoveTabNext(); break; 2457 case IDC_MOVE_TAB_NEXT: MoveTabNext(); break;
2447 case IDC_MOVE_TAB_PREVIOUS: MoveTabPrevious(); break; 2458 case IDC_MOVE_TAB_PREVIOUS: MoveTabPrevious(); break;
2448 case IDC_SELECT_TAB_0: 2459 case IDC_SELECT_TAB_0:
2449 case IDC_SELECT_TAB_1: 2460 case IDC_SELECT_TAB_1:
2450 case IDC_SELECT_TAB_2: 2461 case IDC_SELECT_TAB_2:
2451 case IDC_SELECT_TAB_3: 2462 case IDC_SELECT_TAB_3:
2452 case IDC_SELECT_TAB_4: 2463 case IDC_SELECT_TAB_4:
2453 case IDC_SELECT_TAB_5: 2464 case IDC_SELECT_TAB_5:
2454 case IDC_SELECT_TAB_6: 2465 case IDC_SELECT_TAB_6:
2455 case IDC_SELECT_TAB_7: SelectNumberedTab(id - IDC_SELECT_TAB_0); 2466 case IDC_SELECT_TAB_7: SelectNumberedTab(id - IDC_SELECT_TAB_0);
2456 break; 2467 break;
2457 case IDC_SELECT_LAST_TAB: SelectLastTab(); break; 2468 case IDC_SELECT_LAST_TAB: SelectLastTab(); break;
2458 case IDC_DUPLICATE_TAB: DuplicateTab(); break; 2469 case IDC_DUPLICATE_TAB: DuplicateTab(); break;
2459 case IDC_RESTORE_TAB: RestoreTab(); break; 2470 case IDC_RESTORE_TAB: RestoreTab(); break;
2460 case IDC_COPY_URL: WriteCurrentURLToClipboard(); break; 2471 case IDC_COPY_URL: WriteCurrentURLToClipboard(); break;
2461 case IDC_SHOW_AS_TAB: ConvertPopupToTabbedBrowser(); break; 2472 case IDC_SHOW_AS_TAB: ConvertPopupToTabbedBrowser(); break;
2462 case IDC_FULLSCREEN: ToggleFullscreenMode(); break; 2473 case IDC_FULLSCREEN: ToggleFullscreenMode(); break;
2463 #if defined(OS_MACOSX) 2474 #if defined(OS_MACOSX)
2464 case IDC_PRESENTATION_MODE: TogglePresentationMode(); break; 2475 case IDC_PRESENTATION_MODE: TogglePresentationMode(); break;
2465 #endif 2476 #endif
2466 case IDC_EXIT: Exit(); break; 2477 case IDC_EXIT: Exit(); break;
2467 2478
2468 // Page-related commands 2479 // Page-related commands
2469 case IDC_SAVE_PAGE: SavePage(); break; 2480 case IDC_SAVE_PAGE: SavePage(); break;
2470 case IDC_BOOKMARK_PAGE: BookmarkCurrentPage(); break; 2481 case IDC_BOOKMARK_PAGE: BookmarkCurrentPage(); break;
2471 case IDC_BOOKMARK_ALL_TABS: BookmarkAllTabs(); break; 2482 case IDC_BOOKMARK_ALL_TABS: BookmarkAllTabs(); break;
2472 case IDC_VIEW_SOURCE: ViewSelectedSource(); break; 2483 case IDC_VIEW_SOURCE: ViewSelectedSource(); break;
2473 case IDC_EMAIL_PAGE_LOCATION: EmailPageLocation(); break; 2484 case IDC_EMAIL_PAGE_LOCATION: EmailPageLocation(); break;
2474 case IDC_PRINT: Print(); break; 2485 case IDC_PRINT: Print(); break;
2475 case IDC_ADVANCED_PRINT: AdvancedPrint(); break; 2486 case IDC_ADVANCED_PRINT: AdvancedPrint(); break;
2476 case IDC_CHROME_TO_MOBILE_PAGE: ShowChromeToMobileBubble(); break; 2487 case IDC_CHROME_TO_MOBILE_PAGE: ShowChromeToMobileBubble(); break;
2477 case IDC_ENCODING_AUTO_DETECT: ToggleEncodingAutoDetect(); break; 2488 case IDC_ENCODING_AUTO_DETECT: ToggleEncodingAutoDetect(); break;
2478 case IDC_ENCODING_UTF8: 2489 case IDC_ENCODING_UTF8:
2479 case IDC_ENCODING_UTF16LE: 2490 case IDC_ENCODING_UTF16LE:
2480 case IDC_ENCODING_ISO88591: 2491 case IDC_ENCODING_ISO88591:
2481 case IDC_ENCODING_WINDOWS1252: 2492 case IDC_ENCODING_WINDOWS1252:
2482 case IDC_ENCODING_GBK: 2493 case IDC_ENCODING_GBK:
2483 case IDC_ENCODING_GB18030: 2494 case IDC_ENCODING_GB18030:
2484 case IDC_ENCODING_BIG5HKSCS: 2495 case IDC_ENCODING_BIG5HKSCS:
2485 case IDC_ENCODING_BIG5: 2496 case IDC_ENCODING_BIG5:
2486 case IDC_ENCODING_KOREAN: 2497 case IDC_ENCODING_KOREAN:
2487 case IDC_ENCODING_SHIFTJIS: 2498 case IDC_ENCODING_SHIFTJIS:
(...skipping 16 matching lines...) Expand all
2504 case IDC_ENCODING_ISO88593: 2515 case IDC_ENCODING_ISO88593:
2505 case IDC_ENCODING_ISO885910: 2516 case IDC_ENCODING_ISO885910:
2506 case IDC_ENCODING_ISO885914: 2517 case IDC_ENCODING_ISO885914:
2507 case IDC_ENCODING_ISO885916: 2518 case IDC_ENCODING_ISO885916:
2508 case IDC_ENCODING_WINDOWS1254: 2519 case IDC_ENCODING_WINDOWS1254:
2509 case IDC_ENCODING_ISO88596: 2520 case IDC_ENCODING_ISO88596:
2510 case IDC_ENCODING_WINDOWS1256: 2521 case IDC_ENCODING_WINDOWS1256:
2511 case IDC_ENCODING_ISO88598: 2522 case IDC_ENCODING_ISO88598:
2512 case IDC_ENCODING_ISO88598I: 2523 case IDC_ENCODING_ISO88598I:
2513 case IDC_ENCODING_WINDOWS1255: 2524 case IDC_ENCODING_WINDOWS1255:
2514 case IDC_ENCODING_WINDOWS1258: OverrideEncoding(id); break; 2525 case IDC_ENCODING_WINDOWS1258: OverrideEncoding(id); break;
2515 2526
2516 // Clipboard commands 2527 // Clipboard commands
2517 case IDC_CUT: Cut(); break; 2528 case IDC_CUT: Cut(); break;
2518 case IDC_COPY: Copy(); break; 2529 case IDC_COPY: Copy(); break;
2519 case IDC_PASTE: Paste(); break; 2530 case IDC_PASTE: Paste(); break;
2520 2531
2521 // Find-in-page 2532 // Find-in-page
2522 case IDC_FIND: Find(); break; 2533 case IDC_FIND: Find(); break;
2523 case IDC_FIND_NEXT: FindNext(); break; 2534 case IDC_FIND_NEXT: FindNext(); break;
2524 case IDC_FIND_PREVIOUS: FindPrevious(); break; 2535 case IDC_FIND_PREVIOUS: FindPrevious(); break;
2525 2536
2526 // Zoom 2537 // Zoom
2527 case IDC_ZOOM_PLUS: Zoom(content::PAGE_ZOOM_IN); break; 2538 case IDC_ZOOM_PLUS: Zoom(content::PAGE_ZOOM_IN); break;
2528 case IDC_ZOOM_NORMAL: Zoom(content::PAGE_ZOOM_RESET); break; 2539 case IDC_ZOOM_NORMAL: Zoom(content::PAGE_ZOOM_RESET); break;
2529 case IDC_ZOOM_MINUS: Zoom(content::PAGE_ZOOM_OUT); break; 2540 case IDC_ZOOM_MINUS: Zoom(content::PAGE_ZOOM_OUT); break;
2530 2541
2531 // Focus various bits of UI 2542 // Focus various bits of UI
2532 case IDC_FOCUS_TOOLBAR: FocusToolbar(); break; 2543 case IDC_FOCUS_TOOLBAR: FocusToolbar(); break;
2533 case IDC_FOCUS_LOCATION: FocusLocationBar(); break; 2544 case IDC_FOCUS_LOCATION: FocusLocationBar(); break;
2534 case IDC_FOCUS_SEARCH: FocusSearch(); break; 2545 case IDC_FOCUS_SEARCH: FocusSearch(); break;
2535 case IDC_FOCUS_MENU_BAR: FocusAppMenu(); break; 2546 case IDC_FOCUS_MENU_BAR: FocusAppMenu(); break;
2536 case IDC_FOCUS_BOOKMARKS: FocusBookmarksToolbar(); break; 2547 case IDC_FOCUS_BOOKMARKS: FocusBookmarksToolbar(); break;
2537 case IDC_FOCUS_NEXT_PANE: FocusNextPane(); break; 2548 case IDC_FOCUS_NEXT_PANE: FocusNextPane(); break;
2538 case IDC_FOCUS_PREVIOUS_PANE: FocusPreviousPane(); break; 2549 case IDC_FOCUS_PREVIOUS_PANE: FocusPreviousPane(); break;
2539 2550
2540 // Show various bits of UI 2551 // Show various bits of UI
2541 case IDC_OPEN_FILE: OpenFile(); break; 2552 case IDC_OPEN_FILE: OpenFile(); break;
2542 case IDC_CREATE_SHORTCUTS: OpenCreateShortcutsDialog(); break; 2553 case IDC_CREATE_SHORTCUTS: OpenCreateShortcutsDialog(); break;
2543 case IDC_DEV_TOOLS: ToggleDevToolsWindow( 2554 case IDC_DEV_TOOLS: ToggleDevToolsWindow(
2544 DEVTOOLS_TOGGLE_ACTION_NONE); 2555 DEVTOOLS_TOGGLE_ACTION_NONE);
2545 break; 2556 break;
2546 case IDC_DEV_TOOLS_CONSOLE: ToggleDevToolsWindow( 2557 case IDC_DEV_TOOLS_CONSOLE: ToggleDevToolsWindow(
2547 DEVTOOLS_TOGGLE_ACTION_SHOW_CONSOLE); 2558 DEVTOOLS_TOGGLE_ACTION_SHOW_CONSOLE);
2548 break; 2559 break;
2549 case IDC_DEV_TOOLS_INSPECT: ToggleDevToolsWindow( 2560 case IDC_DEV_TOOLS_INSPECT: ToggleDevToolsWindow(
2550 DEVTOOLS_TOGGLE_ACTION_INSPECT); 2561 DEVTOOLS_TOGGLE_ACTION_INSPECT);
2551 break; 2562 break;
2552 case IDC_TASK_MANAGER: OpenTaskManager(false); break; 2563 case IDC_TASK_MANAGER: OpenTaskManager(false); break;
2553 case IDC_VIEW_BACKGROUND_PAGES: OpenTaskManager(true); break; 2564 case IDC_VIEW_BACKGROUND_PAGES: OpenTaskManager(true); break;
2554 case IDC_FEEDBACK: OpenFeedbackDialog(); break; 2565 case IDC_FEEDBACK: OpenFeedbackDialog(); break;
2555 2566
2556 case IDC_SHOW_BOOKMARK_BAR: ToggleBookmarkBar(); break; 2567 case IDC_SHOW_BOOKMARK_BAR: ToggleBookmarkBar(); break;
2557 case IDC_PROFILING_ENABLED: Profiling::Toggle(); break; 2568 case IDC_PROFILING_ENABLED: Profiling::Toggle(); break;
2558 2569
2559 case IDC_SHOW_BOOKMARK_MANAGER: OpenBookmarkManager(); break; 2570 case IDC_SHOW_BOOKMARK_MANAGER: OpenBookmarkManager(); break;
2560 case IDC_SHOW_APP_MENU: ShowAppMenu(); break; 2571 case IDC_SHOW_APP_MENU: ShowAppMenu(); break;
2561 case IDC_SHOW_AVATAR_MENU: ShowAvatarMenu(); break; 2572 case IDC_SHOW_AVATAR_MENU: ShowAvatarMenu(); break;
2562 case IDC_SHOW_HISTORY: ShowHistoryTab(); break; 2573 case IDC_SHOW_HISTORY: ShowHistoryTab(); break;
2563 case IDC_SHOW_DOWNLOADS: ShowDownloadsTab(); break; 2574 case IDC_SHOW_DOWNLOADS: ShowDownloadsTab(); break;
2564 case IDC_MANAGE_EXTENSIONS: ShowExtensionsTab(); break; 2575 case IDC_MANAGE_EXTENSIONS: ShowExtensionsTab(); break;
2565 case IDC_OPTIONS: OpenOptionsDialog(); break; 2576 case IDC_OPTIONS: OpenOptionsDialog(); break;
2566 case IDC_EDIT_SEARCH_ENGINES: OpenSearchEngineOptionsDialog(); break; 2577 case IDC_EDIT_SEARCH_ENGINES: OpenSearchEngineOptionsDialog(); break;
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_PREVIOUS_MRU_TAB: SelectPreviousMRUTab(); 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
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(
sky 2012/06/15 19:47:39 This should be conditionally enabled.
NaveenBobbili (Motorola) 2012/06/25 09:44:23 Done.
4095 switches::kEnableTabMRUSwitch)) {
4096 command_updater_.UpdateCommandEnabled(IDC_SELECT_PREVIOUS_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
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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698