Title: [94647] trunk/Source/WebCore
- Revision
- 94647
- Author
- dslo...@google.com
- Date
- 2011-09-07 00:50:23 -0700 (Wed, 07 Sep 2011)
Log Message
https://bugs.webkit.org/show_bug.cgi?id=67413
[Chromium]Web Inspector: inspected page with dedicated worker crashes on refresh.
This patch enforces lifetime ordering between WorkerInspectorController and WorkerScriptController.
Reviewed by Yury Semikhatsky.
* workers/WorkerContext.cpp:
(WebCore::WorkerContext::clearInspector):
* workers/WorkerContext.h:
* workers/WorkerThread.cpp:
(WebCore::WorkerThreadShutdownFinishTask::performTask):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (94646 => 94647)
--- trunk/Source/WebCore/ChangeLog 2011-09-07 07:45:04 UTC (rev 94646)
+++ trunk/Source/WebCore/ChangeLog 2011-09-07 07:50:23 UTC (rev 94647)
@@ -1,3 +1,17 @@
+2011-09-07 Dmitry Lomov <dslo...@google.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=67413
+ [Chromium]Web Inspector: inspected page with dedicated worker crashes on refresh.
+ This patch enforces lifetime ordering between WorkerInspectorController and WorkerScriptController.
+
+ Reviewed by Yury Semikhatsky.
+
+ * workers/WorkerContext.cpp:
+ (WebCore::WorkerContext::clearInspector):
+ * workers/WorkerContext.h:
+ * workers/WorkerThread.cpp:
+ (WebCore::WorkerThreadShutdownFinishTask::performTask):
+
2011-09-07 Sheriff Bot <webkit.review....@gmail.com>
Unreviewed, rolling out r94627 and r94632.
Modified: trunk/Source/WebCore/workers/WorkerContext.cpp (94646 => 94647)
--- trunk/Source/WebCore/workers/WorkerContext.cpp 2011-09-07 07:45:04 UTC (rev 94646)
+++ trunk/Source/WebCore/workers/WorkerContext.cpp 2011-09-07 07:50:23 UTC (rev 94647)
@@ -219,6 +219,13 @@
DOMTimer::removeById(scriptExecutionContext(), timeoutId);
}
+#if ENABLE(INSPECTOR)
+void WorkerContext::clearInspector()
+{
+ m_workerInspectorController.clear();
+}
+#endif
+
int WorkerContext::setInterval(PassOwnPtr<ScheduledAction> action, int timeout)
{
return DOMTimer::install(scriptExecutionContext(), action, timeout, false);
Modified: trunk/Source/WebCore/workers/WorkerContext.h (94646 => 94647)
--- trunk/Source/WebCore/workers/WorkerContext.h 2011-09-07 07:45:04 UTC (rev 94646)
+++ trunk/Source/WebCore/workers/WorkerContext.h 2011-09-07 07:50:23 UTC (rev 94647)
@@ -79,6 +79,9 @@
WorkerScriptController* script() { return m_script.get(); }
void clearScript() { m_script.clear(); }
+#if ENABLE(INSPECTOR)
+ void clearInspector();
+#endif
WorkerThread* thread() const { return m_thread; }
Modified: trunk/Source/WebCore/workers/WorkerThread.cpp (94646 => 94647)
--- trunk/Source/WebCore/workers/WorkerThread.cpp 2011-09-07 07:45:04 UTC (rev 94646)
+++ trunk/Source/WebCore/workers/WorkerThread.cpp 2011-09-07 07:50:23 UTC (rev 94647)
@@ -174,6 +174,9 @@
{
ASSERT(context->isWorkerContext());
WorkerContext* workerContext = static_cast<WorkerContext*>(context);
+#if ENABLE(INSPECTOR)
+ workerContext->clearInspector();
+#endif
// It's not safe to call clearScript until all the cleanup tasks posted by functions initiated by WorkerThreadShutdownStartTask have completed.
workerContext->clearScript();
workerContext->thread()->runLoop().terminate();
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes