p2b: Users can only mount inside users/email now.

I changed all instances of the name "google/p2b" to
"users/jane@google.com/chrome/p2b".

When you mount a new server, it will default to
"namespace.join(runtime.accountName, p2b)", and globs happen on that
name as well.

Change-Id: I2c44065bb4e846ab1e9baec6cdfaf840f22bdde1
diff --git a/README.md b/README.md
index 839ba4b..94e6055 100644
--- a/README.md
+++ b/README.md
@@ -4,16 +4,16 @@
 For example one can do:
 
 ``
-echo "Hi!" | p2b google/p2b/jane/console
+echo "Hi!" | p2b users/jane@google.com/chrome/p2b/console
 ``
 
 or
 
 ``
-cat cat.jpg | p2b -binary google/p2b/jane/image
+cat cat.jpg | p2b -binary users/jane@google.com/chrome/p2b/image
 ``
 
-where **google/p2b/jane** is the Object name where p2b service is running in the browser. The suffix **console** or **image** specifies what viewer should be used to display the data.
+where **users/jane@google.com/chrome/p2b** is the Object name where p2b service is running in the browser. The suffix **console** or **image** specifies what viewer should be used to display the data.
 
 Please see the help page inside the P2B application for detailed tutorials.
 
diff --git a/browser/pipe-viewers/builtin/console/panic/plugin.js b/browser/pipe-viewers/builtin/console/panic/plugin.js
index 5788a74..536d5af 100644
--- a/browser/pipe-viewers/builtin/console/panic/plugin.js
+++ b/browser/pipe-viewers/builtin/console/panic/plugin.js
@@ -4,7 +4,7 @@
 
 /*
  * Console is a Pipe Viewer that displays a text stream as unformatted text
- * @tutorial echo "Hello World" | p2b google/p2b/[name]/console/panic
+ * @tutorial echo "Hello World" | p2b users/jane@google.com/chrome/p2b/[name]/console/panic
  * @fileoverview
  */
 
diff --git a/browser/pipe-viewers/builtin/console/plugin.js b/browser/pipe-viewers/builtin/console/plugin.js
index d91dd87..001d9a4 100644
--- a/browser/pipe-viewers/builtin/console/plugin.js
+++ b/browser/pipe-viewers/builtin/console/plugin.js
@@ -4,7 +4,7 @@
 
 /*
  * Console is a Pipe Viewer that displays a text stream as unformatted text
- * @tutorial echo "Hello World" | p2b google/p2b/[name]/console
+ * @tutorial echo "Hello World" | p2b users/jane@google.com/chrome/p2b/[name]/console
  * @fileoverview
  */
 
diff --git a/browser/pipe-viewers/builtin/dev/null/plugin.js b/browser/pipe-viewers/builtin/dev/null/plugin.js
index abd615b..af0a33b 100644
--- a/browser/pipe-viewers/builtin/dev/null/plugin.js
+++ b/browser/pipe-viewers/builtin/dev/null/plugin.js
@@ -5,7 +5,7 @@
 /*
  * dev/null simply consumes the stream without taking any action on the data
  * or keeping it in memory
- * @tutorial echo "To the black hole!" | p2b google/p2b/[name]/dev/null
+ * @tutorial echo "To the black hole!" | p2b users/jane@google.com/chorme/p2b/[name]/dev/null
  * @fileoverview
  */
 
diff --git a/browser/pipe-viewers/builtin/dev/null/text/plugin.js b/browser/pipe-viewers/builtin/dev/null/text/plugin.js
index 5e31aef..816ecc1 100644
--- a/browser/pipe-viewers/builtin/dev/null/text/plugin.js
+++ b/browser/pipe-viewers/builtin/dev/null/text/plugin.js
@@ -5,7 +5,7 @@
 /*
  * similar to dev/null, it consumes the stream without keeping it in memory but
  * it tried to decode the steaming bytes as UTF-8 string first
- * @tutorial echo "To the black hole!" | p2b google/p2b/[name]/dev/null/text
+ * @tutorial echo "To the black hole!" | p2b users/jane@google.com/chrome/p2b/[name]/dev/null/text
  * @fileoverview
  */
 
diff --git a/browser/pipe-viewers/builtin/git/status/plugin.js b/browser/pipe-viewers/builtin/git/status/plugin.js
index e01df99..c591426 100644
--- a/browser/pipe-viewers/builtin/git/status/plugin.js
+++ b/browser/pipe-viewers/builtin/git/status/plugin.js
@@ -6,7 +6,7 @@
  * git/status is a Pipe Viewer that displays output of "git status --short"
  * in a graphical grid.
  * Only supported with Git's --short  flag.
- * @tutorial git status --short | p2b google/p2b/[name]/git/status
+ * @tutorial git status --short | p2b users/jane@google.com/chrome/p2b/[name]/git/status
  * @fileoverview
  */
 import { View } from 'view';
diff --git a/browser/pipe-viewers/builtin/image/plugin.js b/browser/pipe-viewers/builtin/image/plugin.js
index 895d284..15d677c 100644
--- a/browser/pipe-viewers/builtin/image/plugin.js
+++ b/browser/pipe-viewers/builtin/image/plugin.js
@@ -4,7 +4,7 @@
 
 /*
  * Image is a Pipe Viewer that displays an image
- * @tutorial cat image.jpg | p2b google/p2b/[name]/image
+ * @tutorial cat image.jpg | p2b users/jane@google.com/chrome/p2b/[name]/image
  * @fileoverview
  */
 
diff --git a/browser/pipe-viewers/builtin/vlog/plugin.js b/browser/pipe-viewers/builtin/vlog/plugin.js
index c11ebfd..bd72b8e 100644
--- a/browser/pipe-viewers/builtin/vlog/plugin.js
+++ b/browser/pipe-viewers/builtin/vlog/plugin.js
@@ -6,8 +6,8 @@
  * vlog is a Pipe Viewer that displays veyron logs in a graphical grid.
  * Please note that Veyron writes logs to stderr stream, in *nix systems 2>&1
  * can be used to redirect stderr to stdout which can be then piped to P2B.
- * @tutorial myVeyronServerd -v=3 2>&1 | p2b google/p2b/[name]/vlog
- * @tutorial cat logfile.txt | p2b google/p2b/[name]/vlog
+ * @tutorial myVeyronServerd -v=3 2>&1 | p2b users/jane@google.com/chrome/p2b/[name]/vlog
+ * @tutorial cat logfile.txt | p2b users/jane@google.com/chrome/p2b/[name]/vlog
  * @fileoverview
  */
 import { View } from 'view';
diff --git a/browser/services/pipe-to-browser-namespace.js b/browser/services/pipe-to-browser-namespace.js
index 13ab279..de1ec82 100644
--- a/browser/services/pipe-to-browser-namespace.js
+++ b/browser/services/pipe-to-browser-namespace.js
@@ -23,7 +23,8 @@
     var ctx = runtime.getContext().withTimeout(5000);
     ctx.waitUntilDone(function(){});
 
-    var globResult = namespace.glob(ctx, 'google/p2b/*');
+    var globPattern = namespace.join(runtime.accountName, 'p2b/*');
+    var globResult = namespace.glob(ctx, globPattern);
     var p2bServices = [];
     globResult.stream.on('data', (p2bServiceName) => {
       p2bServices.push(p2bServiceName.name);
diff --git a/browser/services/pipe-to-browser-server.js b/browser/services/pipe-to-browser-server.js
index 3996f40..e87af94 100644
--- a/browser/services/pipe-to-browser-server.js
+++ b/browser/services/pipe-to-browser-server.js
@@ -36,14 +36,16 @@
 state.init();
 
 /*
- * Publishes the p2b service under google/p2b/{name}
- * e.g. If name is "john-tablet", p2b service will be accessible under name:
- * 'google/p2b/john-tablet'
+ * Publishes the p2b service under users/jane@google.com/chrome/p2b/{name} e.g. If
+ * name is "john-tablet", p2b service will be accessible under name:
+ * 'users/jane@google.com/chrome/p2b/john-tablet'
  *
- * pipe() method can be invoked on any 'google/p2b/{name}/suffix' name where
- * suffix identifies the viewer that can format and display the stream data
- * e.g. 'google/p2b/john-tablet/console'.pipe() will display the incoming
- * data in a data table. See /app/viewer/ for a list of available viewers.
+ * pipe() method can be invoked on any
+ * 'users/jane@google.com/chrome/p2b/{name}/suffix' name where suffix identifies the
+ * viewer that can format and display the stream data e.g.
+ * 'users/jane@google.com/chrome/p2b/john-tablet/console'.pipe() will display the
+ * incoming data in a data table. See /app/viewer/ for a list of available
+ * viewers.
  * @param {string} name Name to publish the service under
  * @param {function} pipeRequestHandler A function that will be called when
  * a request to handle a pipe stream comes in.
@@ -112,7 +114,7 @@
 
   return vanadium.init().then((runtime) => {
     server = runtime.newServer();
-    var serviceName = 'google/p2b/' + name;
+    var serviceName = namespace.join(runtime.accountName, 'p2b', name);
 
     // TODO(nlacasee,sadovsky): Our current authorization policy never returns
     // any errors, i.e. everyone is authorized!
diff --git a/browser/views/help/component.html b/browser/views/help/component.html
index d3861ef..b6183fc 100644
--- a/browser/views/help/component.html
+++ b/browser/views/help/component.html
@@ -17,7 +17,7 @@
   <p>Now let's use the <span class="name">console</span> viewer. It can pretty much display anything, so it's a good one to start with</p>
   <p>In your Linux or Mac console run:</p>
   <pre class="code">echo "Hello World" | p2b {{publishedName}}/console</pre>
-  <p>P2B follows a basic <span class="mono">cmd | p2b google/p2b/[name]/[viewer]</span> pattern. Where <span class="mono">[name]</span> is what you publish the service under and <span class="mono">[viewer]</span> can be the name of a built-in viewer like <span class="mono">image</span> or <span class="mono">console</span> or a Url to a remote viewer that is a P2B plug-in.</p>
+  <p>P2B follows a basic <span class="mono">cmd | p2b users/jane@google.com/chrome/p2b/[name]/[viewer]</span> pattern. Where <span class="mono">[name]</span> is what you publish the service under and <span class="mono">[viewer]</span> can be the name of a built-in viewer like <span class="mono">image</span> or <span class="mono">console</span> or a Url to a remote viewer that is a P2B plug-in.</p>
   <h3>Built-in Viewers</h3>
   <p>In addition to the basic <span class="name">console</span> viewer, P2B is preloaded with the following viewers</p>
 
@@ -62,7 +62,7 @@
         if( this.serviceState && this.serviceState.published ) {
           return this.serviceState.fullServiceName
         } else {
-          return 'google/p2b/[name]';
+          return 'users/jane@google.com/chrome/p2b/[name]';
         }
       },
 
diff --git a/go/src/p2b/main.go b/go/src/p2b/main.go
index f630d50..da85dc2 100644
--- a/go/src/p2b/main.go
+++ b/go/src/p2b/main.go
@@ -29,13 +29,13 @@
 
   For example:
 
-	ls -l | p2b google/p2b/jane/console
+	ls -l | p2b users/jane@google.com/chrome/p2b/jane/console
 
 	or
 
-	cat cat.jpg | p2b google/p2b/jane/image
+	cat cat.jpg | p2b users/jane@google.com/chrome/p2b/jane/image
 
-  where <name> (google/p2b/jane) is the object name where p2b
+  where <name> (users/jane@google.com/chrome/p2b/jane) is the object name where p2b
   service is running in the browser. <viewer> (console, image) specifies what
   viewer should be used to display the data.
 
@@ -43,7 +43,7 @@
 
   For example many daemons may write log lines to stderr instead of stdout:
 
-  serverd -alsologtostderr=true 2>&1 | google/p2b/jane/vlog
+  serverd -alsologtostderr=true 2>&1 | users/jane@google.com/chrome/p2b/jane/vlog
 `
 
 func Usage() {