ソースを参照

LibWeb: Add stub definition for WorkletGlobalScope

Shannon Booth 8 ヶ月 前
コミット
b39f4f0b5a

+ 1 - 0
Libraries/LibWeb/CMakeLists.txt

@@ -499,6 +499,7 @@ set(SOURCES
     HTML/WorkerGlobalScope.cpp
     HTML/WorkerLocation.cpp
     HTML/WorkerNavigator.cpp
+    HTML/WorkletGlobalScope.cpp
     HTML/ValidityState.cpp
     HighResolutionTime/Performance.cpp
     HighResolutionTime/TimeOrigin.cpp

+ 20 - 0
Libraries/LibWeb/HTML/WorkletGlobalScope.cpp

@@ -0,0 +1,20 @@
+/*
+ * Copyright (c) 2024, Shannon Booth <shannon@serenityos.org>
+ *
+ * SPDX-License-Identifier: BSD-2-Clause
+ */
+
+#include <LibWeb/HTML/WorkletGlobalScope.h>
+
+namespace Web::HTML {
+
+GC_DEFINE_ALLOCATOR(WorkletGlobalScope);
+
+WorkletGlobalScope::WorkletGlobalScope(JS::Realm& realm)
+    : PlatformObject(realm)
+{
+}
+
+WorkletGlobalScope::~WorkletGlobalScope() = default;
+
+}

+ 25 - 0
Libraries/LibWeb/HTML/WorkletGlobalScope.h

@@ -0,0 +1,25 @@
+/*
+ * Copyright (c) 2024, Shannon Booth <shannon@serenityos.org>
+ *
+ * SPDX-License-Identifier: BSD-2-Clause
+ */
+
+#pragma once
+
+#include <LibWeb/Bindings/PlatformObject.h>
+
+namespace Web::HTML {
+
+// https://html.spec.whatwg.org/multipage/worklets.html#workletglobalscope
+class WorkletGlobalScope : public Bindings::PlatformObject {
+    WEB_PLATFORM_OBJECT(WorkletGlobalScope, Bindings::PlatformObject);
+    GC_DECLARE_ALLOCATOR(WorkletGlobalScope);
+
+public:
+    virtual ~WorkletGlobalScope() override;
+
+protected:
+    explicit WorkletGlobalScope(JS::Realm&);
+};
+
+}

+ 3 - 0
Libraries/LibWeb/HTML/WorkletGlobalScope.idl

@@ -0,0 +1,3 @@
+// https://html.spec.whatwg.org/multipage/worklets.html#workletglobalscope
+[Exposed=Worklet, SecureContext]
+interface WorkletGlobalScope {};

+ 1 - 0
Libraries/LibWeb/idl_files.cmake

@@ -241,6 +241,7 @@ libweb_js_bindings(HTML/Worker)
 libweb_js_bindings(HTML/WorkerGlobalScope)
 libweb_js_bindings(HTML/WorkerLocation)
 libweb_js_bindings(HTML/WorkerNavigator)
+libweb_js_bindings(HTML/WorkletGlobalScope)
 libweb_js_bindings(HighResolutionTime/Performance)
 libweb_js_bindings(IndexedDB/IDBCursor)
 libweb_js_bindings(IndexedDB/IDBDatabase)