浏览代码

LibWeb: Add HTMLAnchorElement.text getter and setter

And a FIXME for the missing `referrerPolicy` property.
Sam Atkins 2 年之前
父节点
当前提交
0c19d3aa58

+ 14 - 0
Userland/Libraries/LibWeb/HTML/HTMLAnchorElement.cpp

@@ -100,4 +100,18 @@ Optional<ARIA::Role> HTMLAnchorElement::default_role() const
     return ARIA::Role::generic;
 }
 
+// https://html.spec.whatwg.org/multipage/text-level-semantics.html#dom-a-text
+DeprecatedString HTMLAnchorElement::text() const
+{
+    // The text attribute's getter must return this element's descendant text content.
+    return descendant_text_content();
+}
+
+// https://html.spec.whatwg.org/multipage/text-level-semantics.html#dom-a-text
+void HTMLAnchorElement::set_text(DeprecatedString const& text)
+{
+    // The text attribute's setter must string replace all with the given value within this element.
+    string_replace_all(text);
+}
+
 }

+ 3 - 0
Userland/Libraries/LibWeb/HTML/HTMLAnchorElement.h

@@ -23,6 +23,9 @@ public:
     DeprecatedString target() const { return attribute(HTML::AttributeNames::target); }
     DeprecatedString download() const { return attribute(HTML::AttributeNames::download); }
 
+    DeprecatedString text() const;
+    void set_text(DeprecatedString const&);
+
     // ^EventTarget
     // https://html.spec.whatwg.org/multipage/interaction.html#the-tabindex-attribute:the-a-element
     virtual bool is_focusable() const override { return has_attribute(HTML::AttributeNames::href); }

+ 2 - 0
Userland/Libraries/LibWeb/HTML/HTMLAnchorElement.idl

@@ -15,6 +15,8 @@ interface HTMLAnchorElement : HTMLElement {
     [CEReactions, Reflect] attribute DOMString hreflang;
     [CEReactions, Reflect] attribute DOMString type;
 
+    [CEReactions] attribute DOMString text;
+
     // Obsolete
     [CEReactions, Reflect] attribute DOMString coords;
     [CEReactions, Reflect] attribute DOMString charset;