<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):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169964
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
+2014-06-13 Andreas Kling <akling@apple.com>
+
+ 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 <mitz@apple.com>
Make GenericCallback variadic
{
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