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 13namespace chrome { 14 15bool 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 41bool IsRunningInAppMode() { 42 CommandLine* command_line = CommandLine::ForCurrentProcess(); 43 return command_line->HasSwitch(switches::kKioskMode) || 44 IsRunningInForcedAppMode(); 45} 46 47bool 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