| Index: Source/core/xml/XPathStep.cpp
|
| diff --git a/Source/core/xml/XPathStep.cpp b/Source/core/xml/XPathStep.cpp
|
| index c6fdc805b483a292fc3466fcb900133f1af6dda6..1fbe1972b70b391a4ca2cf96e77f1f64b8ea1195 100644
|
| --- a/Source/core/xml/XPathStep.cpp
|
| +++ b/Source/core/xml/XPathStep.cpp
|
| @@ -360,9 +360,10 @@ void Step::nodesInAxis(Node* context, NodeSet& nodes) const
|
| if (!contextElement->hasAttributes())
|
| return;
|
|
|
| - unsigned attributeCount = contextElement->attributeCount();
|
| - for (unsigned i = 0; i < attributeCount; ++i) {
|
| - RefPtrWillBeRawPtr<Attr> attr = contextElement->ensureAttr(contextElement->attributeItem(i).name());
|
| + AttributeIteratorAccessor attributes = contextElement->attributesIterator();
|
| + AttributeConstIterator end = attributes.end();
|
| + for (AttributeConstIterator it = attributes.begin(); it != end; ++it) {
|
| + RefPtrWillBeRawPtr<Attr> attr = contextElement->ensureAttr(it->name());
|
| if (nodeMatches(attr.get(), AttributeAxis, nodeTest()))
|
| nodes.append(attr.release());
|
| }
|
|
|