• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
IsCommandAllowedInAppMode(int command_id)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 
IsRunningInAppMode()41 bool IsRunningInAppMode() {
42   CommandLine* command_line = CommandLine::ForCurrentProcess();
43   return command_line->HasSwitch(switches::kKioskMode) ||
44       IsRunningInForcedAppMode();
45 }
46 
IsRunningInForcedAppMode()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