| Index: chrome/browser/resources/md_extensions/manager.js
|
| diff --git a/chrome/browser/resources/md_extensions/manager.js b/chrome/browser/resources/md_extensions/manager.js
|
| index 60c33b48dc53929f194694d4549277ace4fc2936..7f6b0f60abf8e4399ed6fa38aedce5d87cf09ec1 100644
|
| --- a/chrome/browser/resources/md_extensions/manager.js
|
| +++ b/chrome/browser/resources/md_extensions/manager.js
|
| @@ -60,12 +60,6 @@ cr.define('extensions', function() {
|
| type: Array,
|
| value: function() { return []; },
|
| },
|
| -
|
| - /** @type {!Array<!chrome.developerPrivate.ExtensionInfo>} */
|
| - websites: {
|
| - type: Array,
|
| - value: function() { return []; },
|
| - },
|
| },
|
|
|
| behaviors: [
|
| @@ -78,8 +72,8 @@ cr.define('extensions', function() {
|
| /** @type {extensions.Sidebar} */(this.$$('extensions-sidebar'));
|
| this.service = extensions.Service.getInstance();
|
| this.service.managerReady(this);
|
| - this.scrollHelper_ = new ScrollHelper(this);
|
| - this.sidebar.setScrollDelegate(this.scrollHelper_);
|
| + this.listHelper_ = new ListHelper(this);
|
| + this.sidebar.setListDelegate(this.listHelper_);
|
| this.$.toolbar.setSearchDelegate(new SearchHelper(this));
|
| },
|
|
|
| @@ -94,8 +88,6 @@ cr.define('extensions', function() {
|
| switch (type) {
|
| case ExtensionType.HOSTED_APP:
|
| case ExtensionType.LEGACY_PACKAGED_APP:
|
| - listId = 'websites';
|
| - break;
|
| case ExtensionType.PLATFORM_APP:
|
| listId = 'apps';
|
| break;
|
| @@ -125,11 +117,10 @@ cr.define('extensions', function() {
|
| },
|
|
|
| /**
|
| - * @param {!Array<!chrome.developerPrivate.ExtensionInfo>} list
|
| * @return {boolean} Whether the list should be visible.
|
| */
|
| - computeListHidden_: function(list) {
|
| - return list.length == 0;
|
| + computeListHidden_: function() {
|
| + return this.$['items-list'].items.length == 0;
|
| },
|
|
|
| /**
|
| @@ -173,35 +164,46 @@ cr.define('extensions', function() {
|
| assert(index >= 0);
|
| this.splice(listId, index, 1);
|
| },
|
| +
|
| + /**
|
| + * Shows the detailed view for a given item.
|
| + * @param {!chrome.developerPrivate.ExtensionInfo} data The data for the
|
| + * item to show the details of.
|
| + */
|
| + showDetailsFor: function(data) {
|
| + this.$['details-view'].set('data', data);
|
| + this.$.pages.selected = 1;
|
| + },
|
| +
|
| + /** @private */
|
| + onDetailsViewClose_: function() {
|
| + this.$.pages.selected = 0;
|
| + }
|
| });
|
|
|
| /**
|
| * @param {extensions.Manager} manager
|
| * @constructor
|
| - * @implements {extensions.SidebarScrollDelegate}
|
| + * @implements {extensions.SidebarListDelegate}
|
| */
|
| - function ScrollHelper(manager) {
|
| - this.items_ = manager.$.items;
|
| + function ListHelper(manager) {
|
| + this.manager_ = manager;
|
| }
|
|
|
| - ScrollHelper.prototype = {
|
| + ListHelper.prototype = {
|
| /** @override */
|
| - scrollToExtensions: function() {
|
| - this.items_.scrollTop =
|
| - this.items_.querySelector('#extensions-list').offsetTop;
|
| - },
|
| -
|
| - /** @override */
|
| - scrollToApps: function() {
|
| - this.items_.scrollTop =
|
| - this.items_.querySelector('#apps-list').offsetTop;
|
| - },
|
| -
|
| - /** @override */
|
| - scrollToWebsites: function() {
|
| - this.items_.scrollTop =
|
| - this.items_.querySelector('#websites-list').offsetTop;
|
| - },
|
| + showType: function(type) {
|
| + var items;
|
| + switch (type) {
|
| + case extensions.ShowingType.EXTENSIONS:
|
| + items = this.manager_.extensions;
|
| + break;
|
| + case extensions.ShowingType.APPS:
|
| + items = this.manager_.apps;
|
| + break;
|
| + }
|
| + this.manager_.$['items-list'].set('items', assert(items));
|
| + }
|
| };
|
|
|
| /**
|
|
|