Title: [171409] branches/safari-600.1-branch

Diff

Modified: branches/safari-600.1-branch/Source/WebKit2/ChangeLog (171408 => 171409)


--- branches/safari-600.1-branch/Source/WebKit2/ChangeLog	2014-07-23 05:33:36 UTC (rev 171408)
+++ branches/safari-600.1-branch/Source/WebKit2/ChangeLog	2014-07-23 05:39:05 UTC (rev 171409)
@@ -1,5 +1,24 @@
 2014-07-22 Dana Burkart <dburk...@apple.com>
     
+        Merge r171167.
+
+    2014-07-16  Alexey Proskuryakov  <a...@apple.com>
+
+            A test that hangs at cleanup stage confuses webkitpy hugely
+            https://bugs.webkit.org/show_bug.cgi?id=122475
+            <rdar://problem/17184354>
+
+            Reviewed by Anders Carlsson.
+
+            Reset m_pageLoadState when the process exits cleanly - otherwise messages from a
+            new process for the same WebPageProxy would hit assertions.
+
+            * UIProcess/WebPageProxy.cpp:
+            (WebKit::WebPageProxy::processDidCrash):
+            (WebKit::WebPageProxy::resetStateAfterProcessExited):
+
+2014-07-22 Dana Burkart <dburk...@apple.com>
+    
         Merge r171197.
 
     2014-07-17  Brent Fulgham  <bfulg...@apple.com>

Modified: branches/safari-600.1-branch/Source/WebKit2/UIProcess/WebPageProxy.cpp (171408 => 171409)


--- branches/safari-600.1-branch/Source/WebKit2/UIProcess/WebPageProxy.cpp	2014-07-23 05:33:36 UTC (rev 171408)
+++ branches/safari-600.1-branch/Source/WebKit2/UIProcess/WebPageProxy.cpp	2014-07-23 05:39:05 UTC (rev 171409)
@@ -4276,10 +4276,6 @@
 
     resetStateAfterProcessExited();
 
-    // FIXME: Should we do this when the process exits cleanly, instead of just upon crashing?
-    auto transaction = m_pageLoadState.transaction();
-    m_pageLoadState.reset(transaction);
-
     m_loaderClient->processDidCrash(this);
 }
 
@@ -4434,6 +4430,9 @@
     dismissCorrectionPanel(ReasonForDismissingAlternativeTextIgnored);
     m_pageClient.dismissDictionaryLookupPanel();
 #endif
+
+    auto transaction = m_pageLoadState.transaction();
+    m_pageLoadState.reset(transaction);
 }
 
 WebPageCreationParameters WebPageProxy::creationParameters()

Modified: branches/safari-600.1-branch/Tools/ChangeLog (171408 => 171409)


--- branches/safari-600.1-branch/Tools/ChangeLog	2014-07-23 05:33:36 UTC (rev 171408)
+++ branches/safari-600.1-branch/Tools/ChangeLog	2014-07-23 05:39:05 UTC (rev 171409)
@@ -1,5 +1,25 @@
 2014-07-22 Dana Burkart <dburk...@apple.com>
     
+        Merge r171167.
+
+    2014-07-16  Alexey Proskuryakov  <a...@apple.com>
+
+            A test that hangs at cleanup stage confuses webkitpy hugely
+            https://bugs.webkit.org/show_bug.cgi?id=122475
+            <rdar://problem/17184354>
+
+            Reviewed by Anders Carlsson.
+
+            Terminate WebContent process if it freezes between tests. Ideally, we should report
+            this somehow, but this is better than blaming the wrong test.
+
+            * WebKitTestRunner/TestController.cpp:
+            (WTR::TestController::terminateWebContentProcess):
+            * WebKitTestRunner/TestController.h:
+            * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::invoke):
+
+2014-07-22 Dana Burkart <dburk...@apple.com>
+    
         Merge r171199.
 
     2014-07-17  Sam Weinig  <s...@webkit.org>

Modified: branches/safari-600.1-branch/Tools/WebKitTestRunner/TestController.cpp (171408 => 171409)


--- branches/safari-600.1-branch/Tools/WebKitTestRunner/TestController.cpp	2014-07-23 05:33:36 UTC (rev 171408)
+++ branches/safari-600.1-branch/Tools/WebKitTestRunner/TestController.cpp	2014-07-23 05:39:05 UTC (rev 171409)
@@ -668,6 +668,10 @@
     return m_doneResetting;
 }
 
+void TestController::terminateWebContentProcess()
+{
+    WKPageTerminate(m_mainWebView->page());
+}
 
 void TestController::updateWebViewSizeForTest(const TestInvocation& test)
 {

Modified: branches/safari-600.1-branch/Tools/WebKitTestRunner/TestController.h (171408 => 171409)


--- branches/safari-600.1-branch/Tools/WebKitTestRunner/TestController.h	2014-07-23 05:33:36 UTC (rev 171408)
+++ branches/safari-600.1-branch/Tools/WebKitTestRunner/TestController.h	2014-07-23 05:39:05 UTC (rev 171409)
@@ -97,6 +97,8 @@
     bool resetStateToConsistentValues();
     void resetPreferencesToConsistentValues();
 
+    void terminateWebContentProcess();
+
     WorkQueueManager& workQueueManager() { return m_workQueueManager; }
 
     void setHandlesAuthenticationChallenges(bool value) { m_handlesAuthenticationChallenges = value; }

Modified: branches/safari-600.1-branch/Tools/WebKitTestRunner/TestInvocation.cpp (171408 => 171409)


--- branches/safari-600.1-branch/Tools/WebKitTestRunner/TestInvocation.cpp	2014-07-23 05:33:36 UTC (rev 171408)
+++ branches/safari-600.1-branch/Tools/WebKitTestRunner/TestInvocation.cpp	2014-07-23 05:39:05 UTC (rev 171409)
@@ -202,8 +202,10 @@
     if (m_webProcessIsUnresponsive)
         dumpWebProcessUnresponsiveness();
     else if (!TestController::shared().resetStateToConsistentValues()) {
-        m_errorMessage = "Timed out loading about:blank before the next test";
-        dumpWebProcessUnresponsiveness();
+        // The process froze while loading about:blank, let's start a fresh one.
+        // It would be nice to report that the previous test froze after dumping results, but we have no way to do that.
+        TestController::shared().terminateWebContentProcess();
+        TestController::shared().resetStateToConsistentValues();
     }
 }
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to