| 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
|
|
|