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_COPY_URL,
     28     IDC_PASTE,
     29     IDC_ZOOM_PLUS,
     30     IDC_ZOOM_NORMAL,
     31     IDC_ZOOM_MINUS,
     32   };
     33 
     34   for (size_t i = 0; i < arraysize(kAllowed); ++i) {
     35     if (kAllowed[i] == command_id)
     36       return true;
     37   }
     38 
     39   return false;
     40 }
     41 
     42 bool IsRunningInAppMode() {
     43   CommandLine* command_line = CommandLine::ForCurrentProcess();
     44   return command_line->HasSwitch(switches::kKioskMode) ||
     45       IsRunningInForcedAppMode();
     46 }
     47 
     48 bool IsRunningInForcedAppMode() {
     49   CommandLine* command_line = CommandLine::ForCurrentProcess();
     50   return command_line->HasSwitch(switches::kForceAppMode) &&
     51       command_line->HasSwitch(switches::kAppId);
     52 }
     53 
     54 }  // namespace chrome
     55