Index: chrome/browser/app_mode/app_mode_utils.cc |
diff --git a/chrome/browser/app_mode/app_mode_utils.cc b/chrome/browser/app_mode/app_mode_utils.cc |
index ca3baa5ca11f6533d70c6ae7b7271d23a916f167..c4cdeb247fb66f9cacd98d81b57b0880cc66dcdc 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 |