Commit 97b8a2da authored by Takeshi Yoshino's avatar Takeshi Yoshino Committed by Commit Bot

Don't store RequestContext in WorkerScriptLoader

WorkerScriptLoader doesn't need to store it. The setter is always called
right before kicking the loader. We should just pass it via the
argument of the Load.* method.

As a bonus, inlined CreateResourceRequest(). It reduces copy and makes
the code simpler given that after removing SetRequestContext() call from
it, it's small enough to be inlined.

Bug: 
Change-Id: I8fe423921cad2d2a40f213e7310e8e991ae52825
Reviewed-on: https://chromium-review.googlesource.com/544418Reviewed-by: default avatarKinuko Yasuda <kinuko@chromium.org>
Commit-Queue: Takeshi Yoshino <tyoshino@chromium.org>
Cr-Commit-Position: refs/heads/master@{#481823}
parent 65b4c4b7
...@@ -188,8 +188,6 @@ void WebSharedWorkerImpl::DidFinishDocumentLoad() { ...@@ -188,8 +188,6 @@ void WebSharedWorkerImpl::DidFinishDocumentLoad() {
main_frame_->DataSource()->SetServiceWorkerNetworkProvider( main_frame_->DataSource()->SetServiceWorkerNetworkProvider(
client_->CreateServiceWorkerNetworkProvider()); client_->CreateServiceWorkerNetworkProvider());
main_script_loader_ = WorkerScriptLoader::Create(); main_script_loader_ = WorkerScriptLoader::Create();
main_script_loader_->SetRequestContext(
WebURLRequest::kRequestContextSharedWorker);
loading_document_ = main_frame_->GetFrame()->GetDocument(); loading_document_ = main_frame_->GetFrame()->GetDocument();
WebURLRequest::FetchRequestMode fetch_request_mode = WebURLRequest::FetchRequestMode fetch_request_mode =
...@@ -202,7 +200,8 @@ void WebSharedWorkerImpl::DidFinishDocumentLoad() { ...@@ -202,7 +200,8 @@ void WebSharedWorkerImpl::DidFinishDocumentLoad() {
} }
main_script_loader_->LoadAsynchronously( main_script_loader_->LoadAsynchronously(
*loading_document_.Get(), url_, fetch_request_mode, *loading_document_.Get(), url_,
WebURLRequest::kRequestContextSharedWorker, fetch_request_mode,
fetch_credentials_mode, creation_address_space_, fetch_credentials_mode, creation_address_space_,
Bind(&WebSharedWorkerImpl::DidReceiveScriptLoaderResponse, Bind(&WebSharedWorkerImpl::DidReceiveScriptLoaderResponse,
WTF::Unretained(this)), WTF::Unretained(this)),
......
...@@ -61,7 +61,8 @@ bool InProcessWorkerBase::Initialize(ExecutionContext* context, ...@@ -61,7 +61,8 @@ bool InProcessWorkerBase::Initialize(ExecutionContext* context,
script_loader_ = WorkerScriptLoader::Create(); script_loader_ = WorkerScriptLoader::Create();
script_loader_->LoadAsynchronously( script_loader_->LoadAsynchronously(
*context, script_url, fetch_request_mode, fetch_credentials_mode, *context, script_url, WebURLRequest::kRequestContextWorker,
fetch_request_mode, fetch_credentials_mode,
context->GetSecurityContext().AddressSpace(), context->GetSecurityContext().AddressSpace(),
WTF::Bind(&InProcessWorkerBase::OnResponse, WrapPersistent(this)), WTF::Bind(&InProcessWorkerBase::OnResponse, WrapPersistent(this)),
WTF::Bind(&InProcessWorkerBase::OnFinished, WrapPersistent(this))); WTF::Bind(&InProcessWorkerBase::OnFinished, WrapPersistent(this)));
......
...@@ -192,9 +192,8 @@ void WorkerGlobalScope::importScripts(const Vector<String>& urls, ...@@ -192,9 +192,8 @@ void WorkerGlobalScope::importScripts(const Vector<String>& urls,
for (const KURL& complete_url : completed_urls) { for (const KURL& complete_url : completed_urls) {
RefPtr<WorkerScriptLoader> script_loader(WorkerScriptLoader::Create()); RefPtr<WorkerScriptLoader> script_loader(WorkerScriptLoader::Create());
script_loader->SetRequestContext(WebURLRequest::kRequestContextScript);
script_loader->LoadSynchronously( script_loader->LoadSynchronously(
execution_context, complete_url, execution_context, complete_url, WebURLRequest::kRequestContextScript,
execution_context.GetSecurityContext().AddressSpace()); execution_context.GetSecurityContext().AddressSpace());
// If the fetching attempt failed, throw a NetworkError exception and // If the fetching attempt failed, throw a NetworkError exception and
......
...@@ -51,7 +51,6 @@ namespace blink { ...@@ -51,7 +51,6 @@ namespace blink {
WorkerScriptLoader::WorkerScriptLoader() WorkerScriptLoader::WorkerScriptLoader()
: response_callback_(nullptr), : response_callback_(nullptr),
finished_callback_(nullptr), finished_callback_(nullptr),
request_context_(WebURLRequest::kRequestContextWorker),
response_address_space_(kWebAddressSpacePublic) {} response_address_space_(kWebAddressSpacePublic) {}
WorkerScriptLoader::~WorkerScriptLoader() { WorkerScriptLoader::~WorkerScriptLoader() {
...@@ -66,11 +65,16 @@ WorkerScriptLoader::~WorkerScriptLoader() { ...@@ -66,11 +65,16 @@ WorkerScriptLoader::~WorkerScriptLoader() {
void WorkerScriptLoader::LoadSynchronously( void WorkerScriptLoader::LoadSynchronously(
ExecutionContext& execution_context, ExecutionContext& execution_context,
const KURL& url, const KURL& url,
WebURLRequest::RequestContext request_context,
WebAddressSpace creation_address_space) { WebAddressSpace creation_address_space) {
url_ = url; url_ = url;
execution_context_ = &execution_context; execution_context_ = &execution_context;
ResourceRequest request(CreateResourceRequest(creation_address_space)); ResourceRequest request(url);
request.SetHTTPMethod(HTTPNames::GET);
request.SetExternalRequestStateFromRequestorAddressSpace(
creation_address_space);
request.SetRequestContext(request_context);
request.SetFetchCredentialsMode(WebURLRequest::kFetchCredentialsModeInclude); request.SetFetchCredentialsMode(WebURLRequest::kFetchCredentialsModeInclude);
SECURITY_DCHECK(execution_context.IsWorkerGlobalScope()); SECURITY_DCHECK(execution_context.IsWorkerGlobalScope());
...@@ -91,6 +95,7 @@ void WorkerScriptLoader::LoadSynchronously( ...@@ -91,6 +95,7 @@ void WorkerScriptLoader::LoadSynchronously(
void WorkerScriptLoader::LoadAsynchronously( void WorkerScriptLoader::LoadAsynchronously(
ExecutionContext& execution_context, ExecutionContext& execution_context,
const KURL& url, const KURL& url,
WebURLRequest::RequestContext request_context,
WebURLRequest::FetchRequestMode fetch_request_mode, WebURLRequest::FetchRequestMode fetch_request_mode,
WebURLRequest::FetchCredentialsMode fetch_credentials_mode, WebURLRequest::FetchCredentialsMode fetch_credentials_mode,
WebAddressSpace creation_address_space, WebAddressSpace creation_address_space,
...@@ -102,7 +107,11 @@ void WorkerScriptLoader::LoadAsynchronously( ...@@ -102,7 +107,11 @@ void WorkerScriptLoader::LoadAsynchronously(
url_ = url; url_ = url;
execution_context_ = &execution_context; execution_context_ = &execution_context;
ResourceRequest request(CreateResourceRequest(creation_address_space)); ResourceRequest request(url);
request.SetHTTPMethod(HTTPNames::GET);
request.SetExternalRequestStateFromRequestorAddressSpace(
creation_address_space);
request.SetRequestContext(request_context);
request.SetFetchCredentialsMode(fetch_credentials_mode); request.SetFetchCredentialsMode(fetch_credentials_mode);
ThreadableLoaderOptions options; ThreadableLoaderOptions options;
...@@ -128,16 +137,6 @@ const KURL& WorkerScriptLoader::ResponseURL() const { ...@@ -128,16 +137,6 @@ const KURL& WorkerScriptLoader::ResponseURL() const {
return response_url_; return response_url_;
} }
ResourceRequest WorkerScriptLoader::CreateResourceRequest(
WebAddressSpace creation_address_space) {
ResourceRequest request(url_);
request.SetHTTPMethod(HTTPNames::GET);
request.SetRequestContext(request_context_);
request.SetExternalRequestStateFromRequestorAddressSpace(
creation_address_space);
return request;
}
void WorkerScriptLoader::DidReceiveResponse( void WorkerScriptLoader::DidReceiveResponse(
unsigned long identifier, unsigned long identifier,
const ResourceResponse& response, const ResourceResponse& response,
......
...@@ -62,11 +62,13 @@ class CORE_EXPORT WorkerScriptLoader final ...@@ -62,11 +62,13 @@ class CORE_EXPORT WorkerScriptLoader final
void LoadSynchronously(ExecutionContext&, void LoadSynchronously(ExecutionContext&,
const KURL&, const KURL&,
WebURLRequest::RequestContext,
WebAddressSpace); WebAddressSpace);
// Note that callbacks could be invoked before loadAsynchronously() returns. // Note that callbacks could be invoked before loadAsynchronously() returns.
void LoadAsynchronously(ExecutionContext&, void LoadAsynchronously(ExecutionContext&,
const KURL&, const KURL&,
WebURLRequest::RequestContext,
WebURLRequest::FetchRequestMode, WebURLRequest::FetchRequestMode,
WebURLRequest::FetchCredentialsMode, WebURLRequest::FetchCredentialsMode,
WebAddressSpace, WebAddressSpace,
...@@ -117,17 +119,12 @@ class CORE_EXPORT WorkerScriptLoader final ...@@ -117,17 +119,12 @@ class CORE_EXPORT WorkerScriptLoader final
void DidFail(const ResourceError&) override; void DidFail(const ResourceError&) override;
void DidFailRedirectCheck() override; void DidFailRedirectCheck() override;
void SetRequestContext(WebURLRequest::RequestContext request_context) {
request_context_ = request_context;
}
private: private:
friend class WTF::RefCounted<WorkerScriptLoader>; friend class WTF::RefCounted<WorkerScriptLoader>;
WorkerScriptLoader(); WorkerScriptLoader();
~WorkerScriptLoader() override; ~WorkerScriptLoader() override;
ResourceRequest CreateResourceRequest(WebAddressSpace);
void NotifyError(); void NotifyError();
void NotifyFinished(); void NotifyFinished();
...@@ -152,7 +149,6 @@ class CORE_EXPORT WorkerScriptLoader final ...@@ -152,7 +149,6 @@ class CORE_EXPORT WorkerScriptLoader final
unsigned long identifier_ = 0; unsigned long identifier_ = 0;
long long app_cache_id_ = 0; long long app_cache_id_ = 0;
std::unique_ptr<Vector<char>> cached_metadata_; std::unique_ptr<Vector<char>> cached_metadata_;
WebURLRequest::RequestContext request_context_;
Persistent<ContentSecurityPolicy> content_security_policy_; Persistent<ContentSecurityPolicy> content_security_policy_;
Persistent<ExecutionContext> execution_context_; Persistent<ExecutionContext> execution_context_;
WebAddressSpace response_address_space_; WebAddressSpace response_address_space_;
......
...@@ -331,10 +331,9 @@ void WebEmbeddedWorkerImpl::DidFinishDocumentLoad() { ...@@ -331,10 +331,9 @@ void WebEmbeddedWorkerImpl::DidFinishDocumentLoad() {
main_frame_->DataSource()->SetServiceWorkerNetworkProvider( main_frame_->DataSource()->SetServiceWorkerNetworkProvider(
worker_context_client_->CreateServiceWorkerNetworkProvider()); worker_context_client_->CreateServiceWorkerNetworkProvider());
main_script_loader_ = WorkerScriptLoader::Create(); main_script_loader_ = WorkerScriptLoader::Create();
main_script_loader_->SetRequestContext(
WebURLRequest::kRequestContextServiceWorker);
main_script_loader_->LoadAsynchronously( main_script_loader_->LoadAsynchronously(
*main_frame_->GetFrame()->GetDocument(), worker_start_data_.script_url, *main_frame_->GetFrame()->GetDocument(), worker_start_data_.script_url,
WebURLRequest::kRequestContextServiceWorker,
WebURLRequest::kFetchRequestModeSameOrigin, WebURLRequest::kFetchRequestModeSameOrigin,
WebURLRequest::kFetchCredentialsModeSameOrigin, WebURLRequest::kFetchCredentialsModeSameOrigin,
worker_start_data_.address_space, nullptr, worker_start_data_.address_space, nullptr,
......
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