diff --git a/Userland/Libraries/LibWeb/HTML/Scripting/WorkerEnvironmentSettingsObject.h b/Userland/Libraries/LibWeb/HTML/Scripting/WorkerEnvironmentSettingsObject.h index cac5fb546a..e2e2ba6dc9 100644 --- a/Userland/Libraries/LibWeb/HTML/Scripting/WorkerEnvironmentSettingsObject.h +++ b/Userland/Libraries/LibWeb/HTML/Scripting/WorkerEnvironmentSettingsObject.h @@ -7,6 +7,7 @@ #pragma once #include +#include #include #include @@ -33,6 +34,9 @@ public: auto host_defined = make(*settings_object, *intrinsics); realm->set_host_defined(move(host_defined)); + // FIXME: Shared workers should use the shared worker method + Bindings::add_dedicated_worker_exposed_interfaces(realm->global_object(), *realm); + return *settings_object; } diff --git a/Userland/Libraries/LibWeb/HTML/Worker.cpp b/Userland/Libraries/LibWeb/HTML/Worker.cpp index 942ec5d655..ea796a3e0f 100644 --- a/Userland/Libraries/LibWeb/HTML/Worker.cpp +++ b/Userland/Libraries/LibWeb/HTML/Worker.cpp @@ -128,10 +128,6 @@ void Worker::run_a_worker(AK::URL& url, EnvironmentSettingsObject& outside_setti auto& console_object = *realm_execution_context->realm->intrinsics().console_object(); m_worker_realm = realm_execution_context->realm; - // FIXME: Remove this once we don't need a hack Window (for prototypes and constructors) in workers anymore. - m_worker_window = HTML::Window::create(*m_worker_realm); - m_worker_realm->set_global_object(m_worker_scope, nullptr); - m_console = adopt_ref(*new WorkerDebugConsoleClient(console_object.console())); console_object.console().set_client(*m_console); diff --git a/Userland/Libraries/LibWeb/HTML/Worker.h b/Userland/Libraries/LibWeb/HTML/Worker.h index 17bde2e1cc..38dc64a411 100644 --- a/Userland/Libraries/LibWeb/HTML/Worker.h +++ b/Userland/Libraries/LibWeb/HTML/Worker.h @@ -89,9 +89,6 @@ private: // NOTE: These are inside the worker VM. JS::GCPtr m_worker_realm; JS::GCPtr m_worker_scope; - // FIXME: This is a mega-hack but necessary because HTML::Window holds all the prototypes and constructors. - // There should be *no* Window object in a Worker context. - JS::GCPtr m_worker_window; void run_a_worker(AK::URL& url, EnvironmentSettingsObject& outside_settings, MessagePort& outside_port, WorkerOptions const& options); };