diff --git a/mozilla/content/base/src/nsScriptLoader.cpp b/mozilla/content/base/src/nsScriptLoader.cpp index fb2134f4b17..2a84787ac1a 100644 --- a/mozilla/content/base/src/nsScriptLoader.cpp +++ b/mozilla/content/base/src/nsScriptLoader.cpp @@ -275,7 +275,13 @@ nsScriptLoader::ProcessScriptElement(nsIDOMHTMLScriptElement *aElement, PRBool isJavaScript = PR_TRUE; const char* jsVersionString = nsnull; - nsAutoString src, type, language; + nsAutoString language, type, src; + + // Check the language attribute first, so type can trump language. + aElement->GetAttribute(NS_LITERAL_STRING("language"), language); + if (!language.IsEmpty()) { + isJavaScript = nsParserUtils::IsJavaScriptLanguage(language, &jsVersionString); + } // Check the type attribute to determine language and version. aElement->GetType(type); @@ -305,12 +311,6 @@ nsScriptLoader::ProcessScriptElement(nsIDOMHTMLScriptElement *aElement, } } - // Check the language attribute. - aElement->GetAttribute(NS_LITERAL_STRING("language"), language); - if (!language.IsEmpty()) { - isJavaScript = nsParserUtils::IsJavaScriptLanguage(language, &jsVersionString); - } - // If this isn't JavaScript, we don't know how to evaluate. // XXX How and where should we deal with other scripting languages?? if (!isJavaScript) {