12a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Copyright (c) 2013 The Chromium Authors. All rights reserved. 22a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 32a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// found in the LICENSE file. 42a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 52a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/app_mode/app_mode_utils.h" 62a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 72a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "base/basictypes.h" 82a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "base/command_line.h" 92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "base/logging.h" 102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/app/chrome_command_ids.h" 112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/common/chrome_switches.h" 122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace chrome { 142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)bool IsCommandAllowedInAppMode(int command_id) { 162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) DCHECK(IsRunningInForcedAppMode()); 172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const int kAllowed[] = { 192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) IDC_BACK, 202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) IDC_FORWARD, 212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) IDC_RELOAD, 222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) IDC_STOP, 232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) IDC_RELOAD_IGNORING_CACHE, 242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) IDC_RELOAD_CLEARING_CACHE, 252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) IDC_CUT, 262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) IDC_COPY, 272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) IDC_PASTE, 282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) IDC_ZOOM_PLUS, 292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) IDC_ZOOM_NORMAL, 302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) IDC_ZOOM_MINUS, 312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) }; 322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) for (size_t i = 0; i < arraysize(kAllowed); ++i) { 342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) if (kAllowed[i] == command_id) 352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) return true; 362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) } 372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) return false; 392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)bool IsRunningInAppMode() { 422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) CommandLine* command_line = CommandLine::ForCurrentProcess(); 432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) return command_line->HasSwitch(switches::kKioskMode) || 442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) IsRunningInForcedAppMode(); 452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)bool IsRunningInForcedAppMode() { 482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) CommandLine* command_line = CommandLine::ForCurrentProcess(); 492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) return command_line->HasSwitch(switches::kForceAppMode) && 502a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) command_line->HasSwitch(switches::kAppId); 512a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 522a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 537dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch} // namespace chrome 54