Browse Source

LibWeb: Add a non-DeprecatedString version of Element::prefix()

Renaming the old DeprecatedString version of this function to
deprecated_prefix().
Shannon Booth 1 year ago
parent
commit
ebe01b51c8

+ 3 - 1
Userland/Libraries/LibWeb/DOM/Element.h

@@ -83,7 +83,9 @@ public:
     // NOTE: This is for the JS bindings
     DeprecatedString const& tag_name() const { return html_uppercased_qualified_name(); }
 
-    DeprecatedFlyString prefix() const { return m_qualified_name.deprecated_prefix(); }
+    Optional<FlyString> const& prefix() const { return m_qualified_name.prefix(); }
+    DeprecatedFlyString deprecated_prefix() const { return m_qualified_name.deprecated_prefix(); }
+
     void set_prefix(DeprecatedFlyString const& value);
 
     DeprecatedFlyString namespace_() const { return m_qualified_name.deprecated_namespace_(); }

+ 1 - 1
Userland/Libraries/LibWeb/DOM/Element.idl

@@ -24,7 +24,7 @@ dictionary ScrollIntoViewOptions : ScrollOptions {
 [Exposed=Window, UseDeprecatedAKString]
 interface Element : Node {
     readonly attribute DOMString? namespaceURI;
-    readonly attribute DOMString? prefix;
+    [ImplementedAs=deprecated_prefix] readonly attribute DOMString? prefix;
     readonly attribute DOMString localName;
     readonly attribute DOMString tagName;
 

+ 1 - 1
Userland/Libraries/LibWeb/DOM/Node.cpp

@@ -809,7 +809,7 @@ JS::NonnullGCPtr<Node> Node::clone_node(Document* document, bool clone_children)
     if (is<Element>(this)) {
         // 1. Let copy be the result of creating an element, given document, node’s local name, node’s namespace, node’s namespace prefix, and node’s is value, with the synchronous custom elements flag unset.
         auto& element = *verify_cast<Element>(this);
-        auto element_copy = DOM::create_element(*document, element.local_name(), element.namespace_(), element.prefix(), element.is_value(), false).release_value_but_fixme_should_propagate_errors();
+        auto element_copy = DOM::create_element(*document, element.local_name(), element.namespace_(), element.deprecated_prefix(), element.is_value(), false).release_value_but_fixme_should_propagate_errors();
 
         // 2. For each attribute in node’s attribute list:
         element.for_each_attribute([&](auto& name, auto& value) {

+ 1 - 1
Userland/Libraries/LibWeb/DOMParsing/XMLSerializer.cpp

@@ -549,7 +549,7 @@ static WebIDL::ExceptionOr<DeprecatedString> serialize_element(DOM::Element cons
     // 12. Otherwise, inherited ns is not equal to ns (the node's own namespace is different from the context namespace of its parent). Run these sub-steps:
     else {
         // 1. Let prefix be the value of node's prefix attribute.
-        auto prefix = element.prefix();
+        auto prefix = element.deprecated_prefix();
 
         // 2. Let candidate prefix be the result of retrieving a preferred prefix string prefix from map given namespace ns.
         auto candidate_prefix = retrieve_a_preferred_prefix_string(prefix, map, ns);