LibWeb: Implement Element.outerHTML

This piggybacks on the same fragment serialization code that innerHTML
uses, but instead of constructing an imaginary parent element like the
spec asks us to, we just add a separate serialization mode that includes
the context element in the serialized markup.

This makes the image carousel on https://utah.edu/ show up :^)
This commit is contained in:
Andreas Kling
2024-04-09 14:44:58 +02:00
committed by Tim Flynn
parent 0412e17bac
commit 870a954e11
Notes: sideshowbarker 2024-07-18 02:13:10 +09:00
9 changed files with 120 additions and 75 deletions

View File

@@ -61,7 +61,7 @@ public:
DOM::Document& document();
static Vector<JS::Handle<DOM::Node>> parse_html_fragment(DOM::Element& context_element, StringView);
static String serialize_html_fragment(DOM::Node const& node);
static String serialize_html_fragment(DOM::Node const& node, DOM::FragmentSerializationMode = DOM::FragmentSerializationMode::Inner);
enum class InsertionMode {
#define __ENUMERATE_INSERTION_MODE(mode) mode,