44 lines
1.8 KiB
Diff
44 lines
1.8 KiB
Diff
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<Element>()->hasAttributes())
|
|
+ return 0;
|
|
+ return ConstUnwrap<Element>()->Attributes().size();
|
|
+}
|
|
+
|
|
+WebString WebElement::AttributeLocalName(unsigned index) const {
|
|
+ if (index >= AttributeCount())
|
|
+ return WebString();
|
|
+ return ConstUnwrap<Element>()->Attributes().at(index).LocalName();
|
|
+}
|
|
+
|
|
+WebString WebElement::AttributeValue(unsigned index) const {
|
|
+ if (index >= AttributeCount())
|
|
+ return WebString();
|
|
+ return ConstUnwrap<Element>()->Attributes().at(index).Value();
|
|
+}
|
|
+
|
|
WebString WebElement::TextContent() const {
|
|
return ConstUnwrap<Element>()->textContent();
|
|
}
|