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

Refactor ResourceFetcher::CreateURLLoader to receive ResourceRequestHead.

This CL refactors ResourceFetcher::CreateURLLoader() to receive
ResourceRequestHead instead of ResourceRequest.
That change reduced the redundant instance creation.

Change-Id: Ia1c64a39c480ea4f7ad298bc60160d78707be38f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2404286Reviewed-by: default avatarYutaka Hirano <yhirano@chromium.org>
Commit-Queue: Yoichi Osato <yoichio@chromium.org>
Cr-Commit-Position: refs/heads/master@{#806542}
parent 1c03b37a
......@@ -1242,7 +1242,7 @@ void ResourceFetcher::InitializeRevalidation(
}
std::unique_ptr<WebURLLoader> ResourceFetcher::CreateURLLoader(
const ResourceRequest& request,
const ResourceRequestHead& request,
const ResourceLoaderOptions& options) {
DCHECK(!GetProperties().IsDetached());
DCHECK(loader_factory_);
......@@ -1253,9 +1253,13 @@ std::unique_ptr<WebURLLoader> ResourceFetcher::CreateURLLoader(
new_options.url_loader_factory = base::MakeRefCounted<base::RefCountedData<
mojo::PendingRemote<network::mojom::blink::URLLoaderFactory>>>(
bundle->GetURLLoaderFactory());
return loader_factory_->CreateURLLoader(request, new_options, task_runner_);
// TODO(yoichio): CreateURLLoader take a ResourceRequestHead instead of
// ResourceRequest.
return loader_factory_->CreateURLLoader(ResourceRequest(request),
new_options, task_runner_);
}
return loader_factory_->CreateURLLoader(request, options, task_runner_);
return loader_factory_->CreateURLLoader(ResourceRequest(request), options,
task_runner_);
}
std::unique_ptr<WebCodeCacheLoader> ResourceFetcher::CreateCodeCacheLoader() {
......
......@@ -157,7 +157,7 @@ class PLATFORM_EXPORT ResourceFetcher
}
// Create a loader. This cannot be called after ClearContext is called.
std::unique_ptr<WebURLLoader> CreateURLLoader(const ResourceRequest&,
std::unique_ptr<WebURLLoader> CreateURLLoader(const ResourceRequestHead&,
const ResourceLoaderOptions&);
// Create a code cache loader. This cannot be called after ClearContext is
// called.
......
......@@ -470,10 +470,7 @@ bool ResourceLoader::ShouldFetchCodeCache() {
void ResourceLoader::Start() {
const ResourceRequestHead& request = resource_->GetResourceRequest();
ActivateCacheAwareLoadingIfNeeded(request);
// TODO(yoichio): Have CreateURLLoader take a ResourceRequestHead, not
// ResourceRequest.
loader_ =
fetcher_->CreateURLLoader(ResourceRequest(request), resource_->Options());
loader_ = fetcher_->CreateURLLoader(request, resource_->Options());
task_runner_for_body_loader_ = loader_->GetTaskRunner();
DCHECK_EQ(ResourceLoadScheduler::kInvalidClientId, scheduler_client_id_);
auto throttle_option = ResourceLoadScheduler::ThrottleOption::kThrottleable;
......@@ -611,8 +608,7 @@ void ResourceLoader::Release(
void ResourceLoader::Restart(const ResourceRequestHead& request) {
CHECK_EQ(resource_->Options().synchronous_policy, kRequestAsynchronously);
loader_ =
fetcher_->CreateURLLoader(ResourceRequest(request), resource_->Options());
loader_ = fetcher_->CreateURLLoader(request, resource_->Options());
task_runner_for_body_loader_ = loader_->GetTaskRunner();
StartWith(request);
}
......
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