void ResourceLoader::willSendRequest(blink::WebURLLoader*, blink::WebURLRequest& passedRequest, const blink::WebURLResponse& passedRedirectResponse) { ASSERT(m_state != Terminated); RefPtrWillBeRawPtr<ResourceLoader> protect(this); ResourceRequest& request(applyOptions(passedRequest.toMutableResourceRequest())); // FIXME: We should have a real context for redirect requests. Currently, we don't: see WebURLLoaderImpl::Context::OnReceivedRedirect in content/. request.setRequestContext(blink::WebURLRequest::RequestContextInternal); ASSERT(!request.isNull()); const ResourceResponse& redirectResponse(passedRedirectResponse.toResourceResponse()); ASSERT(!redirectResponse.isNull()); if (!m_host->canAccessRedirect(m_resource, request, redirectResponse, m_options)) { cancel(); return; } ASSERT(m_state != Terminated); applyOptions(request); // canAccessRedirect() can modify m_options so we should re-apply it. m_host->redirectReceived(m_resource, redirectResponse); ASSERT(m_state != Terminated); m_resource->willSendRequest(request, redirectResponse); if (request.isNull() || m_state == Terminated) return; m_host->willSendRequest(m_resource->identifier(), request, redirectResponse, m_options.initiatorInfo); ASSERT(m_state != Terminated); ASSERT(!request.isNull()); m_resource->updateRequest(request); m_request = request; }
void ResourceLoader::willSendRequest(blink::WebURLLoader*, blink::WebURLRequest& passedRequest, const blink::WebURLResponse& passedRedirectResponse) { RefPtr<ResourceLoader> protect(this); ResourceRequest& request(passedRequest.toMutableResourceRequest()); ASSERT(!request.isNull()); const ResourceResponse& redirectResponse(passedRedirectResponse.toResourceResponse()); ASSERT(!redirectResponse.isNull()); if (!m_host->canAccessRedirect(m_resource, request, redirectResponse, m_options)) { cancel(); return; } m_host->redirectReceived(m_resource, redirectResponse); m_resource->willSendRequest(request, redirectResponse); if (request.isNull() || m_state == Terminated) return; m_host->willSendRequest(m_resource->identifier(), request, redirectResponse, m_options.initiatorInfo); request.setReportLoadTiming(true); ASSERT(!request.isNull()); m_resource->updateRequest(request); m_request = request; }