diff options
Diffstat (limited to 'WebCore/xml/XPathFunctions.cpp')
-rw-r--r-- | WebCore/xml/XPathFunctions.cpp | 16 |
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; |