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 442 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
453 ConvertPopupToTabbedBrowser(browser_); | 453 ConvertPopupToTabbedBrowser(browser_); |
454 break; | 454 break; |
455 case IDC_FULLSCREEN: | 455 case IDC_FULLSCREEN: |
456 #if defined(OS_MACOSX) | 456 #if defined(OS_MACOSX) |
457 chrome::ToggleFullscreenWithChromeOrFallback(browser_); | 457 chrome::ToggleFullscreenWithChromeOrFallback(browser_); |
458 #else | 458 #else |
459 chrome::ToggleFullscreenMode(browser_); | 459 chrome::ToggleFullscreenMode(browser_); |
460 #endif | 460 #endif |
461 break; | 461 break; |
462 | 462 |
463 #if defined(USE_ASH) | |
464 case IDC_TOGGLE_ASH_DESKTOP: | |
465 chrome::ToggleAshDesktop(); | |
466 break; | |
467 #endif | |
468 | |
469 #if defined(OS_CHROMEOS) | 463 #if defined(OS_CHROMEOS) |
470 case IDC_VISIT_DESKTOP_OF_LRU_USER_2: | 464 case IDC_VISIT_DESKTOP_OF_LRU_USER_2: |
471 case IDC_VISIT_DESKTOP_OF_LRU_USER_3: | 465 case IDC_VISIT_DESKTOP_OF_LRU_USER_3: |
472 ExecuteVisitDesktopCommand(id, browser_->window()->GetNativeWindow()); | 466 ExecuteVisitDesktopCommand(id, browser_->window()->GetNativeWindow()); |
473 break; | 467 break; |
474 #endif | 468 #endif |
475 | 469 |
476 #if defined(OS_LINUX) && !defined(OS_CHROMEOS) | 470 #if defined(OS_LINUX) && !defined(OS_CHROMEOS) |
477 case IDC_USE_SYSTEM_TITLE_BAR: { | 471 case IDC_USE_SYSTEM_TITLE_BAR: { |
478 PrefService* prefs = browser_->profile()->GetPrefs(); | 472 PrefService* prefs = browser_->profile()->GetPrefs(); |
479 prefs->SetBoolean(prefs::kUseCustomChromeFrame, | 473 prefs->SetBoolean(prefs::kUseCustomChromeFrame, |
480 !prefs->GetBoolean(prefs::kUseCustomChromeFrame)); | 474 !prefs->GetBoolean(prefs::kUseCustomChromeFrame)); |
481 break; | 475 break; |
482 } | 476 } |
483 #endif | 477 #endif |
484 | 478 |
485 #if defined(OS_WIN) | 479 #if defined(OS_WIN) |
486 // Windows 8 specific commands. | 480 // Windows 8 specific commands. |
487 case IDC_METRO_SNAP_ENABLE: | 481 case IDC_METRO_SNAP_ENABLE: |
488 browser_->SetMetroSnapMode(true); | 482 browser_->SetMetroSnapMode(true); |
489 break; | 483 break; |
490 case IDC_METRO_SNAP_DISABLE: | 484 case IDC_METRO_SNAP_DISABLE: |
491 browser_->SetMetroSnapMode(false); | 485 browser_->SetMetroSnapMode(false); |
492 break; | 486 break; |
493 case IDC_WIN8_DESKTOP_RESTART: | 487 case IDC_WIN_DESKTOP_RESTART: |
494 if (!VerifyMetroSwitchForApps(window()->GetNativeWindow(), id)) | 488 if (!VerifyASHSwitchForApps(window()->GetNativeWindow(), id)) |
495 break; | 489 break; |
496 | 490 |
497 chrome::AttemptRestartToDesktopMode(); | 491 chrome::AttemptRestartToDesktopMode(); |
498 content::RecordAction(base::UserMetricsAction("Win8DesktopRestart")); | 492 if (base::win::GetVersion() >= base::win::VERSION_WIN8) { |
| 493 content::RecordAction(base::UserMetricsAction("Win8DesktopRestart")); |
| 494 } else { |
| 495 content::RecordAction(base::UserMetricsAction("Win7DesktopRestart")); |
| 496 } |
499 break; | 497 break; |
500 case IDC_WIN8_METRO_RESTART: | 498 case IDC_WIN8_METRO_RESTART: |
501 if (!VerifyMetroSwitchForApps(window()->GetNativeWindow(), id)) | 499 case IDC_WIN_ASH_RESTART: |
| 500 if (!VerifyASHSwitchForApps(window()->GetNativeWindow(), id)) |
502 break; | 501 break; |
503 | 502 if (base::win::GetVersion() >= base::win::VERSION_WIN8) { |
504 // SwitchToMetroUIHandler deletes itself. | 503 // SwitchToMetroUIHandler deletes itself. |
505 new SwitchToMetroUIHandler; | 504 new SwitchToMetroUIHandler; |
506 content::RecordAction(base::UserMetricsAction("Win8MetroRestart")); | 505 content::RecordAction(base::UserMetricsAction("Win8MetroRestart")); |
| 506 } else { |
| 507 content::RecordAction(base::UserMetricsAction("Win7ASHRestart")); |
| 508 chrome::AttemptRestartToMetroMode(); |
| 509 } |
507 break; | 510 break; |
508 #endif | 511 #endif |
509 | 512 |
510 #if defined(OS_MACOSX) | 513 #if defined(OS_MACOSX) |
511 case IDC_PRESENTATION_MODE: | 514 case IDC_PRESENTATION_MODE: |
512 chrome::ToggleFullscreenMode(browser_); | 515 chrome::ToggleFullscreenMode(browser_); |
513 break; | 516 break; |
514 #endif | 517 #endif |
515 case IDC_EXIT: | 518 case IDC_EXIT: |
516 Exit(); | 519 Exit(); |
(...skipping 361 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
878 command_updater_.UpdateCommandEnabled(IDC_CLOSE_TAB, true); | 881 command_updater_.UpdateCommandEnabled(IDC_CLOSE_TAB, true); |
879 command_updater_.UpdateCommandEnabled(IDC_DUPLICATE_TAB, true); | 882 command_updater_.UpdateCommandEnabled(IDC_DUPLICATE_TAB, true); |
880 UpdateTabRestoreCommandState(); | 883 UpdateTabRestoreCommandState(); |
881 #if defined(OS_WIN) && defined(USE_ASH) | 884 #if defined(OS_WIN) && defined(USE_ASH) |
882 if (browser_->host_desktop_type() != chrome::HOST_DESKTOP_TYPE_ASH) | 885 if (browser_->host_desktop_type() != chrome::HOST_DESKTOP_TYPE_ASH) |
883 command_updater_.UpdateCommandEnabled(IDC_EXIT, true); | 886 command_updater_.UpdateCommandEnabled(IDC_EXIT, true); |
884 #else | 887 #else |
885 command_updater_.UpdateCommandEnabled(IDC_EXIT, true); | 888 command_updater_.UpdateCommandEnabled(IDC_EXIT, true); |
886 #endif | 889 #endif |
887 command_updater_.UpdateCommandEnabled(IDC_DEBUG_FRAME_TOGGLE, true); | 890 command_updater_.UpdateCommandEnabled(IDC_DEBUG_FRAME_TOGGLE, true); |
888 #if defined(OS_WIN) && defined(USE_ASH) && !defined(NDEBUG) | |
889 if (base::win::GetVersion() < base::win::VERSION_WIN8 && | |
890 chrome::HOST_DESKTOP_TYPE_NATIVE != chrome::HOST_DESKTOP_TYPE_ASH) | |
891 command_updater_.UpdateCommandEnabled(IDC_TOGGLE_ASH_DESKTOP, true); | |
892 #endif | |
893 #if defined(USE_ASH) | 891 #if defined(USE_ASH) |
894 command_updater_.UpdateCommandEnabled(IDC_MINIMIZE_WINDOW, true); | 892 command_updater_.UpdateCommandEnabled(IDC_MINIMIZE_WINDOW, true); |
895 #endif | 893 #endif |
896 #if defined(OS_CHROMEOS) | 894 #if defined(OS_CHROMEOS) |
897 command_updater_.UpdateCommandEnabled(IDC_VISIT_DESKTOP_OF_LRU_USER_2, true); | 895 command_updater_.UpdateCommandEnabled(IDC_VISIT_DESKTOP_OF_LRU_USER_2, true); |
898 command_updater_.UpdateCommandEnabled(IDC_VISIT_DESKTOP_OF_LRU_USER_3, true); | 896 command_updater_.UpdateCommandEnabled(IDC_VISIT_DESKTOP_OF_LRU_USER_3, true); |
899 #endif | 897 #endif |
900 #if defined(OS_LINUX) && !defined(OS_CHROMEOS) | 898 #if defined(OS_LINUX) && !defined(OS_CHROMEOS) |
901 command_updater_.UpdateCommandEnabled(IDC_USE_SYSTEM_TITLE_BAR, true); | 899 command_updater_.UpdateCommandEnabled(IDC_USE_SYSTEM_TITLE_BAR, true); |
902 #endif | 900 #endif |
(...skipping 92 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_ASH_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 |