Home | History | Annotate | Download | only in app_mode
      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