Add ICU message format support
[chromium-blink-merge.git] / third_party / polymer / v1_0 / components-chromium / more-routing / driver / hash-extracted.js
blob50abd21db89d44f52ee9caef97ffbca175bf2998
2 (function(scope) {
3 var MoreRouting = scope.MoreRouting = scope.MoreRouting || {};
4 MoreRouting.HashDriver = HashDriver;
6 /**
7  * TODO(nevir): Docs.
8  */
9 function HashDriver() {
10   MoreRouting.Driver.apply(this, arguments);
11   this._bindEvents();
12   this._read();
14 HashDriver.prototype = Object.create(MoreRouting.Driver.prototype);
16 // By default, we prefer hashbang; but you can prefix with any string you wish.
17 HashDriver.prototype.prefix = '!/';
19 HashDriver.prototype.urlForParts = function urlForParts(parts) {
20   return '#' + MoreRouting.Driver.prototype.urlForParts.call(this, parts);
23 HashDriver.prototype.navigateToUrl = function navigateToUrl(url) {
24   window.location.hash = url;
27 HashDriver.prototype._bindEvents = function _bindEvents() {
28   window.addEventListener('hashchange', this._read.bind(this));
31 HashDriver.prototype._read = function _read() {
32   this.setCurrentPath(window.location.hash.substr(1) || this.prefix);
35 })(window);