1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "chrome/browser/app_mode/app_mode_utils.h" 6 7 #include "base/basictypes.h" 8 #include "base/command_line.h" 9 #include "base/logging.h" 10 #include "chrome/app/chrome_command_ids.h" 11 #include "chrome/common/chrome_switches.h" 12 13 namespace chrome { 14 15 bool IsCommandAllowedInAppMode(int command_id) { 16 DCHECK(IsRunningInForcedAppMode()); 17 18 const int kAllowed[] = { 19 IDC_BACK, 20 IDC_FORWARD, 21 IDC_RELOAD, 22 IDC_STOP, 23 IDC_RELOAD_IGNORING_CACHE, 24 IDC_RELOAD_CLEARING_CACHE, 25 IDC_CUT, 26 IDC_COPY, 27 IDC_PASTE, 28 IDC_ZOOM_PLUS, 29 IDC_ZOOM_NORMAL, 30 IDC_ZOOM_MINUS, 31 }; 32 33 for (size_t i = 0; i < arraysize(kAllowed); ++i) { 34 if (kAllowed[i] == command_id) 35 return true; 36 } 37 38 return false; 39 } 40 41 bool IsRunningInAppMode() { 42 CommandLine* command_line = CommandLine::ForCurrentProcess(); 43 return command_line->HasSwitch(switches::kKioskMode) || 44 IsRunningInForcedAppMode(); 45 } 46 47 bool IsRunningInForcedAppMode() { 48 CommandLine* command_line = CommandLine::ForCurrentProcess(); 49 return command_line->HasSwitch(switches::kForceAppMode) && 50 command_line->HasSwitch(switches::kAppId); 51 } 52 53 } // namespace chrome 54