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

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

Issue 10885047: Metro mode switching (chrome side) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 8 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
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 "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
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
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
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
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
OLDNEW
« no previous file with comments | « chrome/browser/first_run/upgrade_util_win.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