diff --git a/dom/base/nsFrameMessageManager.cpp b/dom/base/nsFrameMessageManager.cpp index a4806e0adf01..e385c7997230 100644 --- a/dom/base/nsFrameMessageManager.cpp +++ b/dom/base/nsFrameMessageManager.cpp @@ -1788,7 +1788,8 @@ nsMessageManagerScriptExecutor::TryCacheLoadAndCompileScript( } } else { // We're going to run these against some non-global scope. - if (!JS::CompileForNonSyntacticScope(cx, options, srcBuf, &script)) { + options.setHasPollutedScope(true); + if (!JS::Compile(cx, options, srcBuf, &script)) { return; } } diff --git a/js/xpconnect/loader/mozJSSubScriptLoader.cpp b/js/xpconnect/loader/mozJSSubScriptLoader.cpp index 62cbbb9208e6..41082e39fcb6 100644 --- a/js/xpconnect/loader/mozJSSubScriptLoader.cpp +++ b/js/xpconnect/loader/mozJSSubScriptLoader.cpp @@ -146,10 +146,8 @@ PrepareScript(nsIURI* uri, } if (!reuseGlobal) { - if (JS_IsGlobalObject(targetObj)) - JS::Compile(cx, options, srcBuf, script); - else - JS::CompileForNonSyntacticScope(cx, options, srcBuf, script); + options.setHasPollutedScope(!JS_IsGlobalObject(targetObj)); + JS::Compile(cx, options, srcBuf, script); } else { AutoObjectVector scopeChain(cx); if (!JS_IsGlobalObject(targetObj) && @@ -164,11 +162,9 @@ PrepareScript(nsIURI* uri, // We only use lazy source when no special encoding is specified because // the lazy source loader doesn't know the encoding. if (!reuseGlobal) { - options.setSourceIsLazy(true); - if (JS_IsGlobalObject(targetObj)) - JS::Compile(cx, options, buf, len, script); - else - JS::CompileForNonSyntacticScope(cx, options, buf, len, script); + options.setSourceIsLazy(true) + .setHasPollutedScope(!JS_IsGlobalObject(targetObj)); + JS::Compile(cx, options, buf, len, script); } else { AutoObjectVector scopeChain(cx); if (!JS_IsGlobalObject(targetObj) &&