From 9ed4fe7049561aafb5c8a1177aeac90aad214823 Mon Sep 17 00:00:00 2001 From: Karol Kosek Date: Sat, 28 Jan 2023 20:36:58 +0100 Subject: [PATCH] LibWeb: Allow to set a root mode value when constructing a ShadowRoot --- Userland/Libraries/LibWeb/DOM/ShadowRoot.cpp | 3 ++- Userland/Libraries/LibWeb/DOM/ShadowRoot.h | 2 +- Userland/Libraries/LibWeb/HTML/HTMLInputElement.cpp | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Userland/Libraries/LibWeb/DOM/ShadowRoot.cpp b/Userland/Libraries/LibWeb/DOM/ShadowRoot.cpp index 57adcda879..50703e14b9 100644 --- a/Userland/Libraries/LibWeb/DOM/ShadowRoot.cpp +++ b/Userland/Libraries/LibWeb/DOM/ShadowRoot.cpp @@ -12,8 +12,9 @@ namespace Web::DOM { -ShadowRoot::ShadowRoot(Document& document, Element& host) +ShadowRoot::ShadowRoot(Document& document, Element& host, Bindings::ShadowRootMode mode) : DocumentFragment(document) + , m_mode(mode) { set_host(&host); } diff --git a/Userland/Libraries/LibWeb/DOM/ShadowRoot.h b/Userland/Libraries/LibWeb/DOM/ShadowRoot.h index 37e1add258..46a5b10338 100644 --- a/Userland/Libraries/LibWeb/DOM/ShadowRoot.h +++ b/Userland/Libraries/LibWeb/DOM/ShadowRoot.h @@ -30,7 +30,7 @@ public: WebIDL::ExceptionOr set_inner_html(DeprecatedString const&); private: - ShadowRoot(Document&, Element&); + ShadowRoot(Document&, Element& host, Bindings::ShadowRootMode); virtual JS::ThrowCompletionOr initialize(JS::Realm&) override; // ^Node diff --git a/Userland/Libraries/LibWeb/HTML/HTMLInputElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLInputElement.cpp index 490f16d660..7e61cb33c6 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLInputElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLInputElement.cpp @@ -382,7 +382,7 @@ void HTMLInputElement::create_shadow_tree_if_needed() break; } - auto shadow_root = heap().allocate(realm(), document(), *this).release_allocated_value_but_fixme_should_propagate_errors(); + auto shadow_root = heap().allocate(realm(), document(), *this, Bindings::ShadowRootMode::Closed).release_allocated_value_but_fixme_should_propagate_errors(); auto initial_value = m_value; if (initial_value.is_null()) initial_value = DeprecatedString::empty();