| 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()))
|
|
|