Commit 655826ba authored by Kenichi Ishibashi's avatar Kenichi Ishibashi Committed by Commit Bot

worker: Don't create unnecessary WorkerClients

Service workers and some worklets don't depend on WorkerClients
anymore. Don't create WorkerClients for these workers/worklets.

Bug: 988335
Change-Id: Ie556b1ced23c06500d86b55b062b7c4ca26375a6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1722944
Commit-Queue: Kenichi Ishibashi <bashi@chromium.org>
Reviewed-by: default avatarHiroki Nakagawa <nhiroki@chromium.org>
Reviewed-by: default avatarKentaro Hara <haraken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#682171}
parent d6fc0913
...@@ -38,16 +38,14 @@ LayoutWorkletGlobalScopeProxy::LayoutWorkletGlobalScopeProxy( ...@@ -38,16 +38,14 @@ LayoutWorkletGlobalScopeProxy::LayoutWorkletGlobalScopeProxy(
String global_scope_name = String global_scope_name =
StringView("LayoutWorklet #") + String::Number(global_scope_number); StringView("LayoutWorklet #") + String::Number(global_scope_number);
// TODO(bashi): Pass nullptr instead of an empty WorkerClients?
auto* worker_clients = MakeGarbageCollected<WorkerClients>();
auto creation_params = std::make_unique<GlobalScopeCreationParams>( auto creation_params = std::make_unique<GlobalScopeCreationParams>(
document->Url(), mojom::ScriptType::kModule, document->Url(), mojom::ScriptType::kModule,
OffMainThreadWorkerScriptFetchOption::kEnabled, global_scope_name, OffMainThreadWorkerScriptFetchOption::kEnabled, global_scope_name,
document->UserAgent(), frame->Client()->CreateWorkerFetchContext(), document->UserAgent(), frame->Client()->CreateWorkerFetchContext(),
document->GetContentSecurityPolicy()->Headers(), document->GetContentSecurityPolicy()->Headers(),
document->GetReferrerPolicy(), document->GetSecurityOrigin(), document->GetReferrerPolicy(), document->GetSecurityOrigin(),
document->IsSecureContext(), document->GetHttpsState(), worker_clients, document->IsSecureContext(), document->GetHttpsState(),
nullptr /* worker_clients */,
frame->Client()->CreateWorkerContentSettingsClient(), frame->Client()->CreateWorkerContentSettingsClient(),
document->AddressSpace(), OriginTrialContext::GetTokens(document).get(), document->AddressSpace(), OriginTrialContext::GetTokens(document).get(),
base::UnguessableToken::Create(), nullptr /* worker_settings */, base::UnguessableToken::Create(), nullptr /* worker_settings */,
......
...@@ -37,16 +37,14 @@ PaintWorkletGlobalScopeProxy::PaintWorkletGlobalScopeProxy( ...@@ -37,16 +37,14 @@ PaintWorkletGlobalScopeProxy::PaintWorkletGlobalScopeProxy(
String global_scope_name = String global_scope_name =
StringView("PaintWorklet #") + String::Number(global_scope_number); StringView("PaintWorklet #") + String::Number(global_scope_number);
// TODO(bashi): Pass nullptr instead of an empty WorkerClients?
auto* worker_clients = MakeGarbageCollected<WorkerClients>();
auto creation_params = std::make_unique<GlobalScopeCreationParams>( auto creation_params = std::make_unique<GlobalScopeCreationParams>(
document->Url(), mojom::ScriptType::kModule, document->Url(), mojom::ScriptType::kModule,
OffMainThreadWorkerScriptFetchOption::kEnabled, global_scope_name, OffMainThreadWorkerScriptFetchOption::kEnabled, global_scope_name,
document->UserAgent(), frame->Client()->CreateWorkerFetchContext(), document->UserAgent(), frame->Client()->CreateWorkerFetchContext(),
document->GetContentSecurityPolicy()->Headers(), document->GetContentSecurityPolicy()->Headers(),
document->GetReferrerPolicy(), document->GetSecurityOrigin(), document->GetReferrerPolicy(), document->GetSecurityOrigin(),
document->IsSecureContext(), document->GetHttpsState(), worker_clients, document->IsSecureContext(), document->GetHttpsState(),
nullptr /* worker_clients */,
frame->Client()->CreateWorkerContentSettingsClient(), frame->Client()->CreateWorkerContentSettingsClient(),
document->AddressSpace(), OriginTrialContext::GetTokens(document).get(), document->AddressSpace(), OriginTrialContext::GetTokens(document).get(),
base::UnguessableToken::Create(), nullptr /* worker_settings */, base::UnguessableToken::Create(), nullptr /* worker_settings */,
......
...@@ -382,9 +382,6 @@ void WebEmbeddedWorkerImpl::StartWorkerThread() { ...@@ -382,9 +382,6 @@ void WebEmbeddedWorkerImpl::StartWorkerThread() {
const HttpsState starter_https_state = const HttpsState starter_https_state =
CalculateHttpsState(starter_origin.get()); CalculateHttpsState(starter_origin.get());
// TODO(bashi): Pass nullptr instead of an empty WorkerClients.
auto* worker_clients = MakeGarbageCollected<WorkerClients>();
scoped_refptr<WebWorkerFetchContext> web_worker_fetch_context; scoped_refptr<WebWorkerFetchContext> web_worker_fetch_context;
if (base::FeatureList::IsEnabled( if (base::FeatureList::IsEnabled(
features::kOffMainThreadServiceWorkerScriptFetch)) { features::kOffMainThreadServiceWorkerScriptFetch)) {
...@@ -446,7 +443,7 @@ void WebEmbeddedWorkerImpl::StartWorkerThread() { ...@@ -446,7 +443,7 @@ void WebEmbeddedWorkerImpl::StartWorkerThread() {
content_security_policy ? content_security_policy->Headers() content_security_policy ? content_security_policy->Headers()
: Vector<CSPHeaderAndType>(), : Vector<CSPHeaderAndType>(),
referrer_policy, starter_origin.get(), starter_secure_context, referrer_policy, starter_origin.get(), starter_secure_context,
starter_https_state, worker_clients, starter_https_state, nullptr /* worker_clients */,
std::move(content_settings_client_), std::move(content_settings_client_),
main_script_loader_->ResponseAddressSpace(), main_script_loader_->ResponseAddressSpace(),
main_script_loader_->OriginTrialTokens(), devtools_worker_token_, main_script_loader_->OriginTrialTokens(), devtools_worker_token_,
...@@ -468,7 +465,7 @@ void WebEmbeddedWorkerImpl::StartWorkerThread() { ...@@ -468,7 +465,7 @@ void WebEmbeddedWorkerImpl::StartWorkerThread() {
worker_start_data_.user_agent, std::move(web_worker_fetch_context), worker_start_data_.user_agent, std::move(web_worker_fetch_context),
Vector<CSPHeaderAndType>(), network::mojom::ReferrerPolicy::kDefault, Vector<CSPHeaderAndType>(), network::mojom::ReferrerPolicy::kDefault,
starter_origin.get(), starter_secure_context, starter_https_state, starter_origin.get(), starter_secure_context, starter_https_state,
worker_clients, std::move(content_settings_client_), nullptr /* worker_clients */, std::move(content_settings_client_),
base::nullopt /* response_address_space */, base::nullopt /* response_address_space */,
nullptr /* OriginTrialTokens */, devtools_worker_token_, nullptr /* OriginTrialTokens */, devtools_worker_token_,
std::move(worker_settings), std::move(worker_settings),
......
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