Changeset 128892 in webkit


Ignore:
Timestamp:
Sep 18, 2012 7:14:10 AM (12 years ago)
Author:
caseq@chromium.org
Message:

Web Inspector: [Extensions API] postpone requests to add extensions until extension server is initialized
https://bugs.webkit.org/show_bug.cgi?id=97012

Reviewed by Vsevolod Vlasov.

  • queue extensions being added unless initialization is complete;
  • add queued extensions upon completion of initialization;
  • inspector/front-end/ExtensionServer.js:

(WebInspector.ExtensionServer.prototype.initExtensions):
(WebInspector.ExtensionServer.prototype._addExtensions):
(WebInspector.ExtensionServer.prototype._addExtension):
(WebInspector.ExtensionServer.prototype._innerAddExtension):

Location:
trunk/Source/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r128880 r128892  
     12012-09-18  Andrey Kosyakov  <caseq@chromium.org>
     2
     3        Web Inspector: [Extensions API] postpone requests to add extensions until extension server is initialized
     4        https://bugs.webkit.org/show_bug.cgi?id=97012
     5
     6        Reviewed by Vsevolod Vlasov.
     7
     8        - queue extensions being added unless initialization is complete;
     9        - add queued extensions upon completion of initialization;
     10
     11        * inspector/front-end/ExtensionServer.js:
     12        (WebInspector.ExtensionServer.prototype.initExtensions):
     13        (WebInspector.ExtensionServer.prototype._addExtensions):
     14        (WebInspector.ExtensionServer.prototype._addExtension):
     15        (WebInspector.ExtensionServer.prototype._innerAddExtension):
     16
    1172012-09-18  Christophe Dumez  <christophe.dumez@intel.com>
    218
  • trunk/Source/WebCore/inspector/front-end/ExtensionServer.js

    r128875 r128892  
    611611            this._inspectedURLChanged, this);
    612612        WebInspector.resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.MainFrameNavigated, this._mainFrameNavigated, this);
     613        this._initDone = true;
     614        if (this._pendingExtensions) {
     615            this._pendingExtensions.forEach(this._innerAddExtension, this);
     616            delete this._pendingExtensions;
     617        }
    613618        InspectorExtensionRegistry.getExtensionsAsync();
    614619    },
     
    653658    _addExtensions: function(extensions)
    654659    {
    655         for (var i = 0; i < extensions.length; ++i)
    656             this._addExtension(extensions[i]);
     660        extensions.forEach(this._addExtension, this);
    657661    },
    658662
    659663    _addExtension: function(extensionInfo)
     664    {
     665        if (this._initDone) {
     666            this._innerAddExtension(extensionInfo);
     667            return;
     668        }
     669        if (this._pendingExtensions)
     670            this._pendingExtensions.push(extensionInfo);
     671        else
     672            this._pendingExtensions = [extensionInfo];
     673    },
     674
     675    _innerAddExtension: function(extensionInfo)
    660676    {
    661677        const urlOriginRegExp = new RegExp("([^:]+:\/\/[^/]*)\/"); // Can't use regexp literal here, MinJS chokes on it.
Note: See TracChangeset for help on using the changeset viewer.