| Index: chrome/browser/resources/extensions/extension_list.js
|
| diff --git a/chrome/browser/resources/extensions/extension_list.js b/chrome/browser/resources/extensions/extension_list.js
|
| index f6967bd6297656b638d75cb63c44064ba79773fc..47dd7103a3af70ab966d33722af678c77be009f5 100644
|
| --- a/chrome/browser/resources/extensions/extension_list.js
|
| +++ b/chrome/browser/resources/extensions/extension_list.js
|
| @@ -285,11 +285,32 @@ cr.define('extensions', function() {
|
| this.extensions_ = extensions;
|
| this.showExtensionNodes_();
|
| resolve();
|
| +
|
| + // |onUpdateFinished_| should be called after the list becomes visible
|
| + // in extensions.js. |resolve| is async, so |onUpdateFinished_|
|
| + // shouldn't be called directly.
|
| + this.extensionsUpdated_.then(this.onUpdateFinished_.bind(this));
|
| }.bind(this));
|
| }.bind(this));
|
| return this.extensionsUpdated_;
|
| },
|
|
|
| + /** Updates elements that need to be visible in order to update properly. */
|
| + onUpdateFinished_: function() {
|
| + assert(!this.hidden);
|
| + assert(!this.parentElement.hidden);
|
| +
|
| + this.updateFocusableElements();
|
| +
|
| + var idToHighlight = this.getIdQueryParam_();
|
| + if (idToHighlight && $(idToHighlight))
|
| + this.scrollToNode_(idToHighlight);
|
| +
|
| + var idToOpenOptions = this.getOptionsQueryParam_();
|
| + if (idToOpenOptions && $(idToOpenOptions))
|
| + this.showEmbeddedExtensionOptions_(idToOpenOptions, true);
|
| + },
|
| +
|
| /** @return {number} The number of extensions being displayed. */
|
| getNumExtensions: function() {
|
| return this.extensions_.length;
|
| @@ -339,14 +360,6 @@ cr.define('extensions', function() {
|
| assertInstanceof(node, ExtensionFocusRow).destroy();
|
| }
|
| }
|
| -
|
| - var idToHighlight = this.getIdQueryParam_();
|
| - if (idToHighlight && $(idToHighlight))
|
| - this.scrollToNode_(idToHighlight);
|
| -
|
| - var idToOpenOptions = this.getOptionsQueryParam_();
|
| - if (idToOpenOptions && $(idToOpenOptions))
|
| - this.showEmbeddedExtensionOptions_(idToOpenOptions, true);
|
| },
|
|
|
| /** Updates each row's focusable elements without rebuilding the grid. */
|
|
|