Index: third_party/polymer/v0_8/components-chromium/more-routing/more-route-selection-extracted.js |
diff --git a/third_party/polymer/v0_8/components-chromium/more-routing/more-route-selection-extracted.js b/third_party/polymer/v0_8/components-chromium/more-routing/more-route-selection-extracted.js |
index 4562e4d16b1800fbea5c60538edb0b60288d694e..9e76752a27a17c871c3ba548f1c6e798dc5e2a60 100644 |
--- a/third_party/polymer/v0_8/components-chromium/more-routing/more-route-selection-extracted.js |
+++ b/third_party/polymer/v0_8/components-chromium/more-routing/more-route-selection-extracted.js |
@@ -101,15 +101,15 @@ |
* Tracks changes to the routes. |
*/ |
_observeRoutes: function() { |
- if (this._observer) { |
- this._observer.close(); |
- } |
- // TODO(nevir): https://github.com/Polymore/more-routing/issues/24 |
- this._observer = new CompoundObserver(); |
- for (var i = 0, routeInfo; routeInfo = this._routeInfo[i]; i++) { |
- this._observer.addPath(routeInfo.model, 'active'); |
+ if (this._routeListeners) { |
+ for (var i = 0, listener; listener = this._routeListeners[i]; i++) { |
+ listener.close(); |
+ } |
} |
- this._observer.open(this._evaluate.bind(this)); |
+ |
+ this._routeListeners = this._routeInfo.map(function(routeInfo) { |
+ return routeInfo.model.__subscribe(this._evaluate.bind(this)); |
+ }.bind(this)); |
}, |
_evaluate: function() { |