diff --git a/Libraries/LibWeb/HTML/DedicatedWorkerGlobalScope.h b/Libraries/LibWeb/HTML/DedicatedWorkerGlobalScope.h index f6548ddd681..bc9945f3275 100644 --- a/Libraries/LibWeb/HTML/DedicatedWorkerGlobalScope.h +++ b/Libraries/LibWeb/HTML/DedicatedWorkerGlobalScope.h @@ -28,9 +28,6 @@ public: WebIDL::ExceptionOr post_message(JS::Value message, StructuredSerializeOptions const&); WebIDL::ExceptionOr post_message(JS::Value message, Vector> const& transfer); - void set_name(String name) { m_name = move(name); } - String name() const { return m_name; } - void close(); #undef __ENUMERATE @@ -46,8 +43,6 @@ private: DedicatedWorkerGlobalScope(JS::Realm&, GC::Ref); virtual void initialize_web_interfaces_impl() override; - - String m_name; }; } diff --git a/Libraries/LibWeb/HTML/SharedWorkerGlobalScope.cpp b/Libraries/LibWeb/HTML/SharedWorkerGlobalScope.cpp index e3953ce30f4..afd728ab4af 100644 --- a/Libraries/LibWeb/HTML/SharedWorkerGlobalScope.cpp +++ b/Libraries/LibWeb/HTML/SharedWorkerGlobalScope.cpp @@ -18,9 +18,8 @@ HashTable>& all_shared_worker_global_scopes( return set; } -SharedWorkerGlobalScope::SharedWorkerGlobalScope(JS::Realm& realm, GC::Ref page, String name) +SharedWorkerGlobalScope::SharedWorkerGlobalScope(JS::Realm& realm, GC::Ref page) : WorkerGlobalScope(realm, page) - , m_name(move(name)) { all_shared_worker_global_scopes().set(*this); } diff --git a/Libraries/LibWeb/HTML/SharedWorkerGlobalScope.h b/Libraries/LibWeb/HTML/SharedWorkerGlobalScope.h index 5e35a5e2d9b..a02fb32d9d4 100644 --- a/Libraries/LibWeb/HTML/SharedWorkerGlobalScope.h +++ b/Libraries/LibWeb/HTML/SharedWorkerGlobalScope.h @@ -25,8 +25,6 @@ class SharedWorkerGlobalScope public: virtual ~SharedWorkerGlobalScope() override; - String const& name() const { return m_name; } - void close(); #define __ENUMERATE(attribute_name, event_name) \ @@ -36,12 +34,10 @@ public: #undef __ENUMERATE private: - SharedWorkerGlobalScope(JS::Realm&, GC::Ref, String name); + SharedWorkerGlobalScope(JS::Realm&, GC::Ref); virtual void initialize_web_interfaces_impl() override; virtual void finalize() override; - - String m_name; }; HashTable>& all_shared_worker_global_scopes(); diff --git a/Libraries/LibWeb/HTML/WorkerGlobalScope.h b/Libraries/LibWeb/HTML/WorkerGlobalScope.h index 7c70631f436..244ad54791a 100644 --- a/Libraries/LibWeb/HTML/WorkerGlobalScope.h +++ b/Libraries/LibWeb/HTML/WorkerGlobalScope.h @@ -83,6 +83,12 @@ public: URL::URL const& url() const { return m_url.value(); } void set_url(URL::URL const& url) { m_url = url; } + String const& name() const { return m_name; } + void set_name(String name) { m_name = move(name); } + + Bindings::WorkerType type() const { return m_type; } + void set_type(Bindings::WorkerType type) { m_type = type; } + // Spec note: While the WorkerLocation object is created after the WorkerGlobalScope object, // this is not problematic as it cannot be observed from script. void set_location(GC::Ref loc) { m_location = move(loc); } @@ -121,14 +127,13 @@ private: GC::Ref m_page; - // FIXME: Add all these internal slots - // https://html.spec.whatwg.org/multipage/workers.html#concept-WorkerGlobalScope-owner-set - // A WorkerGlobalScope object has an associated owner set (a set of Document and WorkerGlobalScope objects). It is initially empty and populated when the worker is created or obtained. + // FIXME: A WorkerGlobalScope object has an associated owner set (a set of Document and WorkerGlobalScope objects). It is initially empty and populated when the worker is created or obtained. // Note: It is a set, instead of a single owner, to accommodate SharedWorkerGlobalScope objects. // https://html.spec.whatwg.org/multipage/workers.html#concept-workerglobalscope-type // A WorkerGlobalScope object has an associated type ("classic" or "module"). It is set during creation. + Bindings::WorkerType m_type { Bindings::WorkerType::Classic }; // https://html.spec.whatwg.org/multipage/workers.html#concept-workerglobalscope-url // A WorkerGlobalScope object has an associated url (null or a URL). It is initially null. @@ -140,6 +145,7 @@ private: // For DedicatedWorkerGlobalScope instances, it is simply a developer-supplied name, useful mostly for debugging purposes. // For SharedWorkerGlobalScope instances, it allows obtaining a reference to a common shared worker via the SharedWorker() constructor. // For ServiceWorkerGlobalScope objects, it doesn't make sense (and as such isn't exposed through the JavaScript API at all). + String m_name; // https://html.spec.whatwg.org/multipage/workers.html#concept-workerglobalscope-policy-container // A WorkerGlobalScope object has an associated policy container (a policy container). It is initially a new policy container. @@ -147,10 +153,10 @@ private: // https://html.spec.whatwg.org/multipage/workers.html#concept-workerglobalscope-embedder-policy // A WorkerGlobalScope object has an associated embedder policy (an embedder policy). - EmbedderPolicy m_embedder_policy; + // FIXME: Should be removed, https://github.com/whatwg/html/issues/11316 // https://html.spec.whatwg.org/multipage/workers.html#concept-workerglobalscope-module-map - // A WorkerGlobalScope object has an associated module map. It is a module map, initially empty. + // FIXME: A WorkerGlobalScope object has an associated module map. It is a module map, initially empty. // https://html.spec.whatwg.org/multipage/workers.html#concept-workerglobalscope-cross-origin-isolated-capability bool m_cross_origin_isolated_capability { false };