Title: [128892] trunk/Source/WebCore
- Revision
- 128892
- Author
- [email protected]
- Date
- 2012-09-18 07:14:10 -0700 (Tue, 18 Sep 2012)
Log 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):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (128891 => 128892)
--- trunk/Source/WebCore/ChangeLog 2012-09-18 14:11:00 UTC (rev 128891)
+++ trunk/Source/WebCore/ChangeLog 2012-09-18 14:14:10 UTC (rev 128892)
@@ -1,3 +1,19 @@
+2012-09-18 Andrey Kosyakov <[email protected]>
+
+ 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):
+
2012-09-18 Christophe Dumez <[email protected]>
[EFL] min-device-width failures in media tests
Modified: trunk/Source/WebCore/inspector/front-end/ExtensionServer.js (128891 => 128892)
--- trunk/Source/WebCore/inspector/front-end/ExtensionServer.js 2012-09-18 14:11:00 UTC (rev 128891)
+++ trunk/Source/WebCore/inspector/front-end/ExtensionServer.js 2012-09-18 14:14:10 UTC (rev 128892)
@@ -610,6 +610,11 @@
WebInspector.resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.InspectedURLChanged,
this._inspectedURLChanged, this);
WebInspector.resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.MainFrameNavigated, this._mainFrameNavigated, this);
+ this._initDone = true;
+ if (this._pendingExtensions) {
+ this._pendingExtensions.forEach(this._innerAddExtension, this);
+ delete this._pendingExtensions;
+ }
InspectorExtensionRegistry.getExtensionsAsync();
},
@@ -652,12 +657,23 @@
*/
_addExtensions: function(extensions)
{
- for (var i = 0; i < extensions.length; ++i)
- this._addExtension(extensions[i]);
+ extensions.forEach(this._addExtension, this);
},
_addExtension: function(extensionInfo)
{
+ if (this._initDone) {
+ this._innerAddExtension(extensionInfo);
+ return;
+ }
+ if (this._pendingExtensions)
+ this._pendingExtensions.push(extensionInfo);
+ else
+ this._pendingExtensions = [extensionInfo];
+ },
+
+ _innerAddExtension: function(extensionInfo)
+ {
const urlOriginRegExp = new RegExp("([^:]+:\/\/[^/]*)\/"); // Can't use regexp literal here, MinJS chokes on it.
var startPage = extensionInfo.startPage;
var name = extensionInfo.name;
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes