| Index: third_party/WebKit/Source/core/loader/DocumentThreadableLoader.cpp
|
| diff --git a/third_party/WebKit/Source/core/loader/DocumentThreadableLoader.cpp b/third_party/WebKit/Source/core/loader/DocumentThreadableLoader.cpp
|
| index aca2279354f78667ef087902a9356f4b69bddc58..1e7f5ce971a3e9a4960fb741fd432866ca40a58c 100644
|
| --- a/third_party/WebKit/Source/core/loader/DocumentThreadableLoader.cpp
|
| +++ b/third_party/WebKit/Source/core/loader/DocumentThreadableLoader.cpp
|
| @@ -151,7 +151,6 @@ DocumentThreadableLoader::DocumentThreadableLoader(Document& document, Threadabl
|
| , m_corsRedirectLimit(m_options.crossOriginRequestPolicy == UseAccessControl ? kMaxCORSRedirects : 0)
|
| , m_redirectMode(WebURLRequest::FetchRedirectModeFollow)
|
| , m_didRedirect(false)
|
| - , m_weakFactory(this)
|
| {
|
| DCHECK(client);
|
| }
|
| @@ -434,10 +433,6 @@ void DocumentThreadableLoader::redirectReceived(Resource* resource, ResourceRequ
|
| }
|
|
|
| if (m_redirectMode == WebURLRequest::FetchRedirectModeManual) {
|
| - // Keep |this| alive even if the client release a reference in
|
| - // responseReceived().
|
| - WeakPtr<DocumentThreadableLoader> self(m_weakFactory.createWeakPtr());
|
| -
|
| // We use |m_redirectMode| to check the original redirect mode.
|
| // |request| is a new request for redirect. So we don't set the redirect
|
| // mode of it in WebURLLoaderImpl::Context::OnReceivedRedirect().
|
| @@ -450,11 +445,6 @@ void DocumentThreadableLoader::redirectReceived(Resource* resource, ResourceRequ
|
| // because it doesn't store the body of redirect responses.
|
| responseReceived(resource, redirectResponse, wrapUnique(new EmptyDataHandle()));
|
|
|
| - if (!self) {
|
| - request = ResourceRequest();
|
| - return;
|
| - }
|
| -
|
| if (m_client) {
|
| DCHECK(m_actualRequest.isNull());
|
| notifyFinished(resource);
|
| @@ -868,8 +858,6 @@ void DocumentThreadableLoader::loadRequest(const ResourceRequest& request, Resou
|
| newRequest.setOriginRestriction(FetchRequest::NoOriginRestriction);
|
| DCHECK(!resource());
|
|
|
| - WeakPtr<DocumentThreadableLoader> self(m_weakFactory.createWeakPtr());
|
| -
|
| if (request.requestContext() == WebURLRequest::RequestContextVideo || request.requestContext() == WebURLRequest::RequestContextAudio)
|
| setResource(RawResource::fetchMedia(newRequest, document().fetcher()));
|
| else if (request.requestContext() == WebURLRequest::RequestContextManifest)
|
| @@ -877,10 +865,6 @@ void DocumentThreadableLoader::loadRequest(const ResourceRequest& request, Resou
|
| else
|
| setResource(RawResource::fetch(newRequest, document().fetcher()));
|
|
|
| - // setResource() might call notifyFinished() synchronously, and thus
|
| - if (!self)
|
| - return;
|
| -
|
| if (!resource()) {
|
| InspectorInstrumentation::documentThreadableLoaderFailedToStartLoadingForClient(m_document, m_client);
|
| ThreadableLoaderClient* client = m_client;
|
|
|