summaryrefslogtreecommitdiffstats
path: root/WebCore/xml/XPathFunctions.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/xml/XPathFunctions.cpp')
-rw-r--r--WebCore/xml/XPathFunctions.cpp16
1 files changed, 8 insertions, 8 deletions
diff --git a/WebCore/xml/XPathFunctions.cpp b/WebCore/xml/XPathFunctions.cpp
index 841b436..3abd603 100644
--- a/WebCore/xml/XPathFunctions.cpp
+++ b/WebCore/xml/XPathFunctions.cpp
@@ -534,30 +534,30 @@ Value FunLang::evaluate() const
{
String lang = arg(0)->evaluate().toString();
- RefPtr<Node> langNode = 0;
+ Attribute* languageAttribute = 0;
Node* node = evaluationContext().node.get();
while (node) {
NamedAttrMap* attrs = node->attributes();
if (attrs)
- langNode = attrs->getNamedItemNS(XMLNames::xmlNamespaceURI, "lang");
- if (langNode)
+ languageAttribute = attrs->getAttributeItem(XMLNames::langAttr);
+ if (languageAttribute)
break;
node = node->parentNode();
}
- if (!langNode)
+ if (!languageAttribute)
return false;
- String langNodeValue = langNode->nodeValue();
+ String langValue = languageAttribute->value();
while (true) {
- if (equalIgnoringCase(langNodeValue, lang))
+ if (equalIgnoringCase(langValue, lang))
return true;
// Remove suffixes one by one.
- int index = langNodeValue.reverseFind('-');
+ int index = langValue.reverseFind('-');
if (index == -1)
break;
- langNodeValue = langNodeValue.left(index);
+ langValue = langValue.left(index);
}
return false;