Title: [169964] trunk/Source/WebKit2
- Revision
- 169964
- Author
- [email protected]
- Date
- 2014-06-13 23:31:11 -0700 (Fri, 13 Jun 2014)
Log Message
REGRESSION (r167635): Reference leak in NetworkResourceLoader while loads are being deferred.
<https://webkit.org/b/133894>
<rdar://problem/17312299>
Don't self-ref() in start() until we actually start; if page loads are being
deferred, start() will be called again once deferral stops.
This was causing us to leak the entire NetworkResourceLoader object graph.
Reviewed by Brady Eidson.
* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::start):
Modified Paths
Diff
Modified: trunk/Source/WebKit2/ChangeLog (169963 => 169964)
--- trunk/Source/WebKit2/ChangeLog 2014-06-14 06:18:47 UTC (rev 169963)
+++ trunk/Source/WebKit2/ChangeLog 2014-06-14 06:31:11 UTC (rev 169964)
@@ -1,3 +1,19 @@
+2014-06-13 Andreas Kling <[email protected]>
+
+ REGRESSION (r167635): Reference leak in NetworkResourceLoader while loads are being deferred.
+ <https://webkit.org/b/133894>
+ <rdar://problem/17312299>
+
+ Don't self-ref() in start() until we actually start; if page loads are being
+ deferred, start() will be called again once deferral stops.
+
+ This was causing us to leak the entire NetworkResourceLoader object graph.
+
+ Reviewed by Brady Eidson.
+
+ * NetworkProcess/NetworkResourceLoader.cpp:
+ (WebKit::NetworkResourceLoader::start):
+
2014-06-13 Dan Bernstein <[email protected]>
Make GenericCallback variadic
Modified: trunk/Source/WebKit2/NetworkProcess/NetworkResourceLoader.cpp (169963 => 169964)
--- trunk/Source/WebKit2/NetworkProcess/NetworkResourceLoader.cpp 2014-06-14 06:18:47 UTC (rev 169963)
+++ trunk/Source/WebKit2/NetworkProcess/NetworkResourceLoader.cpp 2014-06-14 06:31:11 UTC (rev 169964)
@@ -121,17 +121,17 @@
{
ASSERT(RunLoop::isMain());
+ if (m_defersLoading) {
+ m_deferredRequest = m_request;
+ return;
+ }
+
// Explicit ref() balanced by a deref() in NetworkResourceLoader::cleanup()
ref();
// FIXME (NetworkProcess): Set platform specific settings.
m_networkingContext = RemoteNetworkingContext::create(m_sessionID, m_shouldClearReferrerOnHTTPSToHTTPRedirect);
- if (m_defersLoading) {
- m_deferredRequest = m_request;
- return;
- }
-
consumeSandboxExtensions();
// FIXME (NetworkProcess): Pass an actual value for defersLoading
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes