Bug 826166 - Remove an ability to set higher JS versions via language attribute. r=jonas

This commit is contained in:
Masatoshi Kimura 2013-02-05 06:37:21 +09:00
parent 67fcb5bebb
commit ac4bb091ac
4 changed files with 14 additions and 36 deletions

View File

@ -1979,7 +1979,7 @@ public:
* Returns true if the language name is a version of JavaScript and
* false otherwise
*/
static bool IsJavaScriptLanguage(const nsString& aName, uint32_t *aVerFlags);
static bool IsJavaScriptLanguage(const nsString& aName);
/**
* Returns the JSVersion for a string of the form '1.n', n = 0, ..., 8, and

View File

@ -800,33 +800,17 @@ nsContentUtils::GetPseudoAttributeValue(const nsString& aSource, nsIAtom *aName,
}
bool
nsContentUtils::IsJavaScriptLanguage(const nsString& aName, uint32_t *aFlags)
nsContentUtils::IsJavaScriptLanguage(const nsString& aName)
{
JSVersion version = JSVERSION_UNKNOWN;
if (aName.LowerCaseEqualsLiteral("javascript") ||
aName.LowerCaseEqualsLiteral("livescript") ||
aName.LowerCaseEqualsLiteral("mocha") ||
aName.LowerCaseEqualsLiteral("javascript1.0") ||
aName.LowerCaseEqualsLiteral("javascript1.1") ||
aName.LowerCaseEqualsLiteral("javascript1.2") ||
aName.LowerCaseEqualsLiteral("javascript1.3") ||
aName.LowerCaseEqualsLiteral("javascript1.4") ||
aName.LowerCaseEqualsLiteral("javascript1.5")) {
version = JSVERSION_DEFAULT;
} else if (aName.LowerCaseEqualsLiteral("javascript1.6")) {
version = JSVERSION_1_6;
} else if (aName.LowerCaseEqualsLiteral("javascript1.7")) {
version = JSVERSION_1_7;
} else if (aName.LowerCaseEqualsLiteral("javascript1.8")) {
version = JSVERSION_1_8;
}
if (version == JSVERSION_UNKNOWN) {
return false;
}
*aFlags = version;
return true;
return aName.LowerCaseEqualsLiteral("javascript") ||
aName.LowerCaseEqualsLiteral("livescript") ||
aName.LowerCaseEqualsLiteral("mocha") ||
aName.LowerCaseEqualsLiteral("javascript1.0") ||
aName.LowerCaseEqualsLiteral("javascript1.1") ||
aName.LowerCaseEqualsLiteral("javascript1.2") ||
aName.LowerCaseEqualsLiteral("javascript1.3") ||
aName.LowerCaseEqualsLiteral("javascript1.4") ||
aName.LowerCaseEqualsLiteral("javascript1.5");
}
JSVersion

View File

@ -458,14 +458,7 @@ nsScriptLoader::ProcessScriptElement(nsIScriptElement *aElement)
nsAutoString language;
scriptContent->GetAttr(kNameSpaceID_None, nsGkAtoms::language, language);
if (!language.IsEmpty()) {
// IE, Opera, etc. do not respect language version, so neither should
// we at this late date in the browser wars saga. Note that this change
// affects HTML but not XUL or SVG (but note also that XUL has its own
// code to check nsContentUtils::IsJavaScriptLanguage -- that's probably
// a separate bug, one we may not be able to fix short of XUL2). See
// bug 255895 (https://bugzilla.mozilla.org/show_bug.cgi?id=255895).
uint32_t dummy;
if (!nsContentUtils::IsJavaScriptLanguage(language, &dummy)) {
if (!nsContentUtils::IsJavaScriptLanguage(language)) {
return false;
}
}

View File

@ -890,7 +890,8 @@ XULContentSinkImpl::OpenScript(const PRUnichar** aAttributes,
// various version strings anyway. So we make no attempt to support
// languages other than JS for language=
nsAutoString lang(aAttributes[1]);
if (nsContentUtils::IsJavaScriptLanguage(lang, &version)) {
if (nsContentUtils::IsJavaScriptLanguage(lang)) {
version = JSVERSION_DEFAULT;
langID = nsIProgrammingLanguage::JAVASCRIPT;
}
}