| Index: Source/core/dom/PresentationAttributeStyle.cpp
|
| diff --git a/Source/core/dom/PresentationAttributeStyle.cpp b/Source/core/dom/PresentationAttributeStyle.cpp
|
| index 3d9a3e35496002585144b1fc427368e391cafac9..38cca3f2bd2171f3b99cf31f86b910d74362fd7d 100644
|
| --- a/Source/core/dom/PresentationAttributeStyle.cpp
|
| +++ b/Source/core/dom/PresentationAttributeStyle.cpp
|
| @@ -123,17 +123,17 @@ static void makePresentationAttributeCacheKey(Element& element, PresentationAttr
|
| // Interpretation of the size attributes on <input> depends on the type attribute.
|
| if (isHTMLInputElement(element))
|
| return;
|
| - unsigned size = element.attributeCount();
|
| - for (unsigned i = 0; i < size; ++i) {
|
| - const Attribute& attribute = element.attributeItem(i);
|
| - if (!element.isPresentationAttribute(attribute.name()))
|
| + AttributeIteratorAccessor attributes = element.attributesIterator();
|
| + AttributeConstIterator end = attributes.end();
|
| + for (AttributeConstIterator it = attributes.begin(); it != end; ++it) {
|
| + if (!element.isPresentationAttribute(it->name()))
|
| continue;
|
| - if (!attribute.namespaceURI().isNull())
|
| + if (!it->namespaceURI().isNull())
|
| return;
|
| // FIXME: Background URL may depend on the base URL and can't be shared. Disallow caching.
|
| - if (attribute.name() == backgroundAttr)
|
| + if (it->name() == backgroundAttr)
|
| return;
|
| - result.attributesAndValues.append(std::make_pair(attribute.localName().impl(), attribute.value()));
|
| + result.attributesAndValues.append(std::make_pair(it->localName().impl(), it->value()));
|
| }
|
| if (result.attributesAndValues.isEmpty())
|
| return;
|
| @@ -178,11 +178,10 @@ PassRefPtr<StylePropertySet> computePresentationAttributeStyle(Element& element)
|
| cacheCleaner.didHitPresentationAttributeCache();
|
| } else {
|
| style = MutableStylePropertySet::create(element.isSVGElement() ? SVGAttributeMode : HTMLAttributeMode);
|
| - unsigned size = element.attributeCount();
|
| - for (unsigned i = 0; i < size; ++i) {
|
| - const Attribute& attribute = element.attributeItem(i);
|
| - element.collectStyleForPresentationAttribute(attribute.name(), attribute.value(), toMutableStylePropertySet(style));
|
| - }
|
| + AttributeIteratorAccessor attributes = element.attributesIterator();
|
| + AttributeConstIterator end = attributes.end();
|
| + for (AttributeConstIterator it = attributes.begin(); it != end; ++it)
|
| + element.collectStyleForPresentationAttribute(it->name(), it->value(), toMutableStylePropertySet(style));
|
| }
|
|
|
| if (!cacheHash || cacheValue->value)
|
|
|