summaryrefslogtreecommitdiff
path: root/Userland
diff options
context:
space:
mode:
Diffstat (limited to 'Userland')
-rw-r--r--Userland/Libraries/LibWeb/DOM/Document.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/Userland/Libraries/LibWeb/DOM/Document.cpp b/Userland/Libraries/LibWeb/DOM/Document.cpp
index 0f652e69a3..2777eed422 100644
--- a/Userland/Libraries/LibWeb/DOM/Document.cpp
+++ b/Userland/Libraries/LibWeb/DOM/Document.cpp
@@ -222,7 +222,9 @@ ExceptionOr<void> Document::set_body(HTML::HTMLElement& new_body)
auto* existing_body = body();
if (existing_body) {
- TODO();
+ auto replace_result = existing_body->parent()->replace_child(new_body, *existing_body);
+ if (replace_result.is_exception())
+ return NonnullRefPtr<DOMException>(replace_result.exception());
return {};
}
@@ -230,7 +232,9 @@ ExceptionOr<void> Document::set_body(HTML::HTMLElement& new_body)
if (!document_element)
return DOM::HierarchyRequestError::create("Missing document element");
- document_element->append_child(new_body);
+ auto append_result = document_element->append_child(new_body);
+ if (append_result.is_exception())
+ return NonnullRefPtr<DOMException>(append_result.exception());
return {};
}