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_command_controller.h" | 5 #include "chrome/browser/ui/browser_command_controller.h" |
| 6 | 6 |
| 7 #include "chrome/app/chrome_command_ids.h" | 7 #include "chrome/app/chrome_command_ids.h" |
| 8 #include "chrome/browser/browser_process.h" | 8 #include "chrome/browser/browser_process.h" |
| 9 #include "chrome/browser/defaults.h" | 9 #include "chrome/browser/defaults.h" |
| 10 #include "chrome/browser/extensions/extension_service.h" | 10 #include "chrome/browser/extensions/extension_service.h" |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 61 return true; | 61 return true; |
| 62 | 62 |
| 63 // If the |virtual_url()| isn't a chrome:// URL, check if it's actually | 63 // If the |virtual_url()| isn't a chrome:// URL, check if it's actually |
| 64 // view-source: of a chrome:// URL. | 64 // view-source: of a chrome:// URL. |
| 65 if (entry->GetVirtualURL().SchemeIs(chrome::kViewSourceScheme)) | 65 if (entry->GetVirtualURL().SchemeIs(chrome::kViewSourceScheme)) |
| 66 return entry->GetURL().SchemeIs(chrome::kChromeUIScheme); | 66 return entry->GetURL().SchemeIs(chrome::kChromeUIScheme); |
| 67 | 67 |
| 68 return false; | 68 return false; |
| 69 } | 69 } |
| 70 | 70 |
| 71 #if defined(OS_WIN) | |
| 72 void RestartWithModeSwitch() { | |
| 73 PrefService* prefs = g_browser_process->local_state(); | |
| 74 if (!prefs) | |
| 75 return; | |
| 76 if (!prefs->HasPrefPath(prefs::kRestartSwitchMode)) | |
| 77 return; | |
| 78 prefs->SetBoolean(prefs::kRestartSwitchMode, true); | |
| 79 browser::AttemptRestart(); | |
| 80 } | |
| 81 #endif | |
| 82 | |
| 71 } // namespace | 83 } // namespace |
| 72 | 84 |
| 73 namespace chrome { | 85 namespace chrome { |
| 74 | 86 |
| 75 /////////////////////////////////////////////////////////////////////////////// | 87 /////////////////////////////////////////////////////////////////////////////// |
| 76 // BrowserCommandController, public: | 88 // BrowserCommandController, public: |
| 77 | 89 |
| 78 BrowserCommandController::BrowserCommandController(Browser* browser) | 90 BrowserCommandController::BrowserCommandController(Browser* browser) |
| 79 : browser_(browser), | 91 : browser_(browser), |
| 80 ALLOW_THIS_IN_INITIALIZER_LIST(command_updater_(this)), | 92 ALLOW_THIS_IN_INITIALIZER_LIST(command_updater_(this)), |
| (...skipping 242 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 323 break; | 335 break; |
| 324 case IDC_RESTORE_TAB: | 336 case IDC_RESTORE_TAB: |
| 325 RestoreTab(browser_); | 337 RestoreTab(browser_); |
| 326 break; | 338 break; |
| 327 case IDC_SHOW_AS_TAB: | 339 case IDC_SHOW_AS_TAB: |
| 328 ConvertPopupToTabbedBrowser(browser_); | 340 ConvertPopupToTabbedBrowser(browser_); |
| 329 break; | 341 break; |
| 330 case IDC_FULLSCREEN: | 342 case IDC_FULLSCREEN: |
| 331 chrome::ToggleFullscreenMode(browser_); | 343 chrome::ToggleFullscreenMode(browser_); |
| 332 break; | 344 break; |
| 345 | |
| 333 #if defined(OS_WIN) | 346 #if defined(OS_WIN) |
| 347 // Windows 8 specific commands. | |
| 334 case IDC_METRO_SNAP_ENABLE: | 348 case IDC_METRO_SNAP_ENABLE: |
| 335 browser_->SetMetroSnapMode(true); | 349 browser_->SetMetroSnapMode(true); |
| 336 break; | 350 break; |
| 337 case IDC_METRO_SNAP_DISABLE: | 351 case IDC_METRO_SNAP_DISABLE: |
| 338 browser_->SetMetroSnapMode(false); | 352 browser_->SetMetroSnapMode(false); |
| 339 break; | 353 break; |
| 354 case IDC_WIN8_DESKTOP_RESTART: | |
| 355 RestartWithModeSwitch(); | |
|
ananta
2012/09/06 18:36:42
Unify the two cases
| |
| 356 break; | |
| 357 case IDC_WIN8_METRO_RESTART: | |
| 358 RestartWithModeSwitch(); | |
| 359 break; | |
| 340 #endif | 360 #endif |
| 361 | |
| 341 #if defined(OS_MACOSX) | 362 #if defined(OS_MACOSX) |
| 342 case IDC_PRESENTATION_MODE: | 363 case IDC_PRESENTATION_MODE: |
| 343 browser_->TogglePresentationMode(); | 364 browser_->TogglePresentationMode(); |
| 344 break; | 365 break; |
| 345 #endif | 366 #endif |
| 346 case IDC_EXIT: | 367 case IDC_EXIT: |
| 347 Exit(); | 368 Exit(); |
| 348 break; | 369 break; |
| 349 | 370 |
| 350 // Page-related commands | 371 // Page-related commands |
| (...skipping 425 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 776 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_3, normal_window); | 797 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_3, normal_window); |
| 777 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_4, normal_window); | 798 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_4, normal_window); |
| 778 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_5, normal_window); | 799 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_5, normal_window); |
| 779 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_6, normal_window); | 800 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_6, normal_window); |
| 780 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_7, normal_window); | 801 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_7, normal_window); |
| 781 command_updater_.UpdateCommandEnabled(IDC_SELECT_LAST_TAB, normal_window); | 802 command_updater_.UpdateCommandEnabled(IDC_SELECT_LAST_TAB, normal_window); |
| 782 #if defined(OS_WIN) | 803 #if defined(OS_WIN) |
| 783 const bool metro_mode = base::win::IsMetroProcess(); | 804 const bool metro_mode = base::win::IsMetroProcess(); |
| 784 command_updater_.UpdateCommandEnabled(IDC_METRO_SNAP_ENABLE, metro_mode); | 805 command_updater_.UpdateCommandEnabled(IDC_METRO_SNAP_ENABLE, metro_mode); |
| 785 command_updater_.UpdateCommandEnabled(IDC_METRO_SNAP_DISABLE, metro_mode); | 806 command_updater_.UpdateCommandEnabled(IDC_METRO_SNAP_DISABLE, metro_mode); |
| 807 int restart_mode = metro_mode ? | |
| 808 IDC_WIN8_DESKTOP_RESTART : IDC_WIN8_METRO_RESTART; | |
| 809 command_updater_.UpdateCommandEnabled(restart_mode, normal_window); | |
| 786 #endif | 810 #endif |
| 787 #if defined(OS_MACOSX) | 811 #if defined(OS_MACOSX) |
| 788 command_updater_.UpdateCommandEnabled(IDC_TABPOSE, normal_window); | 812 command_updater_.UpdateCommandEnabled(IDC_TABPOSE, normal_window); |
| 789 command_updater_.UpdateCommandEnabled(IDC_PRESENTATION_MODE, | 813 command_updater_.UpdateCommandEnabled(IDC_PRESENTATION_MODE, |
| 790 !(browser_->is_type_panel() && browser_->is_app())); | 814 !(browser_->is_type_panel() && browser_->is_app())); |
| 791 #endif | 815 #endif |
| 792 | 816 |
| 793 // Find-in-page | 817 // Find-in-page |
| 794 command_updater_.UpdateCommandEnabled(IDC_FIND, !browser_->is_devtools()); | 818 command_updater_.UpdateCommandEnabled(IDC_FIND, !browser_->is_devtools()); |
| 795 command_updater_.UpdateCommandEnabled(IDC_FIND_NEXT, | 819 command_updater_.UpdateCommandEnabled(IDC_FIND_NEXT, |
| (...skipping 273 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1069 | 1093 |
| 1070 BrowserWindow* BrowserCommandController::window() { | 1094 BrowserWindow* BrowserCommandController::window() { |
| 1071 return browser_->window(); | 1095 return browser_->window(); |
| 1072 } | 1096 } |
| 1073 | 1097 |
| 1074 Profile* BrowserCommandController::profile() { | 1098 Profile* BrowserCommandController::profile() { |
| 1075 return browser_->profile(); | 1099 return browser_->profile(); |
| 1076 } | 1100 } |
| 1077 | 1101 |
| 1078 } // namespace chrome | 1102 } // namespace chrome |
| OLD | NEW |