Title: [134195] branches/chromium/1271/Source/WebCore/inspector/InspectorWorkerAgent.cpp
Revision
134195
Author
[email protected]
Date
2012-11-12 00:37:32 -0800 (Mon, 12 Nov 2012)

Log Message

Merge 133569 - Web Inspector: _javascript_ web workers debugging crashes
https://bugs.webkit.org/show_bug.cgi?id=101065

Reviewed by Alexander Pavlov.

Source/WebCore:

Clear m_pageInspector when page inspector instance is deleted.
Disable worker inspection when front-end disconnects.

Test: inspector-protocol/debugger-terminate-dedicated-worker-while-paused.html

* inspector/InspectorWorkerAgent.cpp:
(WebCore::InspectorWorkerAgent::WorkerFrontendChannel::~WorkerFrontendChannel): notify
WorkerMessagingProxy so that it can clear pointer to the channel.

LayoutTests:

Test that inspected page won't crash if inspected worker is terminated when it is paused
on a breakpoint.

* inspector-protocol/debugger-terminate-dedicated-worker-while-paused-expected.txt: Added.
* inspector-protocol/debugger-terminate-dedicated-worker-while-paused.html: Added.
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac/TestExpectations:
* platform/qt/TestExpectations:
* platform/win/TestExpectations:
* platform/wincairo/TestExpectations:

[email protected]
Review URL: https://codereview.chromium.org/11361213

Modified Paths

Diff

Modified: branches/chromium/1271/Source/WebCore/inspector/InspectorWorkerAgent.cpp (134194 => 134195)


--- branches/chromium/1271/Source/WebCore/inspector/InspectorWorkerAgent.cpp	2012-11-12 08:13:04 UTC (rev 134194)
+++ branches/chromium/1271/Source/WebCore/inspector/InspectorWorkerAgent.cpp	2012-11-12 08:37:32 UTC (rev 134195)
@@ -63,6 +63,7 @@
     }
     virtual ~WorkerFrontendChannel()
     {
+        disconnectFromWorkerContext();
     }
 
     int id() const { return m_id; }
@@ -136,9 +137,9 @@
 
 void InspectorWorkerAgent::clearFrontend()
 {
+    m_state->setBoolean(WorkerAgentState::autoconnectToWorkers, false);
+    disable(0);
     m_inspectorFrontend = 0;
-    m_state->setBoolean(WorkerAgentState::autoconnectToWorkers, false);
-    destroyWorkerFrontendChannels();
 }
 
 void InspectorWorkerAgent::enable(ErrorString*)
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to