Commit fdbfed2c authored by Yoichi Osato's avatar Yoichi Osato Committed by Commit Bot

[fetch] Copy only request head when revalidating request.

That's because we won't send body with the request.

This CL also refactors CopyHeadFrom function to take reference than
pointer because all arguments must not be null.

Bug: 787704
Change-Id: I426c0251772cede8d130a24c298f99d005ac345c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2082853Reviewed-by: default avatarKinuko Yasuda <kinuko@chromium.org>
Reviewed-by: default avatarYutaka Hirano <yhirano@chromium.org>
Commit-Queue: Yoichi Osato <yoichio@chromium.org>
Cr-Commit-Position: refs/heads/master@{#746370}
parent 8cc471ec
......@@ -45,7 +45,7 @@ FrameLoadRequest::FrameLoadRequest(Document* origin_document,
const ResourceRequest& resource_request)
: origin_document_(origin_document),
should_send_referrer_(kMaybeSendReferrer) {
resource_request_.CopyHeadFrom(&resource_request);
resource_request_.CopyHeadFrom(resource_request);
resource_request_.SetHttpBody(resource_request.HttpBody());
resource_request_.SetMode(network::mojom::RequestMode::kNavigate);
resource_request_.SetCredentialsMode(
......
......@@ -117,7 +117,7 @@ void WebURLRequest::CopyFrom(const WebURLRequest& r) {
DCHECK_EQ(owned_resource_request_.get(), resource_request_);
DCHECK(owned_resource_request_->IsNull());
DCHECK(this != &r);
resource_request_->CopyHeadFrom(r.resource_request_);
resource_request_->CopyHeadFrom(*r.resource_request_);
resource_request_->SetHttpBody(r.resource_request_->HttpBody());
}
......
......@@ -490,7 +490,7 @@ void Resource::SetRevalidatingRequest(const ResourceRequest& request) {
DCHECK(!request.IsNull());
CHECK(!is_revalidation_start_forbidden_);
is_revalidating_ = true;
resource_request_.CopyFrom(request);
resource_request_.CopyHeadFrom(request);
status_ = ResourceStatus::kNotStarted;
}
......
......@@ -2090,7 +2090,7 @@ void ResourceFetcher::RevalidateStaleResource(Resource* stale_resource) {
// TODO(dtapuska): revisit this when we have a better way to re-dispatch
// requests.
ResourceRequest request;
request.CopyFrom(stale_resource->GetResourceRequest());
request.CopyHeadFrom(stale_resource->GetResourceRequest());
FetchParameters params(std::move(request));
params.SetStaleRevalidation(true);
params.MutableResourceRequest().SetSkipServiceWorker(true);
......
......@@ -113,8 +113,8 @@ void ResourceRequest::CopyFrom(const ResourceRequest& src) {
*this = src;
}
void ResourceRequest::CopyHeadFrom(const ResourceRequestHead* src) {
this->ResourceRequestHead::operator=(*src);
void ResourceRequest::CopyHeadFrom(const ResourceRequestHead& src) {
this->ResourceRequestHead::operator=(src);
}
std::unique_ptr<ResourceRequest> ResourceRequest::CreateRedirectRequest(
......
......@@ -557,7 +557,7 @@ class PLATFORM_EXPORT ResourceRequest final : public ResourceRequestHead {
// TODO(yoichio): Use move semantics as much as possible.
// See crbug.com/787704.
void CopyFrom(const ResourceRequest&);
void CopyHeadFrom(const ResourceRequestHead*);
void CopyHeadFrom(const ResourceRequestHead&);
// Constructs a new ResourceRequest for a redirect from this instance.
std::unique_ptr<ResourceRequest> CreateRedirectRequest(
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment