Pin Chrome's shortcut to the Win10 Start menu on install and OS upgrade.
[chromium-blink-merge.git] / third_party / polymer / v1_0 / components / more-routing / driver / hash.html
blobe20ded15e4abb8d631b6ea8d829000f2ae6fb850
1 <!--
2 Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
3 This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
4 The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
5 The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
6 Code distributed by Google as part of the polymer project is also
7 subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
8 -->
9 <link rel="import" href="../driver.html">
11 <script>
12 (function(scope) {
13 var MoreRouting = scope.MoreRouting = scope.MoreRouting || {};
14 MoreRouting.HashDriver = HashDriver;
16 /**
17 * TODO(nevir): Docs.
19 function HashDriver() {
20 MoreRouting.Driver.apply(this, arguments);
21 this._bindEvents();
22 this._read();
24 HashDriver.prototype = Object.create(MoreRouting.Driver.prototype);
26 // By default, we prefer hashbang; but you can prefix with any string you wish.
27 HashDriver.prototype.prefix = '!/';
29 HashDriver.prototype.urlForParts = function urlForParts(parts) {
30 return '#' + MoreRouting.Driver.prototype.urlForParts.call(this, parts);
33 HashDriver.prototype.navigateToUrl = function navigateToUrl(url) {
34 window.location.hash = url;
37 HashDriver.prototype._bindEvents = function _bindEvents() {
38 window.addEventListener('hashchange', this._read.bind(this));
41 HashDriver.prototype._read = function _read() {
42 this.setCurrentPath(window.location.hash.substr(1) || this.prefix);
45 })(window);
46 </script>