summaryrefslogtreecommitdiffstats
path: root/chrome/browser/app_mode/app_mode_utils.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/app_mode/app_mode_utils.cc')
-rw-r--r--chrome/browser/app_mode/app_mode_utils.cc39
1 files changed, 37 insertions, 2 deletions
diff --git a/chrome/browser/app_mode/app_mode_utils.cc b/chrome/browser/app_mode/app_mode_utils.cc
index ca3baa5..c4cdeb2 100644
--- a/chrome/browser/app_mode/app_mode_utils.cc
+++ b/chrome/browser/app_mode/app_mode_utils.cc
@@ -4,16 +4,51 @@
#include "chrome/browser/app_mode/app_mode_utils.h"
+#include "base/basictypes.h"
#include "base/command_line.h"
+#include "base/logging.h"
+#include "chrome/app/chrome_command_ids.h"
#include "chrome/common/chrome_switches.h"
namespace chrome {
+bool IsCommandAllowedInAppMode(int command_id) {
+ DCHECK(IsRunningInForcedAppMode());
+
+ const int kAllowed[] = {
+ IDC_BACK,
+ IDC_FORWARD,
+ IDC_RELOAD,
+ IDC_STOP,
+ IDC_RELOAD_IGNORING_CACHE,
+ IDC_RELOAD_CLEARING_CACHE,
+ IDC_CUT,
+ IDC_COPY,
+ IDC_COPY_URL,
+ IDC_PASTE,
+ IDC_ZOOM_PLUS,
+ IDC_ZOOM_NORMAL,
+ IDC_ZOOM_MINUS,
+ };
+
+ for (size_t i = 0; i < arraysize(kAllowed); ++i) {
+ if (kAllowed[i] == command_id)
+ return true;
+ }
+
+ return false;
+}
+
bool IsRunningInAppMode() {
CommandLine* command_line = CommandLine::ForCurrentProcess();
return command_line->HasSwitch(switches::kKioskMode) ||
- (command_line->HasSwitch(switches::kForceAppMode) &&
- command_line->HasSwitch(switches::kAppId));
+ IsRunningInForcedAppMode();
+}
+
+bool IsRunningInForcedAppMode() {
+ CommandLine* command_line = CommandLine::ForCurrentProcess();
+ return command_line->HasSwitch(switches::kForceAppMode) &&
+ command_line->HasSwitch(switches::kAppId);
}
} // namespace switches