veyron-browser: Make Autocomplete Web Component

This CL introduces an autocomplete web component.

We need a web component with the following properties
* suggests values to the user as they type
* values may be updated asynchronously
* styled similarly to paper-input with the potential for custom css
* works with mercury

Optional properties included
* use keyboard to select suggestions
* hover over and click suggestions
* change events should fire when appropriate
* input events should fire when appropriate

The approach taken is to create a web component wrapper around
paper-input and various overlay/list Polymer components.
Here, paper-autocomplete extends paper-input.

I believe that the functionality is present and that most bugs are
taken care of. The biggest known bug is between Mercury and Polymer.
The web components use polyfill to create the shadow DOM, but their
events are still accessible from the top level when listening in
capturing mode.

That is, since mercury always uses the following form,
  X.addEventListener(ev-type, handler, true)
previously internal events to Polymer components fire in addition to
the parent components because stopPropagation() cannot be used (until
too late) on the events during capturing mode.

It would also be nice to have automatic test cases for this component.
Testing it all manually is both inconsistent and time-consuming.

Change-Id: Ic5aec635333eafc04de68218bfc095e2d7b9461a
7 files changed
tree: a306badab0fba344125f21c8f5190e6531e98962
  1. go/
  2. public/
  3. scripts/
  4. src/
  5. test/
  6. .gitignore
  7. .jshintrc
  8. bower.json
  9. css-transform.js
  10. Makefile
  11. package.json
  12. README.md
  13. web-component-dependencies.html
README.md

Mounttable Browser

Mountable browser is a browser application that lets the user view and traverse mounttables.

Building

Before you can run Mounttable Browser, you need to build. Simply run:

make

The Extension

You must have the Veyron Extension installed to run this.

Get it here: https://github.com/veyron/veyron.js/raw/master/extension/veyron.crx

Running

make start

and navigate to http://localhost:9000

to stop simply CTRL-C the console running the make start