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

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();
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698