Index: sky/engine/core/dom/Element.cpp |
diff --git a/sky/engine/core/dom/Element.cpp b/sky/engine/core/dom/Element.cpp |
index c450e8eecb5fd9e929a8b70b635fda3dcff43feb..731cb21387ff0f8ad43eed193cbafb8c826d3488 100644 |
--- a/sky/engine/core/dom/Element.cpp |
+++ b/sky/engine/core/dom/Element.cpp |
@@ -1326,6 +1326,17 @@ void Element::removeAttribute(const AtomicString& localName) |
removeAttributeInternal(index, NotInSynchronizationOfLazyAttribute); |
} |
+Vector<RefPtr<Attr>> Element::getAttributes() |
+{ |
+ if (!elementData()) |
+ return Vector<RefPtr<Attr>>(); |
+ synchronizeAllAttributes(); |
+ Vector<RefPtr<Attr>> attributes; |
+ for (const Attribute& attribute : elementData()->attributes()) |
+ attributes.append(ensureAttr(attribute.name())); |
+ return attributes; |
+} |
+ |
PassRefPtr<Attr> Element::getAttributeNode(const AtomicString& localName) |
{ |
if (!elementData()) |