Title: [107320] branches/chromium/1025
- Revision
- 107320
- Author
- [email protected]
- Date
- 2012-02-09 17:17:24 -0800 (Thu, 09 Feb 2012)
Log Message
Merge 107023
BUG=111088
Review URL: https://chromiumcodereview.appspot.com/9370044
Modified Paths
Added Paths
Diff
Copied: branches/chromium/1025/LayoutTests/http/tests/appcache/deferred-events-delete-while-raising-timer-expected.txt (from rev 107023, trunk/LayoutTests/http/tests/appcache/deferred-events-delete-while-raising-timer-expected.txt) (0 => 107320)
--- branches/chromium/1025/LayoutTests/http/tests/appcache/deferred-events-delete-while-raising-timer-expected.txt (rev 0)
+++ branches/chromium/1025/LayoutTests/http/tests/appcache/deferred-events-delete-while-raising-timer-expected.txt 2012-02-10 01:17:24 UTC (rev 107320)
@@ -0,0 +1,4 @@
+Test the destruction of an iframe while deferred events are being raised does not crash the system.
+
+SUCCESS
+
Copied: branches/chromium/1025/LayoutTests/http/tests/appcache/deferred-events-delete-while-raising-timer.html (from rev 107023, trunk/LayoutTests/http/tests/appcache/deferred-events-delete-while-raising-timer.html) (0 => 107320)
--- branches/chromium/1025/LayoutTests/http/tests/appcache/deferred-events-delete-while-raising-timer.html (rev 0)
+++ branches/chromium/1025/LayoutTests/http/tests/appcache/deferred-events-delete-while-raising-timer.html 2012-02-10 01:17:24 UTC (rev 107320)
@@ -0,0 +1,21 @@
+<html>
+<script>
+if (window.layoutTestController) {
+ layoutTestController.dumpAsText();
+ layoutTestController.waitUntilDone();
+}
+
+window._onmessage_ = function() {
+ document.getElementById('result').innerHTML = "SUCCESS";
+ if (window.layoutTestController)
+ layoutTestController.notifyDone();
+}
+
+function killChildFrame() {
+ document.body.removeChild(document.getElementsByTagName("iframe")[0]);
+}
+</script>
+<p>Test the destruction of an iframe while deferred events are being raised does not crash the system.</p>
+<div id="result">FAILURE</div>
+<iframe src=""
+</html>
Copied: branches/chromium/1025/LayoutTests/http/tests/appcache/resources/deferred-events-delete-while-raising-timer-1.html (from rev 107023, trunk/LayoutTests/http/tests/appcache/resources/deferred-events-delete-while-raising-timer-1.html) (0 => 107320)
--- branches/chromium/1025/LayoutTests/http/tests/appcache/resources/deferred-events-delete-while-raising-timer-1.html (rev 0)
+++ branches/chromium/1025/LayoutTests/http/tests/appcache/resources/deferred-events-delete-while-raising-timer-1.html 2012-02-10 01:17:24 UTC (rev 107320)
@@ -0,0 +1,14 @@
+<html manifest="THIS_FILE_DOES_NOT_EXIST.manifest">
+<script src=""
+<script>
+window.applicationCache._onchecking_ = function() {
+ parent.postMessage("hello", "*");
+ parent.killChildFrame();
+}
+
+function killChildFrame() {
+ document.body.removeChild(document.getElementsByTagName("iframe")[0]);
+}
+</script>
+<iframe src=""
+</html>
Copied: branches/chromium/1025/LayoutTests/http/tests/appcache/resources/deferred-events-delete-while-raising-timer-2.html (from rev 107023, trunk/LayoutTests/http/tests/appcache/resources/deferred-events-delete-while-raising-timer-2.html) (0 => 107320)
--- branches/chromium/1025/LayoutTests/http/tests/appcache/resources/deferred-events-delete-while-raising-timer-2.html (rev 0)
+++ branches/chromium/1025/LayoutTests/http/tests/appcache/resources/deferred-events-delete-while-raising-timer-2.html 2012-02-10 01:17:24 UTC (rev 107320)
@@ -0,0 +1,8 @@
+<html manifest="THIS_FILE_DOES_NOT_EXIST.manifest">
+<script src=""
+<script>
+window.applicationCache._onchecking_ = function() {
+ parent.killChildFrame();
+}
+</script>
+</html>
Modified: branches/chromium/1025/Source/WebCore/loader/FrameLoader.cpp (107319 => 107320)
--- branches/chromium/1025/Source/WebCore/loader/FrameLoader.cpp 2012-02-10 01:17:23 UTC (rev 107319)
+++ branches/chromium/1025/Source/WebCore/loader/FrameLoader.cpp 2012-02-10 01:17:24 UTC (rev 107320)
@@ -750,6 +750,8 @@
void FrameLoader::checkTimerFired(Timer<FrameLoader>*)
{
+ RefPtr<Frame> protect(m_frame);
+
if (Page* page = m_frame->page()) {
if (page->defersLoading())
return;
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes