Pass cros profile switching key combo

Change-Id: Ic78c0ec0e039886b52f2614f150b97a9739f146b
Reviewed-on: https://chromium-review.googlesource.com/198227
Reviewed-by: Robert Ginda <rginda@chromium.org>
Tested-by: Robert Ginda <rginda@chromium.org>
Add wam_jsfs_remote_file_system.js and stuff

Adds a RemoteFileSystem entry type to JSFS, which can be used to
mount a remote wam.FileSystem into the local JSFS.

Also adds a '/mnt/loopback' entrypoint to the wash JSFS, which
demonstrates wam.jsfs.RemoteFileSystem by having wash mount its
own file system via a wam.transport.Direct connection.

Change-Id: Ib400595ef4f2b8ed3271519165beb7d153b90787
Reviewed-on: https://chromium-review.googlesource.com/198314
Reviewed-by: Robert Ginda <rginda@chromium.org>
Tested-by: Robert Ginda <rginda@chromium.org>
wash: Make it possible to exit wash

* Add an "X" button to the wash window titlebar.
* Make readline return null for Ctrl-D on an empty line.
* Make wash shell exit on null return value from readline.

Change-Id: I2c56f9be32f0456ed39ac9bb856da47b4c3f10d0
Reviewed-on: https://chromium-review.googlesource.com/198411
Reviewed-by: Robert Ginda <rginda@chromium.org>
Tested-by: Robert Ginda <rginda@chromium.org>
wam/wash: Add file-access flag to load_tests.sh/run_local.sh

Change-Id: If4c5d28eb2f44dfa905c6906e448de241e59e72a
Reviewed-on: https://chromium-review.googlesource.com/198397
Reviewed-by: Robert Ginda <rginda@chromium.org>
Tested-by: Robert Ginda <rginda@chromium.org>
Changes the iframe src from javascript to '#' in FF so it won't
violate the integrating app's Content Security Policy if they disable
inlining js.

Change-Id: I3a6f8962fd973e6535225c98171bb0379cc87b58
Reviewed-on: https://chromium-review.googlesource.com/198595
Reviewed-by: Robert Ginda <rginda@chromium.org>
Tested-by: Robert Ginda <rginda@chromium.org>
Bag o' fixes for wash and wam, in support of nassh.

wam:
* Add generic wam.FileSystem.Error.RuntimeError.
* Add binding.fs.dirName utility function.
* Plumb stdout/stderr acknowledgement for flow control.
* Add jsfs.Filesystem..makeEntry.
* wam.transport.ChromePort fixes.

wash:
* Fix 'delete-char' in readline.
* Re-organize paths into /apps/wash, /apps/chrome, etc.
* Fix double '//' when setting PWD from the cd command.
* export PWD='/' at startup.
* Wait for hterm to be ready before firing wash.TerminalWindow..onInit().

Change-Id: If1e400f6d1a691939ba4c9d3f99b4d88c3879258
Reviewed-on: https://chromium-review.googlesource.com/198613
Reviewed-by: Robert Ginda <rginda@chromium.org>
Tested-by: Robert Ginda <rginda@chromium.org>
wam/wash: Support transport/channel reconnect.

Make it possible for a wam.jsfs.RemoteFileSystem (and other
transport and channel clients) to attempt to recover from a
loss of transport or channel ready.

Change-Id: I7da0517213db84cb1a6fd82fe2de3b422d21744e
Reviewed-on: https://chromium-review.googlesource.com/198726
Reviewed-by: Robert Ginda <rginda@chromium.org>
Tested-by: Robert Ginda <rginda@chromium.org>
wam/wash/nassh: Make it easier to publish a jsfs

* Add wam.jsfs.FileSystem..publishOn(channel) to handle the
  boilerplate needed to publish a jsfs file system on a channel.

Change-Id: I1b0138a94519361d6b8137be691fc4c5293783c4
Reviewed-on: https://chromium-review.googlesource.com/198895
Reviewed-by: Robert Ginda <rginda@chromium.org>
Tested-by: Robert Ginda <rginda@chromium.org>
saltpig: Initial commit of nacl collection v2 app

This is an experimental app that hosts a few binaries from naclports,
exposing their functionality over wam.FileSystem.  It's currently
hardcoded to only speak to the "Wash (tot)" and "Wash (dev)"
extensions.

You'll need to run the ./bin/get_nacl.sh file to fetch the necessary
nacl binaries from the web, and ./bin/mkdeps.sh to build the js
dependencies.

Change-Id: I5db5003903854bdc45c7c6b81eb482d2a47e7a26
Reviewed-on: https://chromium-review.googlesource.com/198908
Reviewed-by: Robert Ginda <rginda@chromium.org>
Tested-by: Robert Ginda <rginda@chromium.org>
wash: Fix empty arg parsing, wam: add missing error

Change-Id: I609a4b664a4dcf142ecdc5e6e899e325531687a1
wash: Fix parsing of argument-less commands to pass null as the arg value.
wam: Add the missing FileExists error.
Reviewed-on: https://chromium-review.googlesource.com/198909
Reviewed-by: Robert Ginda <rginda@chromium.org>
Tested-by: Robert Ginda <rginda@chromium.org>
wam/wash/saltpig: Add domfs, other tweaks.

wam:
* Add wam.jsfs.DOMFileSystem.
* rename jsfs's "opList" to "abilities".
* Treat the "FORWARD" ability special.  If an entry can "FORWARD", then it
  can ONLY forward.  Other listed abilities refer to what the destination
  can do.
* Let remote wam filesystems give themselves a name in their "ready" reply.

wash:
* Hook up wam.jsfs.DOMFileSystem.
* tweak ls output.
* Default mount path to remote filesystem name in mount.chrome.
* Make PATH a real environment variable.

saltpig:
* Hook up wam.jsfs.DOMFileSystem
* Fix public key.

Change-Id: I0ecd10ce71c81e34cc456c63082d261a5e543c59
Reviewed-on: https://chromium-review.googlesource.com/199145
Reviewed-by: Robert Ginda <rginda@chromium.org>
Tested-by: Robert Ginda <rginda@chromium.org>