| 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(); |
| 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 432 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 783 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_3, normal_window); | 804 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_3, normal_window); |
| 784 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_4, normal_window); | 805 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_4, normal_window); |
| 785 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_5, normal_window); | 806 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_5, normal_window); |
| 786 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_6, normal_window); | 807 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_6, normal_window); |
| 787 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_7, normal_window); | 808 command_updater_.UpdateCommandEnabled(IDC_SELECT_TAB_7, normal_window); |
| 788 command_updater_.UpdateCommandEnabled(IDC_SELECT_LAST_TAB, normal_window); | 809 command_updater_.UpdateCommandEnabled(IDC_SELECT_LAST_TAB, normal_window); |
| 789 #if defined(OS_WIN) | 810 #if defined(OS_WIN) |
| 790 const bool metro_mode = base::win::IsMetroProcess(); | 811 const bool metro_mode = base::win::IsMetroProcess(); |
| 791 command_updater_.UpdateCommandEnabled(IDC_METRO_SNAP_ENABLE, metro_mode); | 812 command_updater_.UpdateCommandEnabled(IDC_METRO_SNAP_ENABLE, metro_mode); |
| 792 command_updater_.UpdateCommandEnabled(IDC_METRO_SNAP_DISABLE, metro_mode); | 813 command_updater_.UpdateCommandEnabled(IDC_METRO_SNAP_DISABLE, metro_mode); |
| 814 int restart_mode = metro_mode ? |
| 815 IDC_WIN8_DESKTOP_RESTART : IDC_WIN8_METRO_RESTART; |
| 816 command_updater_.UpdateCommandEnabled(restart_mode, normal_window); |
| 793 #endif | 817 #endif |
| 794 #if defined(OS_MACOSX) | 818 #if defined(OS_MACOSX) |
| 795 command_updater_.UpdateCommandEnabled(IDC_TABPOSE, normal_window); | 819 command_updater_.UpdateCommandEnabled(IDC_TABPOSE, normal_window); |
| 796 command_updater_.UpdateCommandEnabled(IDC_PRESENTATION_MODE, | 820 command_updater_.UpdateCommandEnabled(IDC_PRESENTATION_MODE, |
| 797 !(browser_->is_type_panel() && browser_->is_app())); | 821 !(browser_->is_type_panel() && browser_->is_app())); |
| 798 #endif | 822 #endif |
| 799 | 823 |
| 800 // Find-in-page | 824 // Find-in-page |
| 801 command_updater_.UpdateCommandEnabled(IDC_FIND, !browser_->is_devtools()); | 825 command_updater_.UpdateCommandEnabled(IDC_FIND, !browser_->is_devtools()); |
| 802 command_updater_.UpdateCommandEnabled(IDC_FIND_NEXT, | 826 command_updater_.UpdateCommandEnabled(IDC_FIND_NEXT, |
| (...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1078 | 1102 |
| 1079 BrowserWindow* BrowserCommandController::window() { | 1103 BrowserWindow* BrowserCommandController::window() { |
| 1080 return browser_->window(); | 1104 return browser_->window(); |
| 1081 } | 1105 } |
| 1082 | 1106 |
| 1083 Profile* BrowserCommandController::profile() { | 1107 Profile* BrowserCommandController::profile() { |
| 1084 return browser_->profile(); | 1108 return browser_->profile(); |
| 1085 } | 1109 } |
| 1086 | 1110 |
| 1087 } // namespace chrome | 1111 } // namespace chrome |
| OLD | NEW |