Procházet zdrojové kódy

LibWeb: Make Element::remove_attribute take a StringView

It already delegates to a function which accepts a StringView, so there
is no advantage here in taking a FlyString. Ideally, both of these
functions should be taking a 'FlyString const&', so leave a FIXME for
that. In the meantime, this should help in porting away from
DeprecatedString.
Shannon Booth před 1 rokem
rodič
revize
ab674f3bf6

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

@@ -295,7 +295,7 @@ WebIDL::ExceptionOr<JS::GCPtr<Attr>> Element::set_attribute_node_ns(Attr& attr)
 }
 
 // https://dom.spec.whatwg.org/#dom-element-removeattribute
-void Element::remove_attribute(DeprecatedFlyString const& name)
+void Element::remove_attribute(StringView name)
 {
     // The removeAttribute(qualifiedName) method steps are to remove an attribute given qualifiedName and this, and then return undefined.
     m_attributes->remove_attribute(name);

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

@@ -114,7 +114,9 @@ public:
     WebIDL::ExceptionOr<JS::GCPtr<Attr>> set_attribute_node(Attr&);
     WebIDL::ExceptionOr<JS::GCPtr<Attr>> set_attribute_node_ns(Attr&);
 
-    void remove_attribute(DeprecatedFlyString const& name);
+    // FIXME: This should take a 'FlyString cosnt&'
+    void remove_attribute(StringView name);
+
     WebIDL::ExceptionOr<bool> toggle_attribute(DeprecatedFlyString const& name, Optional<bool> force);
     size_t attribute_list_size() const;
     NamedNodeMap const* attributes() const { return m_attributes.ptr(); }

+ 2 - 0
Userland/Libraries/LibWeb/DOM/NamedNodeMap.h

@@ -50,6 +50,8 @@ public:
     WebIDL::ExceptionOr<JS::GCPtr<Attr>> set_attribute(Attr& attribute);
     void replace_attribute(Attr& old_attribute, Attr& new_attribute, size_t old_attribute_index);
     void append_attribute(Attr& attribute);
+
+    // FIXME: This should take a 'FlyString cosnt&'
     Attr const* remove_attribute(StringView qualified_name);
     Attr const* remove_attribute_ns(StringView namespace_, StringView local_name);