Index: Source/core/dom/Element.cpp |
diff --git a/Source/core/dom/Element.cpp b/Source/core/dom/Element.cpp |
index 899045fefa31be39fa3c4a11fc497c45e52c5153..7393c42c6fddd3cead47a14e6c20d3be9dd498af 100644 |
--- a/Source/core/dom/Element.cpp |
+++ b/Source/core/dom/Element.cpp |
@@ -431,7 +431,7 @@ const AtomicString& Element::getAttribute(const QualifiedName& name) const |
if (!elementData()) |
return nullAtom; |
synchronizeAttribute(name); |
- if (const Attribute* attribute = attributes().find(name)) |
+ if (const Attribute* attribute = elementData()->attributes().find(name)) |
return attribute->value(); |
return nullAtom; |
} |
@@ -910,7 +910,7 @@ ALWAYS_INLINE void Element::setAttributeInternal(size_t index, const QualifiedNa |
return; |
} |
- const Attribute& existingAttribute = attributes().at(index); |
+ const Attribute& existingAttribute = elementData()->attributes().at(index); |
QualifiedName existingAttributeName = existingAttribute.name(); |
if (!inSynchronizationOfLazyAttribute) |
@@ -1135,12 +1135,6 @@ void Element::parserSetAttributes(const Vector<Attribute>& attributeVector) |
attributeChangedFromParserOrByCloning(attributeVector[i].name(), attributeVector[i].value(), ModifiedDirectly); |
} |
-bool Element::hasAttributes() const |
-{ |
- synchronizeAllAttributes(); |
- return elementData() && !elementData()->attributes().isEmpty(); |
-} |
- |
bool Element::hasEquivalentAttributes(const Element* other) const |
{ |
synchronizeAllAttributes(); |
@@ -1192,13 +1186,11 @@ const AtomicString& Element::locateNamespacePrefix(const AtomicString& namespace |
if (!prefix().isNull() && namespaceURI() == namespaceToLocate) |
return prefix(); |
- if (hasAttributes()) { |
- AttributeCollection attributes = this->attributes(); |
- AttributeCollection::const_iterator end = attributes.end(); |
- for (AttributeCollection::const_iterator it = attributes.begin(); it != end; ++it) { |
- if (it->prefix() == xmlnsAtom && it->value() == namespaceToLocate) |
- return it->localName(); |
- } |
+ AttributeCollection attributes = this->attributes(); |
+ AttributeCollection::const_iterator end = attributes.end(); |
+ for (AttributeCollection::const_iterator it = attributes.begin(); it != end; ++it) { |
+ if (it->prefix() == xmlnsAtom && it->value() == namespaceToLocate) |
+ return it->localName(); |
} |
if (Element* parent = parentElement()) |
@@ -2969,7 +2961,7 @@ void Element::detachAllAttrNodesFromElement() |
AttrNodeList* list = this->attrNodeList(); |
ASSERT(list); |
- AttributeCollection attributes = this->attributes(); |
+ AttributeCollection attributes = elementData()->attributes(); |
AttributeCollection::const_iterator end = attributes.end(); |
for (AttributeCollection::const_iterator it = attributes.begin(); it != end; ++it) { |
if (RefPtrWillBeRawPtr<Attr> attrNode = findAttrNodeInList(*list, it->name())) |