Index: mojo/shell/switches.cc |
diff --git a/mojo/shell/switches.cc b/mojo/shell/switches.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..6aa5cdadf46748aec5c79d27c89ac29e93deef82 |
--- /dev/null |
+++ b/mojo/shell/switches.cc |
@@ -0,0 +1,106 @@ |
+// Copyright 2013 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#include "mojo/shell/switches.h" |
+ |
+#include "base/basictypes.h" |
+ |
+namespace switches { |
+ |
+namespace { |
+// This controls logging verbosity. It's not strictly a switch for mojo_shell, |
+// and isn't included in the public switches, but is included here so that it |
+// doesn't trigger an error at startup. |
+const char kV[] = "v"; |
+ |
+} // namespace |
+ |
+// Specify configuration arguments for a Mojo application URL. For example: |
+// --args-for='mojo:wget http://www.google.com' |
+const char kArgsFor[] = "args-for"; |
+ |
+// Used internally by the main process to indicate that a new process should be |
+// a child process. Not for user use. |
+const char kChildProcess[] = "child-process"; |
+ |
+// Comma separated list like: |
+// text/html,mojo:html_viewer,application/bravo,https://abarth.com/bravo |
+const char kContentHandlers[] = "content-handlers"; |
+ |
+// Force dynamically loaded apps / services to be loaded irrespective of cache |
+// instructions. |
+const char kDisableCache[] = "disable-cache"; |
+ |
+// If set apps downloaded are not deleted. |
+const char kDontDeleteOnDownload[] = "dont-delete-on-download"; |
+ |
+// Allow externally-running applications to discover, connect to, and register |
+// themselves with the shell. |
+// TODO(cmasone): Work in progress. Once we're sure this works, remove. |
+const char kEnableExternalApplications[] = "enable-external-applications"; |
+ |
+// Load apps in separate processes. |
+// TODO(vtl): Work in progress; doesn't work. Flip this to "disable" (or maybe |
+// change it to "single-process") when it works. |
+const char kEnableMultiprocess[] = "enable-multiprocess"; |
+ |
+// In multiprocess mode, force these apps to be loaded in the main process. |
+// Comma-separate list of URLs. Example: |
+// --force-in-process=mojo:native_viewport_service,mojo:network_service |
+const char kForceInProcess[] = "force-in-process"; |
+ |
+// Print the usage message and exit. |
+const char kHelp[] = "help"; |
+ |
+// Specify origin to map to base url. See url_resolver.cc for details. |
+// Can be used multiple times. |
+const char kMapOrigin[] = "map-origin"; |
+ |
+// Map mojo: URLs to a shared library of similar name at this origin. See |
+// url_resolver.cc for details. |
+const char kOrigin[] = "origin"; |
+ |
+// If set apps downloaded are saved in with a predictable filename, to help |
+// remote debugging: when gdb is used through gdbserver, it needs to be able to |
+// find locally any loaded library. For this, gdb use the filename of the |
+// library. When using this flag, the application are named with the sha256 of |
+// their content. |
+const char kPredictableAppFilenames[] = "predictable-app-filenames"; |
+ |
+// Starts tracing when the shell starts up, saving a trace file on disk after 5 |
+// seconds or when the shell exits. |
+const char kTraceStartup[] = "trace-startup"; |
+ |
+// Specifies a set of mappings to apply when resolving urls. The value is a set |
+// of ',' separated mappings, where each mapping consists of a pair of urls |
+// giving the to/from url to map. For example, 'a=b,c=d' contains two mappings, |
+// the first maps 'a' to 'b' and the second 'c' to 'd'. |
+const char kURLMappings[] = "url-mappings"; |
+ |
+// Switches valid for the main process (i.e., that the user may pass in). |
+const char* kSwitchArray[] = {kV, |
+ kArgsFor, |
+ // |kChildProcess| not for user use. |
+ kContentHandlers, |
+ kDisableCache, |
+ kDontDeleteOnDownload, |
+ kEnableExternalApplications, |
+ kEnableMultiprocess, |
+ kForceInProcess, |
+ kHelp, |
+ kMapOrigin, |
+ kOrigin, |
+ kPredictableAppFilenames, |
+ kTraceStartup, |
+ kURLMappings}; |
+ |
+const std::set<std::string> GetAllSwitches() { |
+ std::set<std::string> switch_set; |
+ |
+ for (size_t i = 0; i < arraysize(kSwitchArray); ++i) |
+ switch_set.insert(kSwitchArray[i]); |
+ return switch_set; |
+} |
+ |
+} // namespace switches |