Title: [134522] trunk/Source/WebKit2
Revision
134522
Author
[email protected]
Date
2012-11-13 19:38:18 -0800 (Tue, 13 Nov 2012)

Log Message

REGRESSION(r134328) - ASSERT(isMainThread()) when subresources redirect in the NetworkProcessPass through
https://bugs.webkit.org/show_bug.cgi?id=102167

Reviewed by Simon Fraser.

willSendRequest comes in on a background thread but we need to do HostRecord accounting on the main thread.

So we'll just dispatch the receivedRedirect call to the main thread RunLoop.

* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::willSendRequest):

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (134521 => 134522)


--- trunk/Source/WebKit2/ChangeLog	2012-11-14 03:19:58 UTC (rev 134521)
+++ trunk/Source/WebKit2/ChangeLog	2012-11-14 03:38:18 UTC (rev 134522)
@@ -1,3 +1,17 @@
+2012-11-13  Brady Eidson  <[email protected]>
+
+        REGRESSION(r134328) - ASSERT(isMainThread()) when subresources redirect in the NetworkProcessPass through
+        https://bugs.webkit.org/show_bug.cgi?id=102167
+
+        Reviewed by Simon Fraser.
+
+        willSendRequest comes in on a background thread but we need to do HostRecord accounting on the main thread.
+
+        So we'll just dispatch the receivedRedirect call to the main thread RunLoop.
+
+        * NetworkProcess/NetworkResourceLoader.cpp:
+        (WebKit::NetworkResourceLoader::willSendRequest):
+
 2012-11-13  Timothy Hatcher  <[email protected]>
 
         Make InspectorFrontendHost.moveWindowBy work in WebKit2 for Mac.

Modified: trunk/Source/WebKit2/NetworkProcess/NetworkResourceLoader.cpp (134521 => 134522)


--- trunk/Source/WebKit2/NetworkProcess/NetworkResourceLoader.cpp	2012-11-14 03:19:58 UTC (rev 134521)
+++ trunk/Source/WebKit2/NetworkProcess/NetworkResourceLoader.cpp	2012-11-14 03:38:18 UTC (rev 134522)
@@ -224,7 +224,7 @@
     OwnPtr<ResourceRequest> newRequest = responseMap().waitForResponse(requestID);
     request = *newRequest;
 
-    NetworkProcess::shared().networkResourceLoadScheduler().receivedRedirect(m_identifier, request.url());
+    RunLoop::main()->dispatch(WTF::bind(&NetworkResourceLoadScheduler::receivedRedirect, &NetworkProcess::shared().networkResourceLoadScheduler(), m_identifier, request.url()));
 }
 
 void NetworkResourceLoader::didSendData(WebCore::ResourceHandle*, unsigned long long /*bytesSent*/, unsigned long long /*totalBytesToBeSent*/)
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to