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

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

Issue 498573003: Add relaunch into ASH and desktop support for Chrome on Windows 7. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Removed newline from chrome_command_ids.h Created 6 years, 3 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 | Annotate | Revision Log
« no previous file with comments | « chrome/browser/ui/ash/ash_util.cc ('k') | chrome/browser/ui/toolbar/wrench_menu_model.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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_command_controller.h" 5 #include "chrome/browser/ui/browser_command_controller.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/prefs/pref_service.h" 8 #include "base/prefs/pref_service.h"
9 #include "chrome/app/chrome_command_ids.h" 9 #include "chrome/app/chrome_command_ids.h"
10 #include "chrome/browser/browser_process.h" 10 #include "chrome/browser/browser_process.h"
(...skipping 443 matching lines...) Expand 10 before | Expand all | Expand 10 after
454 ConvertPopupToTabbedBrowser(browser_); 454 ConvertPopupToTabbedBrowser(browser_);
455 break; 455 break;
456 case IDC_FULLSCREEN: 456 case IDC_FULLSCREEN:
457 #if defined(OS_MACOSX) 457 #if defined(OS_MACOSX)
458 chrome::ToggleFullscreenWithChromeOrFallback(browser_); 458 chrome::ToggleFullscreenWithChromeOrFallback(browser_);
459 #else 459 #else
460 chrome::ToggleFullscreenMode(browser_); 460 chrome::ToggleFullscreenMode(browser_);
461 #endif 461 #endif
462 break; 462 break;
463 463
464 #if defined(USE_ASH)
465 case IDC_TOGGLE_ASH_DESKTOP:
466 chrome::ToggleAshDesktop();
467 break;
468 #endif
469
470 #if defined(OS_CHROMEOS) 464 #if defined(OS_CHROMEOS)
471 case IDC_VISIT_DESKTOP_OF_LRU_USER_2: 465 case IDC_VISIT_DESKTOP_OF_LRU_USER_2:
472 case IDC_VISIT_DESKTOP_OF_LRU_USER_3: 466 case IDC_VISIT_DESKTOP_OF_LRU_USER_3:
473 ExecuteVisitDesktopCommand(id, browser_->window()->GetNativeWindow()); 467 ExecuteVisitDesktopCommand(id, browser_->window()->GetNativeWindow());
474 break; 468 break;
475 #endif 469 #endif
476 470
477 #if defined(OS_LINUX) && !defined(OS_CHROMEOS) 471 #if defined(OS_LINUX) && !defined(OS_CHROMEOS)
478 case IDC_USE_SYSTEM_TITLE_BAR: { 472 case IDC_USE_SYSTEM_TITLE_BAR: {
479 PrefService* prefs = browser_->profile()->GetPrefs(); 473 PrefService* prefs = browser_->profile()->GetPrefs();
480 prefs->SetBoolean(prefs::kUseCustomChromeFrame, 474 prefs->SetBoolean(prefs::kUseCustomChromeFrame,
481 !prefs->GetBoolean(prefs::kUseCustomChromeFrame)); 475 !prefs->GetBoolean(prefs::kUseCustomChromeFrame));
482 break; 476 break;
483 } 477 }
484 #endif 478 #endif
485 479
486 #if defined(OS_WIN) 480 #if defined(OS_WIN)
487 // Windows 8 specific commands. 481 // Windows 8 specific commands.
488 case IDC_METRO_SNAP_ENABLE: 482 case IDC_METRO_SNAP_ENABLE:
489 browser_->SetMetroSnapMode(true); 483 browser_->SetMetroSnapMode(true);
490 break; 484 break;
491 case IDC_METRO_SNAP_DISABLE: 485 case IDC_METRO_SNAP_DISABLE:
492 browser_->SetMetroSnapMode(false); 486 browser_->SetMetroSnapMode(false);
493 break; 487 break;
494 case IDC_WIN8_DESKTOP_RESTART: 488 case IDC_WIN_DESKTOP_RESTART:
495 if (!VerifyMetroSwitchForApps(window()->GetNativeWindow(), id)) 489 if (!VerifyASHSwitchForApps(window()->GetNativeWindow(), id))
496 break; 490 break;
497 491
498 chrome::AttemptRestartToDesktopMode(); 492 chrome::AttemptRestartToDesktopMode();
499 content::RecordAction(base::UserMetricsAction("Win8DesktopRestart")); 493 if (base::win::GetVersion() >= base::win::VERSION_WIN8) {
494 content::RecordAction(base::UserMetricsAction("Win8DesktopRestart"));
495 } else {
496 content::RecordAction(base::UserMetricsAction("Win7DesktopRestart"));
497 }
500 break; 498 break;
501 case IDC_WIN8_METRO_RESTART: 499 case IDC_WIN8_METRO_RESTART:
502 if (!VerifyMetroSwitchForApps(window()->GetNativeWindow(), id)) 500 case IDC_WIN_CHROMEOS_RESTART:
501 if (!VerifyASHSwitchForApps(window()->GetNativeWindow(), id))
503 break; 502 break;
504 503 if (base::win::GetVersion() >= base::win::VERSION_WIN8) {
505 // SwitchToMetroUIHandler deletes itself. 504 // SwitchToMetroUIHandler deletes itself.
506 new SwitchToMetroUIHandler; 505 new SwitchToMetroUIHandler;
507 content::RecordAction(base::UserMetricsAction("Win8MetroRestart")); 506 content::RecordAction(base::UserMetricsAction("Win8MetroRestart"));
507 } else {
508 content::RecordAction(base::UserMetricsAction("Win7ASHRestart"));
509 chrome::AttemptRestartToMetroMode();
510 }
508 break; 511 break;
509 #endif 512 #endif
510 513
511 #if defined(OS_MACOSX) 514 #if defined(OS_MACOSX)
512 case IDC_PRESENTATION_MODE: 515 case IDC_PRESENTATION_MODE:
513 chrome::ToggleFullscreenMode(browser_); 516 chrome::ToggleFullscreenMode(browser_);
514 break; 517 break;
515 #endif 518 #endif
516 case IDC_EXIT: 519 case IDC_EXIT:
517 Exit(); 520 Exit();
(...skipping 361 matching lines...) Expand 10 before | Expand all | Expand 10 after
879 command_updater_.UpdateCommandEnabled(IDC_CLOSE_TAB, true); 882 command_updater_.UpdateCommandEnabled(IDC_CLOSE_TAB, true);
880 command_updater_.UpdateCommandEnabled(IDC_DUPLICATE_TAB, true); 883 command_updater_.UpdateCommandEnabled(IDC_DUPLICATE_TAB, true);
881 UpdateTabRestoreCommandState(); 884 UpdateTabRestoreCommandState();
882 #if defined(OS_WIN) && defined(USE_ASH) 885 #if defined(OS_WIN) && defined(USE_ASH)
883 if (browser_->host_desktop_type() != chrome::HOST_DESKTOP_TYPE_ASH) 886 if (browser_->host_desktop_type() != chrome::HOST_DESKTOP_TYPE_ASH)
884 command_updater_.UpdateCommandEnabled(IDC_EXIT, true); 887 command_updater_.UpdateCommandEnabled(IDC_EXIT, true);
885 #else 888 #else
886 command_updater_.UpdateCommandEnabled(IDC_EXIT, true); 889 command_updater_.UpdateCommandEnabled(IDC_EXIT, true);
887 #endif 890 #endif
888 command_updater_.UpdateCommandEnabled(IDC_DEBUG_FRAME_TOGGLE, true); 891 command_updater_.UpdateCommandEnabled(IDC_DEBUG_FRAME_TOGGLE, true);
889 #if defined(OS_WIN) && defined(USE_ASH) && !defined(NDEBUG)
890 if (base::win::GetVersion() < base::win::VERSION_WIN8 &&
891 chrome::HOST_DESKTOP_TYPE_NATIVE != chrome::HOST_DESKTOP_TYPE_ASH)
892 command_updater_.UpdateCommandEnabled(IDC_TOGGLE_ASH_DESKTOP, true);
893 #endif
894 #if defined(USE_ASH) 892 #if defined(USE_ASH)
895 command_updater_.UpdateCommandEnabled(IDC_MINIMIZE_WINDOW, true); 893 command_updater_.UpdateCommandEnabled(IDC_MINIMIZE_WINDOW, true);
896 #endif 894 #endif
897 #if defined(OS_CHROMEOS) 895 #if defined(OS_CHROMEOS)
898 command_updater_.UpdateCommandEnabled(IDC_VISIT_DESKTOP_OF_LRU_USER_2, true); 896 command_updater_.UpdateCommandEnabled(IDC_VISIT_DESKTOP_OF_LRU_USER_2, true);
899 command_updater_.UpdateCommandEnabled(IDC_VISIT_DESKTOP_OF_LRU_USER_3, true); 897 command_updater_.UpdateCommandEnabled(IDC_VISIT_DESKTOP_OF_LRU_USER_3, true);
900 #endif 898 #endif
901 #if defined(OS_LINUX) && !defined(OS_CHROMEOS) 899 #if defined(OS_LINUX) && !defined(OS_CHROMEOS)
902 command_updater_.UpdateCommandEnabled(IDC_USE_SYSTEM_TITLE_BAR, true); 900 command_updater_.UpdateCommandEnabled(IDC_USE_SYSTEM_TITLE_BAR, true);
903 #endif 901 #endif
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
995 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_3, normal_window); 993 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_3, normal_window);
996 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_4, normal_window); 994 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_4, normal_window);
997 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_5, normal_window); 995 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_5, normal_window);
998 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_6, normal_window); 996 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_6, normal_window);
999 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_7, normal_window); 997 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_7, normal_window);
1000 command_updater_.UpdateCommandEnabled(IDC_SELECT_LAST_TAB, normal_window); 998 command_updater_.UpdateCommandEnabled(IDC_SELECT_LAST_TAB, normal_window);
1001 #if defined(OS_WIN) 999 #if defined(OS_WIN)
1002 bool metro = browser_->host_desktop_type() == chrome::HOST_DESKTOP_TYPE_ASH; 1000 bool metro = browser_->host_desktop_type() == chrome::HOST_DESKTOP_TYPE_ASH;
1003 command_updater_.UpdateCommandEnabled(IDC_METRO_SNAP_ENABLE, metro); 1001 command_updater_.UpdateCommandEnabled(IDC_METRO_SNAP_ENABLE, metro);
1004 command_updater_.UpdateCommandEnabled(IDC_METRO_SNAP_DISABLE, metro); 1002 command_updater_.UpdateCommandEnabled(IDC_METRO_SNAP_DISABLE, metro);
1005 int restart_mode = metro ? IDC_WIN8_DESKTOP_RESTART : IDC_WIN8_METRO_RESTART; 1003 int restart_mode = metro ? IDC_WIN_DESKTOP_RESTART :
1004 (base::win::GetVersion() >= base::win::VERSION_WIN8 ?
1005 IDC_WIN8_METRO_RESTART : IDC_WIN_CHROMEOS_RESTART);
1006 command_updater_.UpdateCommandEnabled(restart_mode, normal_window); 1006 command_updater_.UpdateCommandEnabled(restart_mode, normal_window);
1007 #endif 1007 #endif
1008 1008
1009 // These are always enabled; the menu determines their menu item visibility. 1009 // These are always enabled; the menu determines their menu item visibility.
1010 command_updater_.UpdateCommandEnabled(IDC_UPGRADE_DIALOG, true); 1010 command_updater_.UpdateCommandEnabled(IDC_UPGRADE_DIALOG, true);
1011 command_updater_.UpdateCommandEnabled(IDC_VIEW_INCOMPATIBILITIES, true); 1011 command_updater_.UpdateCommandEnabled(IDC_VIEW_INCOMPATIBILITIES, true);
1012 1012
1013 // Toggle speech input 1013 // Toggle speech input
1014 command_updater_.UpdateCommandEnabled(IDC_TOGGLE_SPEECH_INPUT, true); 1014 command_updater_.UpdateCommandEnabled(IDC_TOGGLE_SPEECH_INPUT, true);
1015 1015
(...skipping 339 matching lines...) Expand 10 before | Expand all | Expand 10 after
1355 1355
1356 BrowserWindow* BrowserCommandController::window() { 1356 BrowserWindow* BrowserCommandController::window() {
1357 return browser_->window(); 1357 return browser_->window();
1358 } 1358 }
1359 1359
1360 Profile* BrowserCommandController::profile() { 1360 Profile* BrowserCommandController::profile() {
1361 return browser_->profile(); 1361 return browser_->profile();
1362 } 1362 }
1363 1363
1364 } // namespace chrome 1364 } // namespace chrome
OLDNEW
« no previous file with comments | « chrome/browser/ui/ash/ash_util.cc ('k') | chrome/browser/ui/toolbar/wrench_menu_model.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698