Commit 6d7b7463 authored by Nate Chapin's avatar Nate Chapin Committed by Commit Bot

ExecutionContext post-migration cleanup - core/workers/

Bug: 1029822
Change-Id: Ib8c0c21b0f4f9b10d69c394366021f4d156cf678
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2108798
Commit-Queue: Nate Chapin <japhet@chromium.org>
Reviewed-by: default avatarKentaro Hara <haraken@chromium.org>
Reviewed-by: default avatarDaniel Cheng <dcheng@chromium.org>
Reviewed-by: default avatarHiroki Nakagawa <nhiroki@chromium.org>
Reviewed-by: default avatarHiroshige Hayashizaki <hiroshige@chromium.org>
Cr-Commit-Position: refs/heads/master@{#761044}
parent 98e342dd
......@@ -22,15 +22,15 @@ LayoutWorklet* LayoutWorklet::From(LocalDOMWindow& window) {
LayoutWorklet* supplement =
Supplement<LocalDOMWindow>::From<LayoutWorklet>(window);
if (!supplement && window.GetFrame()) {
supplement = MakeGarbageCollected<LayoutWorklet>(window.GetFrame());
supplement = MakeGarbageCollected<LayoutWorklet>(window);
ProvideTo(window, supplement);
}
return supplement;
}
LayoutWorklet::LayoutWorklet(LocalFrame* frame)
: Worklet(frame->GetDocument()),
Supplement<LocalDOMWindow>(*frame->DomWindow()),
LayoutWorklet::LayoutWorklet(LocalDOMWindow& window)
: Worklet(window),
Supplement<LocalDOMWindow>(window),
pending_layout_registry_(MakeGarbageCollected<PendingLayoutRegistry>()) {}
LayoutWorklet::~LayoutWorklet() = default;
......
......@@ -35,7 +35,7 @@ class CORE_EXPORT LayoutWorklet : public Worklet,
static const size_t kNumGlobalScopes;
static LayoutWorklet* From(LocalDOMWindow&);
explicit LayoutWorklet(LocalFrame*);
explicit LayoutWorklet(LocalDOMWindow&);
~LayoutWorklet() override;
typedef HeapHashMap<String, Member<DocumentLayoutDefinition>>
......
......@@ -22,8 +22,8 @@ class LayoutWorkletTest : public PageTestBase {
public:
void SetUp() override {
PageTestBase::SetUp(IntSize());
layout_worklet_ = MakeGarbageCollected<LayoutWorklet>(
GetDocument().domWindow()->GetFrame());
layout_worklet_ =
MakeGarbageCollected<LayoutWorklet>(*GetDocument().domWindow());
proxy_ = layout_worklet_->CreateGlobalScope();
}
......
......@@ -25,6 +25,7 @@
#include "third_party/blink/renderer/core/execution_context/execution_context.h"
#include "third_party/blink/renderer/core/fetch/request.h"
#include "third_party/blink/renderer/core/fileapi/public_url_manager.h"
#include "third_party/blink/renderer/core/frame/local_dom_window.h"
#include "third_party/blink/renderer/core/frame/local_frame.h"
#include "third_party/blink/renderer/core/frame/local_frame_client.h"
#include "third_party/blink/renderer/core/frame/web_frame_widget_base.h"
......@@ -255,12 +256,12 @@ void DedicatedWorker::terminate() {
BeginFrameProviderParams DedicatedWorker::CreateBeginFrameProviderParams() {
DCHECK(GetExecutionContext()->IsContextThread());
// If we don't have a frame or we are not in Document, some of the SinkIds
// If we don't have a frame or we are not in window, some of the SinkIds
// won't be initialized. If that's the case, the Worker will initialize it by
// itself later.
BeginFrameProviderParams begin_frame_provider_params;
if (auto* document = Document::DynamicFrom(GetExecutionContext())) {
LocalFrame* frame = document->GetFrame();
if (auto* window = DynamicTo<LocalDOMWindow>(GetExecutionContext())) {
LocalFrame* frame = window->GetFrame();
if (frame) {
WebFrameWidgetBase* widget =
WebLocalFrameImpl::FromFrame(frame)->LocalRootFrameWidget();
......@@ -322,9 +323,8 @@ void DedicatedWorker::DispatchErrorEventForScriptFetchFailure() {
std::unique_ptr<WebContentSettingsClient>
DedicatedWorker::CreateWebContentSettingsClient() {
std::unique_ptr<WebContentSettingsClient> content_settings_client;
if (auto* document = Document::DynamicFrom(GetExecutionContext())) {
LocalFrame* frame = document->GetFrame();
return frame->Client()->CreateWorkerContentSettingsClient();
if (auto* window = DynamicTo<LocalDOMWindow>(GetExecutionContext())) {
return window->GetFrame()->Client()->CreateWorkerContentSettingsClient();
} else if (GetExecutionContext()->IsWorkerGlobalScope()) {
WebContentSettingsClient* web_worker_content_settings_client =
To<WorkerGlobalScope>(GetExecutionContext())->ContentSettingsClient();
......@@ -390,14 +390,14 @@ DedicatedWorker::CreateGlobalScopeCreationParams(
base::UnguessableToken parent_devtools_token;
std::unique_ptr<WorkerSettings> settings;
UserAgentMetadata ua_metadata;
if (auto* document = Document::DynamicFrom(GetExecutionContext())) {
auto* frame = document->GetFrame();
if (auto* window = DynamicTo<LocalDOMWindow>(GetExecutionContext())) {
auto* frame = window->GetFrame();
if (frame) {
parent_devtools_token = frame->GetDevToolsFrameToken();
ua_metadata = frame->Loader().UserAgentMetadata().value_or(
blink::UserAgentMetadata());
}
settings = std::make_unique<WorkerSettings>(document->GetSettings());
settings = std::make_unique<WorkerSettings>(frame->GetSettings());
} else {
WorkerGlobalScope* worker_global_scope =
To<WorkerGlobalScope>(GetExecutionContext());
......@@ -431,10 +431,10 @@ DedicatedWorker::CreateGlobalScopeCreationParams(
scoped_refptr<WebWorkerFetchContext>
DedicatedWorker::CreateWebWorkerFetchContext() {
// This worker is being created by the document.
if (auto* document = Document::DynamicFrom(GetExecutionContext())) {
// This worker is being created by the window.
if (auto* window = DynamicTo<LocalDOMWindow>(GetExecutionContext())) {
scoped_refptr<WebWorkerFetchContext> web_worker_fetch_context;
LocalFrame* frame = document->GetFrame();
LocalFrame* frame = window->GetFrame();
if (base::FeatureList::IsEnabled(features::kPlzDedicatedWorker)) {
web_worker_fetch_context =
frame->Client()->CreateWorkerFetchContextForPlzDedicatedWorker(
......
......@@ -11,6 +11,7 @@
#include "third_party/blink/renderer/bindings/core/v8/sanitize_script_errors.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_cache_options.h"
#include "third_party/blink/renderer/core/events/message_event.h"
#include "third_party/blink/renderer/core/frame/local_dom_window.h"
#include "third_party/blink/renderer/core/inspector/console_message_storage.h"
#include "third_party/blink/renderer/core/inspector/thread_debugger.h"
#include "third_party/blink/renderer/core/script/script.h"
......@@ -128,7 +129,7 @@ class DedicatedWorkerMessagingProxyForTest
{"contentSecurityPolicy",
network::mojom::ContentSecurityPolicyType::kReport}};
auto worker_settings = std::make_unique<WorkerSettings>(
Document::From(GetExecutionContext())->GetSettings());
To<LocalDOMWindow>(GetExecutionContext())->GetFrame()->GetSettings());
InitializeWorkerThread(
std::make_unique<GlobalScopeCreationParams>(
script_url, mojom::ScriptType::kClassic, "fake global scope name",
......@@ -175,7 +176,7 @@ class DedicatedWorkerTest : public PageTestBase {
PageTestBase::SetUp(IntSize());
worker_messaging_proxy_ =
MakeGarbageCollected<DedicatedWorkerMessagingProxyForTest>(
GetDocument().ToExecutionContext());
GetFrame().DomWindow());
}
void TearDown() override {
......
......@@ -74,7 +74,7 @@ class MainThreadWorkletTest : public PageTestBase {
document->IsSecureContext(), document->GetHttpsState(),
nullptr /* worker_clients */, nullptr /* content_settings_client */,
document->GetSecurityContext().AddressSpace(),
OriginTrialContext::GetTokens(document->ToExecutionContext()).get(),
OriginTrialContext::GetTokens(document->GetExecutionContext()).get(),
base::UnguessableToken::Create(), nullptr /* worker_settings */,
kV8CacheOptionsDefault,
MakeGarbageCollected<WorkletModuleResponsesMap>());
......
......@@ -40,6 +40,7 @@
#include "third_party/blink/renderer/core/execution_context/execution_context.h"
#include "third_party/blink/renderer/core/fetch/request.h"
#include "third_party/blink/renderer/core/fileapi/public_url_manager.h"
#include "third_party/blink/renderer/core/frame/local_dom_window.h"
#include "third_party/blink/renderer/core/messaging/message_channel.h"
#include "third_party/blink/renderer/core/messaging/message_port.h"
#include "third_party/blink/renderer/core/probe/core_probes.h"
......@@ -77,11 +78,10 @@ SharedWorker* SharedWorker::Create(ExecutionContext* context,
DCHECK(IsMainThread());
// We don't currently support nested workers, so workers can only be created
// from documents.
Document* document = Document::From(context);
DCHECK(document);
// from windows.
LocalDOMWindow* window = To<LocalDOMWindow>(context);
RecordSharedWorkerUsage(document);
RecordSharedWorkerUsage(window->document());
SharedWorker* worker = MakeGarbageCollected<SharedWorker>(context);
worker->UpdateStateIfNeeded();
......@@ -90,13 +90,13 @@ SharedWorker* SharedWorker::Create(ExecutionContext* context,
worker->port_ = channel->port1();
MessagePortChannel remote_port = channel->port2()->Disentangle();
if (!document->GetSecurityOrigin()->CanAccessSharedWorkers()) {
if (!window->GetSecurityOrigin()->CanAccessSharedWorkers()) {
exception_state.ThrowSecurityError(
"Access to shared workers is denied to origin '" +
document->GetSecurityOrigin()->ToString() + "'.");
window->GetSecurityOrigin()->ToString() + "'.");
return nullptr;
} else if (document->GetSecurityOrigin()->IsLocal()) {
UseCounter::Count(document, WebFeature::kFileAccessedSharedWorker);
} else if (window->GetSecurityOrigin()->IsLocal()) {
UseCounter::Count(window, WebFeature::kFileAccessedSharedWorker);
}
KURL script_url = ResolveURL(context, url, exception_state,
......@@ -106,7 +106,7 @@ SharedWorker* SharedWorker::Create(ExecutionContext* context,
mojo::PendingRemote<mojom::blink::BlobURLToken> blob_url_token;
if (script_url.ProtocolIs("blob")) {
document->GetPublicURLManager().Resolve(
window->GetPublicURLManager().Resolve(
script_url, blob_url_token.InitWithNewPipeAndPassReceiver());
}
......@@ -136,13 +136,13 @@ SharedWorker* SharedWorker::Create(ExecutionContext* context,
}
DCHECK(!options->name.IsNull());
if (options->type == mojom::blink::ScriptType::kClassic)
UseCounter::Count(document, WebFeature::kClassicSharedWorker);
UseCounter::Count(window, WebFeature::kClassicSharedWorker);
else if (options->type == mojom::blink::ScriptType::kModule)
UseCounter::Count(document, WebFeature::kModuleSharedWorker);
UseCounter::Count(window, WebFeature::kModuleSharedWorker);
SharedWorkerClientHolder::From(*document)->Connect(
worker, std::move(remote_port), script_url, std::move(blob_url_token),
std::move(options));
SharedWorkerClientHolder::From(*window->document())
->Connect(worker, std::move(remote_port), script_url,
std::move(blob_url_token), std::move(options));
return worker;
}
......
......@@ -72,8 +72,8 @@ SharedWorkerClientHolder* SharedWorkerClientHolder::From(Document& document) {
}
SharedWorkerClientHolder::SharedWorkerClientHolder(Document& document)
: connector_(document.ToExecutionContext()),
client_receivers_(document.ToExecutionContext()),
: connector_(document.GetExecutionContext()),
client_receivers_(document.GetExecutionContext()),
task_runner_(document.GetTaskRunner(blink::TaskType::kDOMManipulation)) {
DCHECK(IsMainThread());
document.GetBrowserInterfaceBroker().GetInterface(
......
......@@ -12,6 +12,7 @@
#include "third_party/blink/renderer/core/dom/document.h"
#include "third_party/blink/renderer/core/execution_context/security_context.h"
#include "third_party/blink/renderer/core/frame/csp/content_security_policy.h"
#include "third_party/blink/renderer/core/frame/local_dom_window.h"
#include "third_party/blink/renderer/core/frame/local_frame_client.h"
#include "third_party/blink/renderer/core/inspector/thread_debugger.h"
#include "third_party/blink/renderer/core/loader/worker_fetch_context.h"
......@@ -51,28 +52,28 @@ void ThreadedWorkletMessagingProxy::Initialize(
// LayoutWorklet and PaintWorklet.
const String global_scope_name = g_empty_string;
Document* document = Document::From(GetExecutionContext());
ContentSecurityPolicy* csp = document->GetContentSecurityPolicy();
LocalDOMWindow* window = To<LocalDOMWindow>(GetExecutionContext());
ContentSecurityPolicy* csp = window->GetContentSecurityPolicy();
DCHECK(csp);
auto global_scope_creation_params =
std::make_unique<GlobalScopeCreationParams>(
document->Url(), mojom::blink::ScriptType::kModule, global_scope_name,
document->UserAgent(),
document->GetFrame()->Client()->UserAgentMetadata(),
document->GetFrame()->Client()->CreateWorkerFetchContext(),
csp->Headers(), document->GetReferrerPolicy(),
document->GetSecurityOrigin(), document->IsSecureContext(),
document->GetHttpsState(), worker_clients,
document->GetFrame()->Client()->CreateWorkerContentSettingsClient(),
document->GetSecurityContext().AddressSpace(),
OriginTrialContext::GetTokens(document->ToExecutionContext()).get(),
window->Url(), mojom::blink::ScriptType::kModule, global_scope_name,
window->UserAgent(),
window->GetFrame()->Client()->UserAgentMetadata(),
window->GetFrame()->Client()->CreateWorkerFetchContext(),
csp->Headers(), window->GetReferrerPolicy(),
window->GetSecurityOrigin(), window->IsSecureContext(),
window->GetHttpsState(), worker_clients,
window->GetFrame()->Client()->CreateWorkerContentSettingsClient(),
window->GetSecurityContext().AddressSpace(),
OriginTrialContext::GetTokens(window).get(),
base::UnguessableToken::Create(),
std::make_unique<WorkerSettings>(document->GetSettings()),
std::make_unique<WorkerSettings>(window->GetFrame()->GetSettings()),
kV8CacheOptionsDefault, module_responses_map,
mojo::NullRemote() /* browser_interface_broker */,
BeginFrameProviderParams(), nullptr /* parent_feature_policy */,
document->ToExecutionContext()->GetAgentClusterID());
window->GetAgentClusterID());
// Worklets share the pre-initialized backing thread so that we don't have to
// specify the backing thread startup data.
......
......@@ -7,6 +7,7 @@
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/blink/public/platform/task_type.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_cache_options.h"
#include "third_party/blink/renderer/core/frame/local_dom_window.h"
#include "third_party/blink/renderer/core/inspector/console_message_storage.h"
#include "third_party/blink/renderer/core/inspector/thread_debugger.h"
#include "third_party/blink/renderer/core/origin_trials/origin_trial_context.h"
......@@ -192,22 +193,26 @@ class ThreadedWorkletMessagingProxyForTest
~ThreadedWorkletMessagingProxyForTest() override = default;
void Start() {
Document* document = Document::From(GetExecutionContext());
std::unique_ptr<Vector<char>> cached_meta_data = nullptr;
WorkerClients* worker_clients = nullptr;
std::unique_ptr<WorkerSettings> worker_settings = nullptr;
InitializeWorkerThread(
std::make_unique<GlobalScopeCreationParams>(
document->Url(), mojom::blink::ScriptType::kModule,
"threaded_worklet", document->UserAgent(),
document->GetFrame()->Loader().UserAgentMetadata(),
GetExecutionContext()->Url(), mojom::blink::ScriptType::kModule,
"threaded_worklet", GetExecutionContext()->UserAgent(),
To<LocalDOMWindow>(GetExecutionContext())
->GetFrame()
->Loader()
.UserAgentMetadata(),
nullptr /* web_worker_fetch_context */,
document->GetContentSecurityPolicy()->Headers(),
document->GetReferrerPolicy(), document->GetSecurityOrigin(),
document->IsSecureContext(), document->GetHttpsState(),
worker_clients, nullptr /* content_settings_client */,
document->GetSecurityContext().AddressSpace(),
OriginTrialContext::GetTokens(document->ToExecutionContext()).get(),
GetExecutionContext()->GetContentSecurityPolicy()->Headers(),
GetExecutionContext()->GetReferrerPolicy(),
GetExecutionContext()->GetSecurityOrigin(),
GetExecutionContext()->IsSecureContext(),
GetExecutionContext()->GetHttpsState(), worker_clients,
nullptr /* content_settings_client */,
GetExecutionContext()->GetSecurityContext().AddressSpace(),
OriginTrialContext::GetTokens(GetExecutionContext()).get(),
base::UnguessableToken::Create(), std::move(worker_settings),
kV8CacheOptionsDefault,
MakeGarbageCollected<WorkletModuleResponsesMap>()),
......
......@@ -12,9 +12,9 @@
#include "third_party/blink/public/platform/web_url_request.h"
#include "third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_worklet_options.h"
#include "third_party/blink/renderer/core/dom/document.h"
#include "third_party/blink/renderer/core/dom/dom_exception.h"
#include "third_party/blink/renderer/core/fetch/request.h"
#include "third_party/blink/renderer/core/frame/local_dom_window.h"
#include "third_party/blink/renderer/core/loader/worker_resource_timing_notifier_impl.h"
#include "third_party/blink/renderer/core/workers/worklet_pending_tasks.h"
#include "third_party/blink/renderer/platform/heap/heap.h"
......@@ -26,8 +26,8 @@
namespace blink {
Worklet::Worklet(Document* document)
: ExecutionContextLifecycleObserver(document),
Worklet::Worklet(LocalDOMWindow& window)
: ExecutionContextLifecycleObserver(&window),
module_responses_map_(MakeGarbageCollected<WorkletModuleResponsesMap>()) {
DCHECK(IsMainThread());
}
......
......@@ -16,7 +16,7 @@
namespace blink {
class Document;
class LocalDOMWindow;
class WorkletOptions;
// This is the base implementation of Worklet interface defined in the spec:
......@@ -54,7 +54,7 @@ class CORE_EXPORT Worklet : public ScriptWrappable,
void Trace(Visitor*) override;
protected:
explicit Worklet(Document*);
explicit Worklet(LocalDOMWindow&);
// Returns one of available global scopes.
WorkletGlobalScopeProxy* FindAvailableGlobalScope();
......
......@@ -22,8 +22,8 @@ int NextId() {
namespace blink {
AnimationWorklet::AnimationWorklet(Document* document)
: Worklet(document), worklet_id_(NextId()), last_animation_id_(0) {}
AnimationWorklet::AnimationWorklet(LocalDOMWindow& window)
: Worklet(window), worklet_id_(NextId()), last_animation_id_(0) {}
AnimationWorklet::~AnimationWorklet() = default;
......
......@@ -14,7 +14,7 @@
namespace blink {
class Document;
class LocalDOMWindow;
// Represents the animation worklet on the main thread. All the logic for
// loading a new source module is implemented in its parent class |Worklet|. The
......@@ -23,7 +23,7 @@ class Document;
// corresponding |AnimationWorkletGlobalScope| on the worklet thread.
class MODULES_EXPORT AnimationWorklet final : public Worklet {
public:
explicit AnimationWorklet(Document*);
explicit AnimationWorklet(LocalDOMWindow&);
~AnimationWorklet() override;
WorkletAnimationId NextWorkletAnimationId();
......
......@@ -5,7 +5,6 @@
#include "third_party/blink/renderer/modules/animationworklet/css_animation_worklet.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_binding_for_core.h"
#include "third_party/blink/renderer/core/dom/document.h"
#include "third_party/blink/renderer/core/frame/local_dom_window.h"
#include "third_party/blink/renderer/core/frame/local_frame.h"
......@@ -45,16 +44,15 @@ CSSAnimationWorklet& CSSAnimationWorklet::From(LocalDOMWindow& window) {
CSSAnimationWorklet* supplement =
Supplement<LocalDOMWindow>::From<CSSAnimationWorklet>(window);
if (!supplement) {
supplement = MakeGarbageCollected<CSSAnimationWorklet>(
window.GetFrame()->GetDocument());
supplement = MakeGarbageCollected<CSSAnimationWorklet>(window);
ProvideTo(window, supplement);
}
return *supplement;
}
CSSAnimationWorklet::CSSAnimationWorklet(Document* document)
: ExecutionContextLifecycleObserver(document),
animation_worklet_(MakeGarbageCollected<AnimationWorklet>(document)) {
CSSAnimationWorklet::CSSAnimationWorklet(LocalDOMWindow& window)
: ExecutionContextLifecycleObserver(&window),
animation_worklet_(MakeGarbageCollected<AnimationWorklet>(window)) {
DCHECK(GetExecutionContext());
}
......
......@@ -14,8 +14,6 @@
namespace blink {
class Document;
class MODULES_EXPORT CSSAnimationWorklet final
: public GarbageCollected<CSSAnimationWorklet>,
public Supplement<LocalDOMWindow>,
......@@ -27,7 +25,7 @@ class MODULES_EXPORT CSSAnimationWorklet final
static AnimationWorklet* animationWorklet(ScriptState*);
explicit CSSAnimationWorklet(Document*);
explicit CSSAnimationWorklet(LocalDOMWindow&);
void ContextDestroyed() override;
......
......@@ -38,15 +38,15 @@ PaintWorklet* PaintWorklet::From(LocalDOMWindow& window) {
PaintWorklet* supplement =
Supplement<LocalDOMWindow>::From<PaintWorklet>(window);
if (!supplement && window.GetFrame()) {
supplement = MakeGarbageCollected<PaintWorklet>(window.GetFrame());
supplement = MakeGarbageCollected<PaintWorklet>(window);
ProvideTo(window, supplement);
}
return supplement;
}
PaintWorklet::PaintWorklet(LocalFrame* frame)
: Worklet(frame->GetDocument()),
Supplement<LocalDOMWindow>(*frame->DomWindow()),
PaintWorklet::PaintWorklet(LocalDOMWindow& window)
: Worklet(window),
Supplement<LocalDOMWindow>(window),
pending_generator_registry_(
MakeGarbageCollected<PaintWorkletPendingGeneratorRegistry>()),
worklet_id_(NextId()),
......
......@@ -34,7 +34,7 @@ class MODULES_EXPORT PaintWorklet : public Worklet,
static const wtf_size_t kNumGlobalScopesPerThread;
static PaintWorklet* From(LocalDOMWindow&);
explicit PaintWorklet(LocalFrame*);
explicit PaintWorklet(LocalDOMWindow&);
~PaintWorklet() override;
void AddPendingGenerator(const String& name, CSSPaintImageGeneratorImpl*);
......
......@@ -55,7 +55,8 @@ class PaintWorkletProxyClientTest : public RenderingTest {
void SetUp() override {
RenderingTest::SetUp();
paint_worklet_ = MakeGarbageCollected<PaintWorklet>(&GetFrame());
paint_worklet_ =
MakeGarbageCollected<PaintWorklet>(*GetFrame().DomWindow());
dispatcher_ = std::make_unique<PaintWorkletPaintDispatcher>();
fake_compositor_thread_runner_ = base::MakeRefCounted<FakeTaskRunner>();
proxy_client_ = MakeGarbageCollected<PaintWorkletProxyClient>(
......
......@@ -26,7 +26,7 @@
namespace blink {
class TestPaintWorklet : public PaintWorklet {
public:
explicit TestPaintWorklet(LocalFrame* frame) : PaintWorklet(frame) {
explicit TestPaintWorklet(LocalDOMWindow& window) : PaintWorklet(window) {
ResetIsPaintOffThreadForTesting();
}
......@@ -51,8 +51,8 @@ class PaintWorkletTest : public PageTestBase {
public:
void SetUp() override {
PageTestBase::SetUp(IntSize());
test_paint_worklet_ = MakeGarbageCollected<TestPaintWorklet>(
GetDocument().domWindow()->GetFrame());
test_paint_worklet_ =
MakeGarbageCollected<TestPaintWorklet>(*GetDocument().domWindow());
proxy_ = test_paint_worklet_->CreateGlobalScope();
}
......@@ -304,7 +304,7 @@ TEST_P(MainOrOffThreadPaintWorkletTest, ConsistentGlobalScopeOnMainThread) {
TEST_P(MainOrOffThreadPaintWorkletTest, AllGlobalScopesMustBeCreated) {
PaintWorklet* paint_worklet_to_test =
MakeGarbageCollected<PaintWorklet>(&GetFrame());
MakeGarbageCollected<PaintWorklet>(*GetFrame().DomWindow());
paint_worklet_to_test->ResetIsPaintOffThreadForTesting();
EXPECT_TRUE(paint_worklet_to_test->GetGlobalScopesForTesting().IsEmpty());
......
......@@ -6,7 +6,7 @@
#include "third_party/blink/renderer/bindings/core/v8/serialization/serialized_script_value.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_binding_for_core.h"
#include "third_party/blink/renderer/core/dom/document.h"
#include "third_party/blink/renderer/core/frame/local_dom_window.h"
#include "third_party/blink/renderer/core/workers/worker_clients.h"
#include "third_party/blink/renderer/modules/webaudio/audio_worklet_messaging_proxy.h"
#include "third_party/blink/renderer/modules/webaudio/audio_worklet_node.h"
......@@ -17,7 +17,7 @@
namespace blink {
AudioWorklet::AudioWorklet(BaseAudioContext* context)
: Worklet(Document::From(context->GetExecutionContext())),
: Worklet(*To<LocalDOMWindow>(context->GetExecutionContext())),
context_(context) {}
void AudioWorklet::CreateProcessor(
......
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