Commit 077267ed authored by Chris Hamilton's avatar Chris Hamilton Committed by Commit Bot

Expose SharedWorkerToken to blink.

This adorns SharedWorkerScope with the SharedWorkerToken generated by
the browser.

BUG=1085129, 1096617

Change-Id: Ib335d7f509e8f9fd5b33e5deca6083f4932fa8ba
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2317851
Commit-Queue: Chris Hamilton <chrisha@chromium.org>
Reviewed-by: default avatarWill Harris <wfh@chromium.org>
Reviewed-by: default avatarMatt Falkenhagen <falken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#792295}
parent e57cca8f
...@@ -97,6 +97,7 @@ bool MockSharedWorkerFactory::CheckReceivedCreateSharedWorker( ...@@ -97,6 +97,7 @@ bool MockSharedWorkerFactory::CheckReceivedCreateSharedWorker(
void MockSharedWorkerFactory::CreateSharedWorker( void MockSharedWorkerFactory::CreateSharedWorker(
blink::mojom::SharedWorkerInfoPtr info, blink::mojom::SharedWorkerInfoPtr info,
const blink::SharedWorkerToken& token,
const url::Origin& constructor_origin, const url::Origin& constructor_origin,
const std::string& user_agent, const std::string& user_agent,
const blink::UserAgentMetadata& ua_metadata, const blink::UserAgentMetadata& ua_metadata,
......
...@@ -77,6 +77,7 @@ class MockSharedWorkerFactory : public blink::mojom::SharedWorkerFactory { ...@@ -77,6 +77,7 @@ class MockSharedWorkerFactory : public blink::mojom::SharedWorkerFactory {
// blink::mojom::SharedWorkerFactory methods: // blink::mojom::SharedWorkerFactory methods:
void CreateSharedWorker( void CreateSharedWorker(
blink::mojom::SharedWorkerInfoPtr info, blink::mojom::SharedWorkerInfoPtr info,
const blink::SharedWorkerToken& token,
const url::Origin& constructor_origin, const url::Origin& constructor_origin,
const std::string& user_agent, const std::string& user_agent,
const blink::UserAgentMetadata& ua_metadata, const blink::UserAgentMetadata& ua_metadata,
......
...@@ -222,7 +222,7 @@ void SharedWorkerHost::Start( ...@@ -222,7 +222,7 @@ void SharedWorkerHost::Start(
// Send the CreateSharedWorker message. // Send the CreateSharedWorker message.
factory_.Bind(std::move(factory)); factory_.Bind(std::move(factory));
factory_->CreateSharedWorker( factory_->CreateSharedWorker(
std::move(info), instance_.constructor_origin(), std::move(info), token_, instance_.constructor_origin(),
GetContentClient()->browser()->GetUserAgent(), GetContentClient()->browser()->GetUserAgent(),
GetContentClient()->browser()->GetUserAgentMetadata(), GetContentClient()->browser()->GetUserAgentMetadata(),
devtools_handle_->pause_on_start(), devtools_handle_->dev_tools_token(), devtools_handle_->pause_on_start(), devtools_handle_->dev_tools_token(),
......
...@@ -33,6 +33,7 @@ namespace content { ...@@ -33,6 +33,7 @@ namespace content {
EmbeddedSharedWorkerStub::EmbeddedSharedWorkerStub( EmbeddedSharedWorkerStub::EmbeddedSharedWorkerStub(
blink::mojom::SharedWorkerInfoPtr info, blink::mojom::SharedWorkerInfoPtr info,
const blink::SharedWorkerToken& token,
const url::Origin& constructor_origin, const url::Origin& constructor_origin,
const std::string& user_agent, const std::string& user_agent,
const blink::UserAgentMetadata& ua_metadata, const blink::UserAgentMetadata& ua_metadata,
...@@ -57,6 +58,7 @@ EmbeddedSharedWorkerStub::EmbeddedSharedWorkerStub( ...@@ -57,6 +58,7 @@ EmbeddedSharedWorkerStub::EmbeddedSharedWorkerStub(
ukm::SourceId ukm_source_id, ukm::SourceId ukm_source_id,
const std::vector<std::string>& cors_exempt_header_list) const std::vector<std::string>& cors_exempt_header_list)
: receiver_(this, std::move(receiver)) { : receiver_(this, std::move(receiver)) {
DCHECK(token);
DCHECK(main_script_load_params); DCHECK(main_script_load_params);
DCHECK(pending_subresource_loader_factory_bundle); DCHECK(pending_subresource_loader_factory_bundle);
...@@ -130,7 +132,7 @@ EmbeddedSharedWorkerStub::EmbeddedSharedWorkerStub( ...@@ -130,7 +132,7 @@ EmbeddedSharedWorkerStub::EmbeddedSharedWorkerStub(
std::move(response_override)); std::move(response_override));
impl_ = blink::WebSharedWorker::CreateAndStart( impl_ = blink::WebSharedWorker::CreateAndStart(
info->url, info->options->type, info->options->credentials, token, info->url, info->options->type, info->options->credentials,
blink::WebString::FromUTF8(info->options->name), blink::WebString::FromUTF8(info->options->name),
blink::WebSecurityOrigin(constructor_origin), blink::WebSecurityOrigin(constructor_origin),
blink::WebString::FromUTF8(user_agent), ua_metadata, blink::WebString::FromUTF8(user_agent), ua_metadata,
......
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
#include "mojo/public/cpp/bindings/remote.h" #include "mojo/public/cpp/bindings/remote.h"
#include "services/metrics/public/cpp/ukm_source_id.h" #include "services/metrics/public/cpp/ukm_source_id.h"
#include "services/network/public/mojom/url_loader_factory.mojom-forward.h" #include "services/network/public/mojom/url_loader_factory.mojom-forward.h"
#include "third_party/blink/public/common/tokens/worker_tokens.h"
#include "third_party/blink/public/common/user_agent/user_agent_metadata.h" #include "third_party/blink/public/common/user_agent/user_agent_metadata.h"
#include "third_party/blink/public/mojom/browser_interface_broker.mojom-forward.h" #include "third_party/blink/public/mojom/browser_interface_broker.mojom-forward.h"
#include "third_party/blink/public/mojom/devtools/devtools_agent.mojom-forward.h" #include "third_party/blink/public/mojom/devtools/devtools_agent.mojom-forward.h"
...@@ -58,6 +59,7 @@ class EmbeddedSharedWorkerStub : public blink::WebSharedWorkerClient, ...@@ -58,6 +59,7 @@ class EmbeddedSharedWorkerStub : public blink::WebSharedWorkerClient,
public: public:
EmbeddedSharedWorkerStub( EmbeddedSharedWorkerStub(
blink::mojom::SharedWorkerInfoPtr info, blink::mojom::SharedWorkerInfoPtr info,
const blink::SharedWorkerToken& token,
const url::Origin& constructor_origin, const url::Origin& constructor_origin,
const std::string& user_agent, const std::string& user_agent,
const blink::UserAgentMetadata& ua_metadata, const blink::UserAgentMetadata& ua_metadata,
......
...@@ -25,6 +25,7 @@ SharedWorkerFactoryImpl::SharedWorkerFactoryImpl() {} ...@@ -25,6 +25,7 @@ SharedWorkerFactoryImpl::SharedWorkerFactoryImpl() {}
void SharedWorkerFactoryImpl::CreateSharedWorker( void SharedWorkerFactoryImpl::CreateSharedWorker(
blink::mojom::SharedWorkerInfoPtr info, blink::mojom::SharedWorkerInfoPtr info,
const blink::SharedWorkerToken& token,
const url::Origin& constructor_origin, const url::Origin& constructor_origin,
const std::string& user_agent, const std::string& user_agent,
const blink::UserAgentMetadata& ua_metadata, const blink::UserAgentMetadata& ua_metadata,
...@@ -47,9 +48,10 @@ void SharedWorkerFactoryImpl::CreateSharedWorker( ...@@ -47,9 +48,10 @@ void SharedWorkerFactoryImpl::CreateSharedWorker(
mojo::PendingRemote<blink::mojom::BrowserInterfaceBroker> mojo::PendingRemote<blink::mojom::BrowserInterfaceBroker>
browser_interface_broker, browser_interface_broker,
ukm::SourceId ukm_source_id) { ukm::SourceId ukm_source_id) {
DCHECK(token);
// Bound to the lifetime of the underlying blink::WebSharedWorker instance. // Bound to the lifetime of the underlying blink::WebSharedWorker instance.
new EmbeddedSharedWorkerStub( new EmbeddedSharedWorkerStub(
std::move(info), constructor_origin, user_agent, ua_metadata, std::move(info), token, constructor_origin, user_agent, ua_metadata,
pause_on_start, devtools_worker_token, *renderer_preferences, pause_on_start, devtools_worker_token, *renderer_preferences,
std::move(preference_watcher_receiver), std::move(content_settings), std::move(preference_watcher_receiver), std::move(content_settings),
std::move(service_worker_container_info), std::move(service_worker_container_info),
......
...@@ -29,6 +29,7 @@ class SharedWorkerFactoryImpl : public blink::mojom::SharedWorkerFactory { ...@@ -29,6 +29,7 @@ class SharedWorkerFactoryImpl : public blink::mojom::SharedWorkerFactory {
// mojom::SharedWorkerFactory methods: // mojom::SharedWorkerFactory methods:
void CreateSharedWorker( void CreateSharedWorker(
blink::mojom::SharedWorkerInfoPtr info, blink::mojom::SharedWorkerInfoPtr info,
const blink::SharedWorkerToken& token,
const url::Origin& constructor_origin, const url::Origin& constructor_origin,
const std::string& user_agent, const std::string& user_agent,
const blink::UserAgentMetadata& ua_metadata, const blink::UserAgentMetadata& ua_metadata,
......
...@@ -12,6 +12,7 @@ import "third_party/blink/public/mojom/renderer_preference_watcher.mojom"; ...@@ -12,6 +12,7 @@ import "third_party/blink/public/mojom/renderer_preference_watcher.mojom";
import "third_party/blink/public/mojom/renderer_preferences.mojom"; import "third_party/blink/public/mojom/renderer_preferences.mojom";
import "third_party/blink/public/mojom/service_worker/controller_service_worker.mojom"; import "third_party/blink/public/mojom/service_worker/controller_service_worker.mojom";
import "third_party/blink/public/mojom/service_worker/service_worker_container.mojom"; import "third_party/blink/public/mojom/service_worker/service_worker_container.mojom";
import "third_party/blink/public/mojom/tokens/worker_tokens.mojom";
import "third_party/blink/public/mojom/worker/shared_worker.mojom"; import "third_party/blink/public/mojom/worker/shared_worker.mojom";
import "third_party/blink/public/mojom/worker/shared_worker_host.mojom"; import "third_party/blink/public/mojom/worker/shared_worker_host.mojom";
import "third_party/blink/public/mojom/worker/shared_worker_info.mojom"; import "third_party/blink/public/mojom/worker/shared_worker_info.mojom";
...@@ -36,6 +37,11 @@ interface SharedWorkerFactory { ...@@ -36,6 +37,11 @@ interface SharedWorkerFactory {
CreateSharedWorker( CreateSharedWorker(
SharedWorkerInfo info, SharedWorkerInfo info,
// The token that uniquely identifies this worker. Generated in the
// browser, and communicated to the worker in the renderer. This token
// should not be shared with any renderer except that hosting the worker.
SharedWorkerToken token,
// The origin of the page where `new SharedWorker()` is called. // The origin of the page where `new SharedWorker()` is called.
// This origin must be able to access shared workers. // This origin must be able to access shared workers.
// (see blink::SecurityOrigin::CanAccessSharedWorkers()) // (see blink::SecurityOrigin::CanAccessSharedWorkers())
......
...@@ -38,6 +38,7 @@ ...@@ -38,6 +38,7 @@
#include "services/network/public/mojom/content_security_policy.mojom-shared.h" #include "services/network/public/mojom/content_security_policy.mojom-shared.h"
#include "services/network/public/mojom/fetch_api.mojom-shared.h" #include "services/network/public/mojom/fetch_api.mojom-shared.h"
#include "services/network/public/mojom/ip_address_space.mojom-shared.h" #include "services/network/public/mojom/ip_address_space.mojom-shared.h"
#include "third_party/blink/public/common/tokens/worker_tokens.h"
#include "third_party/blink/public/common/user_agent/user_agent_metadata.h" #include "third_party/blink/public/common/user_agent/user_agent_metadata.h"
#include "third_party/blink/public/mojom/browser_interface_broker.mojom-shared.h" #include "third_party/blink/public/mojom/browser_interface_broker.mojom-shared.h"
#include "third_party/blink/public/mojom/script/script_type.mojom-shared.h" #include "third_party/blink/public/mojom/script/script_type.mojom-shared.h"
...@@ -66,6 +67,7 @@ class BLINK_EXPORT WebSharedWorker { ...@@ -66,6 +67,7 @@ class BLINK_EXPORT WebSharedWorker {
// starts a worker context. // starts a worker context.
// WebSharedWorkerClient given here should own this instance. // WebSharedWorkerClient given here should own this instance.
static std::unique_ptr<WebSharedWorker> CreateAndStart( static std::unique_ptr<WebSharedWorker> CreateAndStart(
const blink::SharedWorkerToken& token,
const WebURL& script_url, const WebURL& script_url,
mojom::ScriptType script_type, mojom::ScriptType script_type,
network::mojom::CredentialsMode, network::mojom::CredentialsMode,
......
...@@ -75,6 +75,7 @@ ...@@ -75,6 +75,7 @@
namespace blink { namespace blink {
WebSharedWorkerImpl::WebSharedWorkerImpl( WebSharedWorkerImpl::WebSharedWorkerImpl(
const blink::SharedWorkerToken& token,
const base::UnguessableToken& appcache_host_id, const base::UnguessableToken& appcache_host_id,
CrossVariantMojoRemote<mojom::SharedWorkerHostInterfaceBase> host, CrossVariantMojoRemote<mojom::SharedWorkerHostInterfaceBase> host,
WebSharedWorkerClient* client, WebSharedWorkerClient* client,
...@@ -83,6 +84,7 @@ WebSharedWorkerImpl::WebSharedWorkerImpl( ...@@ -83,6 +84,7 @@ WebSharedWorkerImpl::WebSharedWorkerImpl(
this, this,
ParentExecutionContextTaskRunners::Create())), ParentExecutionContextTaskRunners::Create())),
worker_thread_(std::make_unique<SharedWorkerThread>(*reporting_proxy_, worker_thread_(std::make_unique<SharedWorkerThread>(*reporting_proxy_,
token,
appcache_host_id, appcache_host_id,
ukm_source_id)), ukm_source_id)),
host_(std::move(host)), host_(std::move(host)),
...@@ -331,6 +333,7 @@ void WebSharedWorkerImpl::TerminateWorkerContext() { ...@@ -331,6 +333,7 @@ void WebSharedWorkerImpl::TerminateWorkerContext() {
} }
std::unique_ptr<WebSharedWorker> WebSharedWorker::CreateAndStart( std::unique_ptr<WebSharedWorker> WebSharedWorker::CreateAndStart(
const blink::SharedWorkerToken& token,
const WebURL& script_request_url, const WebURL& script_request_url,
mojom::ScriptType script_type, mojom::ScriptType script_type,
network::mojom::CredentialsMode credentials_mode, network::mojom::CredentialsMode credentials_mode,
...@@ -356,7 +359,7 @@ std::unique_ptr<WebSharedWorker> WebSharedWorker::CreateAndStart( ...@@ -356,7 +359,7 @@ std::unique_ptr<WebSharedWorker> WebSharedWorker::CreateAndStart(
WebSharedWorkerClient* client, WebSharedWorkerClient* client,
ukm::SourceId ukm_source_id) { ukm::SourceId ukm_source_id) {
auto worker = base::WrapUnique(new WebSharedWorkerImpl( auto worker = base::WrapUnique(new WebSharedWorkerImpl(
appcache_host_id, std::move(host), client, ukm_source_id)); token, appcache_host_id, std::move(host), client, ukm_source_id));
worker->StartWorkerContext( worker->StartWorkerContext(
script_request_url, script_type, credentials_mode, name, script_request_url, script_type, credentials_mode, name,
constructor_origin, user_agent, ua_metadata, content_security_policy, constructor_origin, user_agent, ua_metadata, content_security_policy,
......
...@@ -91,6 +91,7 @@ class CORE_EXPORT WebSharedWorkerImpl final : public WebSharedWorker { ...@@ -91,6 +91,7 @@ class CORE_EXPORT WebSharedWorkerImpl final : public WebSharedWorker {
friend class WebSharedWorker; friend class WebSharedWorker;
WebSharedWorkerImpl( WebSharedWorkerImpl(
const blink::SharedWorkerToken& token,
const base::UnguessableToken& appcache_host_id, const base::UnguessableToken& appcache_host_id,
CrossVariantMojoRemote<mojom::SharedWorkerHostInterfaceBase> host, CrossVariantMojoRemote<mojom::SharedWorkerHostInterfaceBase> host,
WebSharedWorkerClient*, WebSharedWorkerClient*,
......
...@@ -56,12 +56,15 @@ SharedWorkerGlobalScope::SharedWorkerGlobalScope( ...@@ -56,12 +56,15 @@ SharedWorkerGlobalScope::SharedWorkerGlobalScope(
std::unique_ptr<GlobalScopeCreationParams> creation_params, std::unique_ptr<GlobalScopeCreationParams> creation_params,
SharedWorkerThread* thread, SharedWorkerThread* thread,
base::TimeTicks time_origin, base::TimeTicks time_origin,
const SharedWorkerToken& token,
const base::UnguessableToken& appcache_host_id, const base::UnguessableToken& appcache_host_id,
ukm::SourceId ukm_source_id) ukm::SourceId ukm_source_id)
: WorkerGlobalScope(std::move(creation_params), : WorkerGlobalScope(std::move(creation_params),
thread, thread,
time_origin, time_origin,
ukm_source_id) { ukm_source_id),
token_(token) {
DCHECK(token);
appcache_host_ = MakeGarbageCollected<ApplicationCacheHostForWorker>( appcache_host_ = MakeGarbageCollected<ApplicationCacheHostForWorker>(
appcache_host_id, GetBrowserInterfaceBroker(), appcache_host_id, GetBrowserInterfaceBroker(),
GetTaskRunner(TaskType::kInternalLoading), this); GetTaskRunner(TaskType::kInternalLoading), this);
......
...@@ -34,6 +34,7 @@ ...@@ -34,6 +34,7 @@
#include <memory> #include <memory>
#include "services/metrics/public/cpp/ukm_source_id.h" #include "services/metrics/public/cpp/ukm_source_id.h"
#include "third_party/blink/public/common/messaging/message_port_channel.h" #include "third_party/blink/public/common/messaging/message_port_channel.h"
#include "third_party/blink/public/common/tokens/worker_tokens.h"
#include "third_party/blink/renderer/core/core_export.h" #include "third_party/blink/renderer/core/core_export.h"
#include "third_party/blink/renderer/core/workers/global_scope_creation_params.h" #include "third_party/blink/renderer/core/workers/global_scope_creation_params.h"
#include "third_party/blink/renderer/core/workers/worker_global_scope.h" #include "third_party/blink/renderer/core/workers/worker_global_scope.h"
...@@ -49,11 +50,13 @@ class CORE_EXPORT SharedWorkerGlobalScope final : public WorkerGlobalScope { ...@@ -49,11 +50,13 @@ class CORE_EXPORT SharedWorkerGlobalScope final : public WorkerGlobalScope {
DEFINE_WRAPPERTYPEINFO(); DEFINE_WRAPPERTYPEINFO();
public: public:
SharedWorkerGlobalScope(std::unique_ptr<GlobalScopeCreationParams>, SharedWorkerGlobalScope(
SharedWorkerThread*, std::unique_ptr<GlobalScopeCreationParams> creation_params,
base::TimeTicks time_origin, SharedWorkerThread* thread,
const base::UnguessableToken& appcache_host_id, base::TimeTicks time_origin,
ukm::SourceId ukm_source_id); const SharedWorkerToken& token,
const base::UnguessableToken& appcache_host_id,
ukm::SourceId ukm_source_id);
~SharedWorkerGlobalScope() override; ~SharedWorkerGlobalScope() override;
...@@ -95,6 +98,8 @@ class CORE_EXPORT SharedWorkerGlobalScope final : public WorkerGlobalScope { ...@@ -95,6 +98,8 @@ class CORE_EXPORT SharedWorkerGlobalScope final : public WorkerGlobalScope {
void Trace(Visitor*) const override; void Trace(Visitor*) const override;
const SharedWorkerToken& token() const { return token_; }
private: private:
void DidReceiveResponseForClassicScript( void DidReceiveResponseForClassicScript(
WorkerClassicScriptLoader* classic_script_loader); WorkerClassicScriptLoader* classic_script_loader);
...@@ -103,6 +108,9 @@ class CORE_EXPORT SharedWorkerGlobalScope final : public WorkerGlobalScope { ...@@ -103,6 +108,9 @@ class CORE_EXPORT SharedWorkerGlobalScope final : public WorkerGlobalScope {
void ExceptionThrown(ErrorEvent*) override; void ExceptionThrown(ErrorEvent*) override;
// TODO(chrisha): Lift this up to WorkerGlobalScope once all worker types
// have tokens.
const SharedWorkerToken token_;
Member<ApplicationCacheHostForWorker> appcache_host_; Member<ApplicationCacheHostForWorker> appcache_host_;
}; };
......
...@@ -40,13 +40,17 @@ namespace blink { ...@@ -40,13 +40,17 @@ namespace blink {
SharedWorkerThread::SharedWorkerThread( SharedWorkerThread::SharedWorkerThread(
WorkerReportingProxy& worker_reporting_proxy, WorkerReportingProxy& worker_reporting_proxy,
const SharedWorkerToken& token,
const base::UnguessableToken& appcache_host_id, const base::UnguessableToken& appcache_host_id,
ukm::SourceId ukm_source_id) ukm::SourceId ukm_source_id)
: WorkerThread(worker_reporting_proxy), : WorkerThread(worker_reporting_proxy),
worker_backing_thread_(std::make_unique<WorkerBackingThread>( worker_backing_thread_(std::make_unique<WorkerBackingThread>(
ThreadCreationParams(GetThreadType()))), ThreadCreationParams(GetThreadType()))),
token_(token),
appcache_host_id_(appcache_host_id), appcache_host_id_(appcache_host_id),
ukm_source_id_(ukm_source_id) {} ukm_source_id_(ukm_source_id) {
DCHECK(token);
}
SharedWorkerThread::~SharedWorkerThread() = default; SharedWorkerThread::~SharedWorkerThread() = default;
...@@ -57,7 +61,7 @@ void SharedWorkerThread::ClearWorkerBackingThread() { ...@@ -57,7 +61,7 @@ void SharedWorkerThread::ClearWorkerBackingThread() {
WorkerOrWorkletGlobalScope* SharedWorkerThread::CreateWorkerGlobalScope( WorkerOrWorkletGlobalScope* SharedWorkerThread::CreateWorkerGlobalScope(
std::unique_ptr<GlobalScopeCreationParams> creation_params) { std::unique_ptr<GlobalScopeCreationParams> creation_params) {
return MakeGarbageCollected<SharedWorkerGlobalScope>( return MakeGarbageCollected<SharedWorkerGlobalScope>(
std::move(creation_params), this, time_origin_, appcache_host_id_, std::move(creation_params), this, time_origin_, token_, appcache_host_id_,
ukm_source_id_); ukm_source_id_);
} }
......
...@@ -32,6 +32,7 @@ ...@@ -32,6 +32,7 @@
#include <memory> #include <memory>
#include "services/metrics/public/cpp/ukm_source_id.h" #include "services/metrics/public/cpp/ukm_source_id.h"
#include "third_party/blink/public/common/tokens/worker_tokens.h"
#include "third_party/blink/renderer/core/core_export.h" #include "third_party/blink/renderer/core/core_export.h"
#include "third_party/blink/renderer/core/workers/worker_thread.h" #include "third_party/blink/renderer/core/workers/worker_thread.h"
...@@ -41,9 +42,10 @@ struct GlobalScopeCreationParams; ...@@ -41,9 +42,10 @@ struct GlobalScopeCreationParams;
class CORE_EXPORT SharedWorkerThread : public WorkerThread { class CORE_EXPORT SharedWorkerThread : public WorkerThread {
public: public:
SharedWorkerThread(WorkerReportingProxy&, SharedWorkerThread(WorkerReportingProxy& worker_reporting_proxy,
const SharedWorkerToken& token,
const base::UnguessableToken& appcache_host_id, const base::UnguessableToken& appcache_host_id,
ukm::SourceId); ukm::SourceId ukm_source_id);
~SharedWorkerThread() override; ~SharedWorkerThread() override;
WorkerBackingThread& GetWorkerBackingThread() override { WorkerBackingThread& GetWorkerBackingThread() override {
...@@ -60,6 +62,7 @@ class CORE_EXPORT SharedWorkerThread : public WorkerThread { ...@@ -60,6 +62,7 @@ class CORE_EXPORT SharedWorkerThread : public WorkerThread {
} }
std::unique_ptr<WorkerBackingThread> worker_backing_thread_; std::unique_ptr<WorkerBackingThread> worker_backing_thread_;
const SharedWorkerToken token_;
const base::UnguessableToken appcache_host_id_; const base::UnguessableToken appcache_host_id_;
const ukm::SourceId ukm_source_id_; const ukm::SourceId ukm_source_id_;
}; };
......
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