diff --git a/Meta/Lagom/Tools/CodeGenerators/LibWeb/BindingsGenerator/IDLGenerators.cpp b/Meta/Lagom/Tools/CodeGenerators/LibWeb/BindingsGenerator/IDLGenerators.cpp
index 6f8f5d2e823..28d2349663e 100644
--- a/Meta/Lagom/Tools/CodeGenerators/LibWeb/BindingsGenerator/IDLGenerators.cpp
+++ b/Meta/Lagom/Tools/CodeGenerators/LibWeb/BindingsGenerator/IDLGenerators.cpp
@@ -3189,7 +3189,7 @@ void @class_name@::initialize(JS::Realm& realm)
set_prototype(realm.intrinsics().object_prototype());
)~~~");
- } else if (is_global_interface && interface.supports_named_properties()) {
+ } else if (is_global_interface) {
generator.append(R"~~~(
set_prototype(&ensure_web_prototype<@prototype_name@>(realm, "@name@"_fly_string));
)~~~");
@@ -4766,6 +4766,10 @@ void @prototype_class@::initialize(JS::Realm& realm)
generator.append(R"~~~(
define_direct_property(vm().well_known_symbol_to_string_tag(), JS::PrimitiveString::create(vm(), "@namespaced_name@"_string), JS::Attribute::Configurable);
set_prototype(&ensure_web_prototype<@prototype_class@>(realm, "@named_properties_class@"_fly_string));
+)~~~");
+ } else {
+ generator.append(R"~~~(
+ set_prototype(&ensure_web_prototype<@prototype_base_class@>(realm, "@parent_name@"_fly_string));
)~~~");
}
generator.append(R"~~~(
diff --git a/Tests/LibWeb/Text/expected/HTML/DedicatedWorkerGlobalScope-instanceof.txt b/Tests/LibWeb/Text/expected/HTML/DedicatedWorkerGlobalScope-instanceof.txt
new file mode 100644
index 00000000000..7ef22e9a431
--- /dev/null
+++ b/Tests/LibWeb/Text/expected/HTML/DedicatedWorkerGlobalScope-instanceof.txt
@@ -0,0 +1 @@
+PASS
diff --git a/Tests/LibWeb/Text/input/HTML/DedicatedWorkerGlobalScope-instanceof-worker.js b/Tests/LibWeb/Text/input/HTML/DedicatedWorkerGlobalScope-instanceof-worker.js
new file mode 100644
index 00000000000..20c7925e10a
--- /dev/null
+++ b/Tests/LibWeb/Text/input/HTML/DedicatedWorkerGlobalScope-instanceof-worker.js
@@ -0,0 +1,5 @@
+onmessage = function (event) {
+ if (event.data === "run") {
+ postMessage({ result: self instanceof DedicatedWorkerGlobalScope });
+ }
+};
diff --git a/Tests/LibWeb/Text/input/HTML/DedicatedWorkerGlobalScope-instanceof.html b/Tests/LibWeb/Text/input/HTML/DedicatedWorkerGlobalScope-instanceof.html
new file mode 100644
index 00000000000..4636e216735
--- /dev/null
+++ b/Tests/LibWeb/Text/input/HTML/DedicatedWorkerGlobalScope-instanceof.html
@@ -0,0 +1,15 @@
+
+