Title: [90284] trunk
- Revision
- 90284
- Author
- [email protected]
- Date
- 2011-07-01 15:06:07 -0700 (Fri, 01 Jul 2011)
Log Message
2011-07-01 Nate Chapin <[email protected]>
Test for https://bugs.webkit.org/show_bug.cgi?id=63835.
Reviewed by Dmitry Titov.
* fast/workers/worker-finish-crash-expected.txt: Added.
* fast/workers/worker-finish-crash.html: Added.
2011-07-01 Nate Chapin <[email protected]>
Ensure WorkerScriptLoader::notifyFinished() doesn't re-enter.
https://bugs.webkit.org/show_bug.cgi?id=63835
Reviewed by Dmitry Titov.
Test: fast/workers/worker-finish-crash.html
* workers/WorkerScriptLoader.cpp:
(WebCore::WorkerScriptLoader::WorkerScriptLoader):
(WebCore::WorkerScriptLoader::notifyFinished):
* workers/WorkerScriptLoader.h:
Modified Paths
Added Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (90283 => 90284)
--- trunk/LayoutTests/ChangeLog 2011-07-01 22:04:27 UTC (rev 90283)
+++ trunk/LayoutTests/ChangeLog 2011-07-01 22:06:07 UTC (rev 90284)
@@ -1,3 +1,12 @@
+2011-07-01 Nate Chapin <[email protected]>
+
+ Test for https://bugs.webkit.org/show_bug.cgi?id=63835.
+
+ Reviewed by Dmitry Titov.
+
+ * fast/workers/worker-finish-crash-expected.txt: Added.
+ * fast/workers/worker-finish-crash.html: Added.
+
2011-07-01 Mihai Parparita <[email protected]>
Reviewed by Darin Fisher.
Added: trunk/LayoutTests/fast/workers/worker-finish-crash-expected.txt (0 => 90284)
--- trunk/LayoutTests/fast/workers/worker-finish-crash-expected.txt (rev 0)
+++ trunk/LayoutTests/fast/workers/worker-finish-crash-expected.txt 2011-07-01 22:06:07 UTC (rev 90284)
@@ -0,0 +1,3 @@
+Test to ensure that finishing a Worker won't re-enter. We pass if we don't crash.
+
+
Added: trunk/LayoutTests/fast/workers/worker-finish-crash.html (0 => 90284)
--- trunk/LayoutTests/fast/workers/worker-finish-crash.html (rev 0)
+++ trunk/LayoutTests/fast/workers/worker-finish-crash.html 2011-07-01 22:06:07 UTC (rev 90284)
@@ -0,0 +1,18 @@
+<body>
+<p>Test to ensure that finishing a Worker won't re-enter. We pass if we don't crash.</p>
+<script>
+
+if (window.layoutTestController) {
+ layoutTestController.dumpAsText();
+ layoutTestController.waitUntilDone();
+}
+
+var worker = new Worker("does-not-exist.js");
+worker._onerror_ = function() {
+ window.stop();
+ if (window.layoutTestController)
+ layoutTestController.notifyDone();
+}
+
+</script>
+</body>
Modified: trunk/Source/WebCore/ChangeLog (90283 => 90284)
--- trunk/Source/WebCore/ChangeLog 2011-07-01 22:04:27 UTC (rev 90283)
+++ trunk/Source/WebCore/ChangeLog 2011-07-01 22:06:07 UTC (rev 90284)
@@ -1,3 +1,17 @@
+2011-07-01 Nate Chapin <[email protected]>
+
+ Ensure WorkerScriptLoader::notifyFinished() doesn't re-enter.
+ https://bugs.webkit.org/show_bug.cgi?id=63835
+
+ Reviewed by Dmitry Titov.
+
+ Test: fast/workers/worker-finish-crash.html
+
+ * workers/WorkerScriptLoader.cpp:
+ (WebCore::WorkerScriptLoader::WorkerScriptLoader):
+ (WebCore::WorkerScriptLoader::notifyFinished):
+ * workers/WorkerScriptLoader.h:
+
2011-07-01 Adrienne Walker <[email protected]>
[chromium] Upload root layer textures first so that it is less likely to be skipped
Modified: trunk/Source/WebCore/workers/WorkerScriptLoader.cpp (90283 => 90284)
--- trunk/Source/WebCore/workers/WorkerScriptLoader.cpp 2011-07-01 22:04:27 UTC (rev 90283)
+++ trunk/Source/WebCore/workers/WorkerScriptLoader.cpp 2011-07-01 22:06:07 UTC (rev 90284)
@@ -52,6 +52,7 @@
, m_failed(false)
, m_identifier(0)
, m_targetType(targetType)
+ , m_finishing(false)
{
}
@@ -181,8 +182,11 @@
void WorkerScriptLoader::notifyFinished()
{
- if (m_client)
- m_client->notifyFinished();
+ if (!m_client || m_finishing)
+ return;
+
+ m_finishing = true;
+ m_client->notifyFinished();
}
} // namespace WebCore
Modified: trunk/Source/WebCore/workers/WorkerScriptLoader.h (90283 => 90284)
--- trunk/Source/WebCore/workers/WorkerScriptLoader.h 2011-07-01 22:04:27 UTC (rev 90283)
+++ trunk/Source/WebCore/workers/WorkerScriptLoader.h 2011-07-01 22:06:07 UTC (rev 90284)
@@ -92,6 +92,7 @@
bool m_failed;
unsigned long m_identifier;
ResourceRequestBase::TargetType m_targetType;
+ bool m_finishing;
};
} // namespace WebCore
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes