diff --git third_party/blink/public/web/web_element.h third_party/blink/public/web/web_element.h index 023ce7091b061..f175b3683f48f 100644 --- third_party/blink/public/web/web_element.h +++ third_party/blink/public/web/web_element.h @@ -82,6 +82,9 @@ class BLINK_EXPORT WebElement : public WebNode { WebString TextContent() const; WebString TextContentAbridged(unsigned int max_length) const; WebString InnerHTML() const; + WebString AttributeLocalName(unsigned index) const; + WebString AttributeValue(unsigned index) const; + unsigned AttributeCount() const; // Returns true if the element's computed writing suggestions value is true. // https://html.spec.whatwg.org/#writing-suggestions:computed-writing-suggestions-value diff --git third_party/blink/renderer/core/exported/web_element.cc third_party/blink/renderer/core/exported/web_element.cc index da6ab6488ad80..7b23243e21a61 100644 --- third_party/blink/renderer/core/exported/web_element.cc +++ third_party/blink/renderer/core/exported/web_element.cc @@ -119,6 +119,24 @@ void WebElement::SetAttribute(const WebString& attr_name, IGNORE_EXCEPTION_FOR_TESTING); } +unsigned WebElement::AttributeCount() const { + if (!ConstUnwrap()->hasAttributes()) + return 0; + return ConstUnwrap()->Attributes().size(); +} + +WebString WebElement::AttributeLocalName(unsigned index) const { + if (index >= AttributeCount()) + return WebString(); + return ConstUnwrap()->Attributes().at(index).LocalName(); +} + +WebString WebElement::AttributeValue(unsigned index) const { + if (index >= AttributeCount()) + return WebString(); + return ConstUnwrap()->Attributes().at(index).Value(); +} + WebString WebElement::TextContent() const { return ConstUnwrap()->textContent(); }