Title: [177587] trunk/Source/WebCore
- Revision
- 177587
- Author
- [email protected]
- Date
- 2014-12-19 11:42:24 -0800 (Fri, 19 Dec 2014)
Log Message
Web Inspector: CRASH in inspector-protocol/debugger/terminate-dedicated-worker-while-paused.html
https://bugs.webkit.org/show_bug.cgi?id=139792
Patch by Joseph Pecoraro <[email protected]> on 2014-12-19
Reviewed by Timothy Hatcher.
* bindings/js/WorkerScriptDebugServer.cpp:
(WebCore::WorkerScriptDebugServer::removeListener):
When removing listeners, we could be during WorkerGlobalObject shutdown
and WorkerGlobalObject::script may be null.
* workers/WorkerMessagingProxy.cpp:
(WebCore::WorkerMessagingProxy::WorkerMessagingProxy):
(WebCore::WorkerMessagingProxy::postMessageToPageInspector):
This postTask may happen after m_pageInspector has been cleared, so
only execute it if m_pageInspector is still valid.
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (177586 => 177587)
--- trunk/Source/WebCore/ChangeLog 2014-12-19 19:37:59 UTC (rev 177586)
+++ trunk/Source/WebCore/ChangeLog 2014-12-19 19:42:24 UTC (rev 177587)
@@ -1,3 +1,21 @@
+2014-12-19 Joseph Pecoraro <[email protected]>
+
+ Web Inspector: CRASH in inspector-protocol/debugger/terminate-dedicated-worker-while-paused.html
+ https://bugs.webkit.org/show_bug.cgi?id=139792
+
+ Reviewed by Timothy Hatcher.
+
+ * bindings/js/WorkerScriptDebugServer.cpp:
+ (WebCore::WorkerScriptDebugServer::removeListener):
+ When removing listeners, we could be during WorkerGlobalObject shutdown
+ and WorkerGlobalObject::script may be null.
+
+ * workers/WorkerMessagingProxy.cpp:
+ (WebCore::WorkerMessagingProxy::WorkerMessagingProxy):
+ (WebCore::WorkerMessagingProxy::postMessageToPageInspector):
+ This postTask may happen after m_pageInspector has been cleared, so
+ only execute it if m_pageInspector is still valid.
+
2014-12-19 Chris Dumez <[email protected]>
Drop useless HTMLMediaElement::m_previousProgress member
Modified: trunk/Source/WebCore/bindings/js/WorkerScriptDebugServer.cpp (177586 => 177587)
--- trunk/Source/WebCore/bindings/js/WorkerScriptDebugServer.cpp 2014-12-19 19:37:59 UTC (rev 177586)
+++ trunk/Source/WebCore/bindings/js/WorkerScriptDebugServer.cpp 2014-12-19 19:42:24 UTC (rev 177587)
@@ -75,7 +75,8 @@
m_listeners.remove(listener);
if (m_listeners.isEmpty()) {
- m_workerGlobalScope->script()->detachDebugger(this);
+ if (m_workerGlobalScope->script())
+ m_workerGlobalScope->script()->detachDebugger(this);
if (!skipRecompile)
recompileAllJSFunctions();
}
Modified: trunk/Source/WebCore/workers/WorkerMessagingProxy.cpp (177586 => 177587)
--- trunk/Source/WebCore/workers/WorkerMessagingProxy.cpp 2014-12-19 19:37:59 UTC (rev 177586)
+++ trunk/Source/WebCore/workers/WorkerMessagingProxy.cpp 2014-12-19 19:42:24 UTC (rev 177587)
@@ -64,7 +64,7 @@
, m_workerThreadHadPendingActivity(false)
, m_askedToTerminate(false)
#if ENABLE(INSPECTOR)
- , m_pageInspector(0)
+ , m_pageInspector(nullptr)
#endif
{
ASSERT(m_workerObject);
@@ -296,7 +296,8 @@
{
StringCapture capturedMessage(message);
m_scriptExecutionContext->postTask([this, capturedMessage] (ScriptExecutionContext&) {
- m_pageInspector->dispatchMessageFromWorker(capturedMessage.string());
+ if (m_pageInspector)
+ m_pageInspector->dispatchMessageFromWorker(capturedMessage.string());
});
}
#endif
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes