Title: [94307] trunk/Source/WebCore
- Revision
- 94307
- Author
- [email protected]
- Date
- 2011-09-01 10:39:17 -0700 (Thu, 01 Sep 2011)
Log Message
Web Inspector: close dedicated worker inspectors when page inspector is closing
https://bugs.webkit.org/show_bug.cgi?id=67366
Close all dedicated worker inspector windows when page inspector is closing.
Reviewed by Pavel Feldman.
* inspector/front-end/WorkerManager.js:
(WebInspector.WorkerManager.prototype._openInspectorWindow):
(WebInspector.WorkerManager.prototype._pageInspectorClosing):
(WebInspector.WorkerManager.prototype._workerInspectorClosing):
* inspector/front-end/inspector.js:
(WebInspector.close):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (94306 => 94307)
--- trunk/Source/WebCore/ChangeLog 2011-09-01 17:36:12 UTC (rev 94306)
+++ trunk/Source/WebCore/ChangeLog 2011-09-01 17:39:17 UTC (rev 94307)
@@ -1,5 +1,21 @@
2011-08-31 Yury Semikhatsky <[email protected]>
+ Web Inspector: close dedicated worker inspectors when page inspector is closing
+ https://bugs.webkit.org/show_bug.cgi?id=67366
+
+ Close all dedicated worker inspector windows when page inspector is closing.
+
+ Reviewed by Pavel Feldman.
+
+ * inspector/front-end/WorkerManager.js:
+ (WebInspector.WorkerManager.prototype._openInspectorWindow):
+ (WebInspector.WorkerManager.prototype._pageInspectorClosing):
+ (WebInspector.WorkerManager.prototype._workerInspectorClosing):
+ * inspector/front-end/inspector.js:
+ (WebInspector.close):
+
+2011-08-31 Yury Semikhatsky <[email protected]>
+
[Chromium] Web Inspector: dedicated worker inspection is broken
https://bugs.webkit.org/show_bug.cgi?id=67279
Modified: trunk/Source/WebCore/inspector/front-end/WorkerManager.js (94306 => 94307)
--- trunk/Source/WebCore/inspector/front-end/WorkerManager.js 2011-09-01 17:36:12 UTC (rev 94306)
+++ trunk/Source/WebCore/inspector/front-end/WorkerManager.js 2011-09-01 17:39:17 UTC (rev 94307)
@@ -109,6 +109,10 @@
var workerInspectorWindow = window.open(url, undefined, "location=0");
this._workerIdToWindow[workerId] = workerInspectorWindow;
workerInspectorWindow.addEventListener("beforeunload", this._workerInspectorClosing.bind(this, workerId), true);
+
+ // Listen to beforeunload in detached state and to the InspectorClosing event in case of attached inspector.
+ window.addEventListener("beforeunload", this._pageInspectorClosing.bind(this), true);
+ WebInspector.notifications.addEventListener(WebInspector.Events.InspectorClosing, this._pageInspectorClosing, this);
},
closeWorkerInspector: function(workerId)
@@ -125,8 +129,19 @@
this.dispatchEventToListeners(WebInspector.WorkerManager.Events.WorkersCleared);
},
+ _pageInspectorClosing: function()
+ {
+ this._ignoreWorkerInspectorClosing = true;
+ for (var workerId in this._workerIdToWindow) {
+ this._workerIdToWindow[workerId].close();
+ WorkerAgent.disconnectFromWorker(workerId);
+ }
+ },
+
_workerInspectorClosing: function(workerId, event)
{
+ if (this._ignoreWorkerInspectorClosing)
+ return;
delete this._workerIdToWindow[workerId];
WorkerAgent.disconnectFromWorker(workerId);
this.dispatchEventToListeners(WebInspector.WorkerManager.Events.WorkerInspectorClosed, workerId);
Modified: trunk/Source/WebCore/inspector/front-end/inspector.js (94306 => 94307)
--- trunk/Source/WebCore/inspector/front-end/inspector.js 2011-09-01 17:36:12 UTC (rev 94306)
+++ trunk/Source/WebCore/inspector/front-end/inspector.js 2011-09-01 17:39:17 UTC (rev 94307)
@@ -432,6 +432,10 @@
}
}
+WebInspector.Events = {
+ InspectorClosing: "InspectorClosing"
+}
+
{(function parseQueryParameters()
{
WebInspector.queryParamsObject = {};
@@ -467,6 +471,8 @@
{
InspectorFrontendHost.loaded();
+ this.notifications = new WebInspector.Object();
+
var platform = WebInspector.platform;
document.body.addStyleClass("platform-" + platform);
var flavor = WebInspector.platformFlavor;
@@ -638,6 +644,7 @@
if (this._isClosing)
return;
this._isClosing = true;
+ this.notifications.dispatchEventToListeners(WebInspector.Events.InspectorClosing);
InspectorFrontendHost.closeWindow();
}
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes