Bug 1390106 - Stop using versioned scripts in dom. r?mrbkap
MozReview-Commit-ID: 89KvCoTAg3I
--- a/dom/base/nsFrameMessageManager.cpp
+++ b/dom/base/nsFrameMessageManager.cpp
@@ -1647,17 +1647,17 @@ nsMessageManagerScriptExecutor::TryCache
JS::SourceBufferHolder srcBuf(dataStringBuf, dataStringLength,
JS::SourceBufferHolder::GiveOwnership);
if (!dataStringBuf || dataStringLength == 0) {
return;
}
- JS::CompileOptions options(cx, JSVERSION_LATEST);
+ JS::CompileOptions options(cx, JSVERSION_DEFAULT);
options.setFileAndLine(url.get(), 1);
options.setNoScriptRval(true);
if (aRunInGlobalScope) {
if (!JS::Compile(cx, options, srcBuf, &script)) {
return;
}
// We're going to run these against some non-global scope.
@@ -1713,17 +1713,17 @@ nsMessageManagerScriptExecutor::InitChil
AutoSafeJSContext cx;
nsContentUtils::GetSecurityManager()->GetSystemPrincipal(getter_AddRefs(mPrincipal));
nsIXPConnect* xpc = nsContentUtils::XPConnect();
const uint32_t flags = nsIXPConnect::INIT_JS_STANDARD_CLASSES;
JS::CompartmentOptions options;
options.creationOptions().setSystemZone();
- options.behaviors().setVersion(JSVERSION_LATEST);
+ options.behaviors().setVersion(JSVERSION_DEFAULT);
if (xpc::SharedMemoryEnabled()) {
options.creationOptions().setSharedMemoryAndAtomicsEnabled(true);
}
nsCOMPtr<nsIXPConnectJSObjectHolder> globalHolder;
nsresult rv =
xpc->InitClassesWithNewWrappedGlobal(cx, aScope, mPrincipal,
--- a/dom/security/test/cors/browser_CORS-console-warnings.js
+++ b/dom/security/test/cors/browser_CORS-console-warnings.js
@@ -22,17 +22,17 @@ function on_new_message(event, new_messa
let text = elem.textContent;
if (text.match('Cross-Origin Request Blocked:')) {
ok(true, "message is: " + text);
messages_seen++;
}
}
}
-function do_cleanup() {
+function* do_cleanup() {
if (webconsole) {
webconsole.ui.off("new-messages", on_new_message);
}
yield unsetCookiePref();
}
/**
* Set e10s related preferences in the test environment.
--- a/dom/workers/RuntimeService.cpp
+++ b/dom/workers/RuntimeService.cpp
@@ -2015,17 +2015,17 @@ RuntimeService::Init()
MOZ_CRASH("Unable to connect PBackground actor for the main thread!");
}
}
// Initialize JSSettings.
if (!sDefaultJSSettings.gcSettings[0].IsSet()) {
sDefaultJSSettings.contextOptions = JS::ContextOptions();
sDefaultJSSettings.chrome.maxScriptRuntime = -1;
- sDefaultJSSettings.chrome.compartmentOptions.behaviors().setVersion(JSVERSION_LATEST);
+ sDefaultJSSettings.chrome.compartmentOptions.behaviors().setVersion(JSVERSION_DEFAULT);
sDefaultJSSettings.content.maxScriptRuntime = MAX_SCRIPT_RUN_TIME_SEC;
#ifdef JS_GC_ZEAL
sDefaultJSSettings.gcZealFrequency = JS_DEFAULT_ZEAL_FREQ;
sDefaultJSSettings.gcZeal = 0;
#endif
SetDefaultJSGCSettings(JSGC_MAX_BYTES, WORKER_DEFAULT_RUNTIME_HEAPSIZE);
SetDefaultJSGCSettings(JSGC_ALLOCATION_THRESHOLD,
WORKER_DEFAULT_ALLOCATION_THRESHOLD);
--- a/dom/workers/ScriptLoader.cpp
+++ b/dom/workers/ScriptLoader.cpp
@@ -1956,17 +1956,17 @@ ScriptExecutorRunnable::WorkerRun(JSCont
NS_ConvertUTF16toUTF8 filename(loadInfo.mURL);
JS::CompileOptions options(aCx);
options.setFileAndLine(filename.get(), 1)
.setNoScriptRval(true);
if (mScriptLoader.mWorkerScriptType == DebuggerScript) {
- options.setVersion(JSVERSION_LATEST);
+ options.setVersion(JSVERSION_DEFAULT);
}
MOZ_ASSERT(loadInfo.mMutedErrorFlag.isSome());
options.setMutedErrors(loadInfo.mMutedErrorFlag.valueOr(true));
JS::SourceBufferHolder srcBuf(loadInfo.mScriptTextBuf,
loadInfo.mScriptTextLength,
JS::SourceBufferHolder::GiveOwnership);
--- a/dom/xbl/nsXBLProtoImplField.cpp
+++ b/dom/xbl/nsXBLProtoImplField.cpp
@@ -429,17 +429,17 @@ nsXBLProtoImplField::InstallField(JS::Ha
NS_ENSURE_TRUE(scopeObject, NS_ERROR_OUT_OF_MEMORY);
AutoEntryScript aes(scopeObject, "XBL <field> initialization", true);
JSContext* cx = aes.cx();
JS::Rooted<JS::Value> result(cx);
JS::CompileOptions options(cx);
options.setFileAndLine(uriSpec.get(), mLineNumber)
- .setVersion(JSVERSION_LATEST);
+ .setVersion(JSVERSION_DEFAULT);
JS::AutoObjectVector scopeChain(cx);
if (!nsJSUtils::GetScopeChainForElement(cx, boundElement, scopeChain)) {
return NS_ERROR_OUT_OF_MEMORY;
}
rv = NS_OK;
{
nsJSUtils::ExecutionContext exec(cx, scopeObject);
exec.SetScopeChain(scopeChain);
--- a/dom/xbl/nsXBLProtoImplMethod.cpp
+++ b/dom/xbl/nsXBLProtoImplMethod.cpp
@@ -188,17 +188,17 @@ nsXBLProtoImplMethod::CompileMember(Auto
functionUri.Truncate(hash);
}
JSContext *cx = jsapi.cx();
JSAutoCompartment ac(cx, aClassObject);
JS::CompileOptions options(cx);
options.setFileAndLine(functionUri.get(),
uncompiledMethod->mBodyText.GetLineNumber())
- .setVersion(JSVERSION_LATEST);
+ .setVersion(JSVERSION_DEFAULT);
JS::Rooted<JSObject*> methodObject(cx);
JS::AutoObjectVector emptyVector(cx);
nsresult rv = nsJSUtils::CompileFunction(jsapi, emptyVector, options, cname,
paramCount,
const_cast<const char**>(args),
body, methodObject.address());
// Destroy our uncompiled method and delete our arg list.
--- a/dom/xbl/nsXBLProtoImplProperty.cpp
+++ b/dom/xbl/nsXBLProtoImplProperty.cpp
@@ -194,17 +194,17 @@ nsXBLProtoImplProperty::CompileMember(Au
bool deletedGetter = false;
nsXBLTextWithLineNumber *getterText = mGetter.GetUncompiled();
if (getterText && getterText->GetText()) {
nsDependentString getter(getterText->GetText());
if (!getter.IsEmpty()) {
JSAutoCompartment ac(cx, aClassObject);
JS::CompileOptions options(cx);
options.setFileAndLine(functionUri.get(), getterText->GetLineNumber())
- .setVersion(JSVERSION_LATEST);
+ .setVersion(JSVERSION_DEFAULT);
nsCString name = NS_LITERAL_CSTRING("get_") + NS_ConvertUTF16toUTF8(mName);
JS::Rooted<JSObject*> getterObject(cx);
JS::AutoObjectVector emptyVector(cx);
rv = nsJSUtils::CompileFunction(jsapi, emptyVector, options, name, 0,
nullptr, getter, getterObject.address());
delete getterText;
deletedGetter = true;
@@ -240,17 +240,17 @@ nsXBLProtoImplProperty::CompileMember(Au
bool deletedSetter = false;
nsXBLTextWithLineNumber *setterText = mSetter.GetUncompiled();
if (setterText && setterText->GetText()) {
nsDependentString setter(setterText->GetText());
if (!setter.IsEmpty()) {
JSAutoCompartment ac(cx, aClassObject);
JS::CompileOptions options(cx);
options.setFileAndLine(functionUri.get(), setterText->GetLineNumber())
- .setVersion(JSVERSION_LATEST);
+ .setVersion(JSVERSION_DEFAULT);
nsCString name = NS_LITERAL_CSTRING("set_") + NS_ConvertUTF16toUTF8(mName);
JS::Rooted<JSObject*> setterObject(cx);
JS::AutoObjectVector emptyVector(cx);
rv = nsJSUtils::CompileFunction(jsapi, emptyVector, options, name, 1,
gPropertyArgs, setter,
setterObject.address());
delete setterText;
--- a/dom/xbl/nsXBLPrototypeHandler.cpp
+++ b/dom/xbl/nsXBLPrototypeHandler.cpp
@@ -430,17 +430,17 @@ nsXBLPrototypeHandler::EnsureEventHandle
const char **argNames;
nsContentUtils::GetEventArgNames(kNameSpaceID_XBL, aName, false, &argCount,
&argNames);
// Compile the event handler in the xbl scope.
JSAutoCompartment ac(cx, scopeObject);
JS::CompileOptions options(cx);
options.setFileAndLine(bindingURI.get(), mLineNumber)
- .setVersion(JSVERSION_LATEST);
+ .setVersion(JSVERSION_DEFAULT);
JS::Rooted<JSObject*> handlerFun(cx);
JS::AutoObjectVector emptyVector(cx);
rv = nsJSUtils::CompileFunction(jsapi, emptyVector, options,
nsAtomCString(aName), argCount,
argNames, handlerText,
handlerFun.address());
NS_ENSURE_SUCCESS(rv, rv);
--- a/dom/xul/nsXULContentSink.cpp
+++ b/dom/xul/nsXULContentSink.cpp
@@ -830,17 +830,17 @@ XULContentSinkImpl::OpenTag(const char16
return NS_OK;
}
nsresult
XULContentSinkImpl::OpenScript(const char16_t** aAttributes,
const uint32_t aLineNumber)
{
bool isJavaScript = true;
- uint32_t version = JSVERSION_LATEST;
+ uint32_t version = JSVERSION_DEFAULT;
nsresult rv;
// Look for SRC attribute and look for a LANGUAGE attribute
nsAutoString src;
while (*aAttributes) {
const nsDependentString key(aAttributes[0]);
if (key.EqualsLiteral("src")) {
src.Assign(aAttributes[1]);
@@ -856,24 +856,24 @@ XULContentSinkImpl::OpenScript(const cha
return NS_OK;
}
// We do want the warning here
NS_ENSURE_SUCCESS(rv, rv);
}
if (nsContentUtils::IsJavascriptMIMEType(mimeType)) {
isJavaScript = true;
- version = JSVERSION_LATEST;
+ version = JSVERSION_DEFAULT;
// Get the version string, and ensure that JavaScript supports it.
nsAutoString versionName;
rv = parser.GetParameter("version", versionName);
if (NS_SUCCEEDED(rv)) {
- version = nsContentUtils::ParseJavascriptVersion(versionName);
+ version = JSVERSION_UNKNOWN;
} else if (rv != NS_ERROR_INVALID_ARG) {
return rv;
}
} else {
isJavaScript = false;
}
} else if (key.EqualsLiteral("language")) {
// Language is deprecated, and the impl in ScriptLoader ignores the