From 34913c48d3d53b0ca286fe91e1521876233a6281 Mon Sep 17 00:00:00 2001 From: Karol Kosek Date: Sat, 28 Jan 2023 20:26:01 +0100 Subject: [PATCH] LibWeb: Actually initialize ShadowRoot bindings `mode` and `host` attributes were always undefined. --- Userland/Libraries/LibWeb/DOM/ShadowRoot.cpp | 7 +++++++ Userland/Libraries/LibWeb/DOM/ShadowRoot.h | 1 + 2 files changed, 8 insertions(+) diff --git a/Userland/Libraries/LibWeb/DOM/ShadowRoot.cpp b/Userland/Libraries/LibWeb/DOM/ShadowRoot.cpp index ccba9ab6c1..57adcda879 100644 --- a/Userland/Libraries/LibWeb/DOM/ShadowRoot.cpp +++ b/Userland/Libraries/LibWeb/DOM/ShadowRoot.cpp @@ -18,6 +18,13 @@ ShadowRoot::ShadowRoot(Document& document, Element& host) set_host(&host); } +JS::ThrowCompletionOr ShadowRoot::initialize(JS::Realm& realm) +{ + MUST_OR_THROW_OOM(Base::initialize(realm)); + set_prototype(&Bindings::ensure_web_prototype(realm, "ShadowRoot")); + return {}; +} + // https://dom.spec.whatwg.org/#ref-for-get-the-parent%E2%91%A6 EventTarget* ShadowRoot::get_parent(Event const& event) { diff --git a/Userland/Libraries/LibWeb/DOM/ShadowRoot.h b/Userland/Libraries/LibWeb/DOM/ShadowRoot.h index 327cf40a89..adb68d8ebd 100644 --- a/Userland/Libraries/LibWeb/DOM/ShadowRoot.h +++ b/Userland/Libraries/LibWeb/DOM/ShadowRoot.h @@ -33,6 +33,7 @@ public: private: ShadowRoot(Document&, Element&); + virtual JS::ThrowCompletionOr initialize(JS::Realm&) override; // ^Node virtual DeprecatedFlyString node_name() const override { return "#shadow-root"; }