Title: [109377] branches/chromium/1025

Diff

Copied: branches/chromium/1025/LayoutTests/http/tests/navigation/navigation-redirect-schedule-crash-expected.txt (from rev 107729, trunk/LayoutTests/http/tests/navigation/navigation-redirect-schedule-crash-expected.txt) (0 => 109377)


--- branches/chromium/1025/LayoutTests/http/tests/navigation/navigation-redirect-schedule-crash-expected.txt	                        (rev 0)
+++ branches/chromium/1025/LayoutTests/http/tests/navigation/navigation-redirect-schedule-crash-expected.txt	2012-03-01 19:26:02 UTC (rev 109377)
@@ -0,0 +1 @@
+PASS

Copied: branches/chromium/1025/LayoutTests/http/tests/navigation/navigation-redirect-schedule-crash.html (from rev 107729, trunk/LayoutTests/http/tests/navigation/navigation-redirect-schedule-crash.html) (0 => 109377)


--- branches/chromium/1025/LayoutTests/http/tests/navigation/navigation-redirect-schedule-crash.html	                        (rev 0)
+++ branches/chromium/1025/LayoutTests/http/tests/navigation/navigation-redirect-schedule-crash.html	2012-03-01 19:26:02 UTC (rev 109377)
@@ -0,0 +1,29 @@
+<html>
+<style>
+@font-face { font-family: "A"; src: url(); }
+summary { font-family: A; }
+</style>
+<script>
+if (window.layoutTestController) {
+    layoutTestController.dumpAsText();
+    layoutTestController.waitUntilDone();
+}
+
+function loadComplete() { 
+    document.open(); 
+    document.write('PASS'); 
+    document.close();
+    setTimeout("finish()", 0);
+}
+
+function finish() {
+    if (window.layoutTestController)
+        layoutTestController.notifyDone();
+}
+</script>
+<body _onload_="loadComplete()">
+<summary>
+<OBJECT CODEBASE="" DATA=""
+</summary>
+</body>
+</html>

Modified: branches/chromium/1025/Source/WebCore/loader/NavigationScheduler.cpp (109376 => 109377)


--- branches/chromium/1025/Source/WebCore/loader/NavigationScheduler.cpp	2012-03-01 19:24:18 UTC (rev 109376)
+++ branches/chromium/1025/Source/WebCore/loader/NavigationScheduler.cpp	2012-03-01 19:26:02 UTC (rev 109377)
@@ -422,6 +422,8 @@
 {
     ASSERT(m_frame->page());
 
+    RefPtr<Frame> protect(m_frame);
+
     // If a redirect was scheduled during a load, then stop the current load.
     // Otherwise when the current load transitions from a provisional to a 
     // committed state, pending redirects may be cancelled. 
@@ -437,6 +439,9 @@
     if (!m_frame->loader()->isComplete() && m_redirect->isLocationChange())
         m_frame->loader()->completed();
 
+    if (!m_frame->page())
+        return;
+
     startTimer();
 }
 
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to