Chromium Code Reviews| Index: chrome/browser/resources/md_history/app.js |
| diff --git a/chrome/browser/resources/md_history/app.js b/chrome/browser/resources/md_history/app.js |
| index 13f5e88e674e85131e8572c0e3b5bc3939e0f6f0..0b79a0350f650031c9064d47f824da46e7bf595d 100644 |
| --- a/chrome/browser/resources/md_history/app.js |
| +++ b/chrome/browser/resources/md_history/app.js |
| @@ -14,7 +14,7 @@ Polymer({ |
| hasSyncedResults: Boolean, |
| // The id of the currently selected page. |
| - selectedPage_: {type: String, observer: 'unselectAll'}, |
| + selectedPage_: {type: String, observer: 'selectedPageChanged_'}, |
| // Whether domain-grouped history is enabled. |
| grouped_: {type: Boolean, reflectToAttribute: true}, |
| @@ -52,12 +52,6 @@ Polymer({ |
| } |
| }, |
| - // Route data for the current page. |
| - routeData_: Object, |
| - |
| - // The query params for the page. |
| - queryParams_: Object, |
| - |
| // True if the window is narrow enough for the page to have a drawer. |
| hasDrawer_: Boolean, |
| @@ -75,17 +69,6 @@ Polymer({ |
| } |
| }, |
| - observers: [ |
| - // routeData_.page <=> selectedPage |
| - 'routeDataChanged_(routeData_.page)', |
| - 'selectedPageChanged_(selectedPage_)', |
| - |
| - // queryParams_.q <=> queryState.searchTerm |
| - 'searchTermChanged_(queryState_.searchTerm)', |
| - 'searchQueryParamChanged_(queryParams_.q)', |
| - |
| - ], |
| - |
| // TODO(calamity): Replace these event listeners with data bound properties. |
| listeners: { |
| 'cr-menu-tap': 'onMenuTap_', |
| @@ -104,12 +87,6 @@ Polymer({ |
| cr.ui.decorate('command', cr.ui.Command); |
| document.addEventListener('canExecute', this.onCanExecute_.bind(this)); |
| document.addEventListener('command', this.onCommand_.bind(this)); |
| - |
| - // Redirect legacy search URLs to URLs compatible with material history. |
| - if (window.location.hash) { |
| - window.location.href = window.location.href.split('#')[0] + '?' + |
| - window.location.hash.substr(1); |
| - } |
| }, |
| onFirstRender: function() { |
| @@ -130,7 +107,8 @@ Polymer({ |
| /** Overridden from IronScrollTargetBehavior */ |
| _scrollHandler: function() { |
| - this.toolbarShadow_ = this.scrollTarget.scrollTop != 0; |
| + if (this.scrollTarget) |
| + this.toolbarShadow_ = this.scrollTarget.scrollTop != 0; |
| }, |
| /** @private */ |
| @@ -186,12 +164,6 @@ Polymer({ |
| focusToolbarSearchField: function() { this.$.toolbar.showSearchField(); }, |
| /** |
| - * Fired when the user presses 'More from this site'. |
| - * @param {{detail: {domain: string}}} e |
| - */ |
| - searchDomain_: function(e) { this.$.toolbar.setSearchTerm(e.detail.domain); }, |
| - |
| - /** |
| * @param {Event} e |
| * @private |
| */ |
| @@ -211,26 +183,6 @@ Polymer({ |
| }, |
| /** |
| - * @param {string} searchTerm |
| - * @private |
| - */ |
| - searchTermChanged_: function(searchTerm) { |
| - this.set('queryParams_.q', searchTerm || null); |
| - this.$['history'].queryHistory(false); |
| - // TODO(tsergeant): Ignore incremental searches in this metric. |
| - if (this.queryState_.searchTerm) |
| - md_history.BrowserService.getInstance().recordAction('Search'); |
| - }, |
| - |
| - /** |
| - * @param {string} searchQuery |
| - * @private |
| - */ |
| - searchQueryParamChanged_: function(searchQuery) { |
| - this.$.toolbar.setSearchTerm(searchQuery || ''); |
| - }, |
| - |
| - /** |
| * @param {Event} e |
| * @private |
| */ |
| @@ -306,17 +258,10 @@ Polymer({ |
| }, |
| /** |
| - * @param {string} page |
| * @private |
| */ |
| - routeDataChanged_: function(page) { this.selectedPage_ = page; }, |
| - |
| - /** |
| - * @param {string} selectedPage |
| - * @private |
| - */ |
| - selectedPageChanged_: function(selectedPage) { |
| - this.set('routeData_.page', selectedPage); |
| + selectedPageChanged_: function() { |
| + this.unselectAll(); |
| this.historyViewChanged_(); |
| }, |
| @@ -325,8 +270,11 @@ Polymer({ |
| // This allows the synced-device-manager to render so that it can be set as |
| // the scroll target. |
| requestAnimationFrame(function() { |
| - this.scrollTarget = this.$.content.selectedItem.getContentScrollTarget(); |
| - this._scrollHandler(); |
| + if (this.$.content.selectedItem) { |
|
tsergeant
2016/09/21 07:57:47
These guards are necessary because of tests.
I do
calamity
2016/09/22 05:12:26
Looks fine. Invert and early return with comment.
tsergeant
2016/09/22 23:57:42
Done.
|
| + this.scrollTarget = |
| + this.$.content.selectedItem.getContentScrollTarget(); |
| + this._scrollHandler(); |
| + } |
| }.bind(this)); |
| this.recordHistoryPageView_(); |
| }, |