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_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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |