mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 826166 - Remove an ability to set higher JS versions via language attribute. r=jonas
This commit is contained in:
parent
67fcb5bebb
commit
ac4bb091ac
@ -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
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user