Bug 1440269 - Defer calling debugger onNewScript hook for preloaded modules r=nbp

This commit is contained in:
Jon Coppeard
2018-03-01 17:13:14 +00:00
parent ea6b9211e0
commit 9290341637
6 changed files with 46 additions and 1 deletions

View File

@@ -2074,7 +2074,9 @@ ScriptLoader::FillCompileOptionsForRequest(const AutoJSAPI&jsapi,
aOptions->setMutedErrors(!subsumes);
}
if (!aRequest->IsModuleRequest()) {
if (aRequest->IsModuleRequest()) {
aOptions->hideScriptFromDebugger = true;
} else {
JSContext* cx = jsapi.cx();
JS::Rooted<JS::Value> elementVal(cx);
MOZ_ASSERT(aRequest->mElement);
@@ -2245,6 +2247,10 @@ ScriptLoader::EvaluateScript(ScriptLoadRequest* aRequest)
rv = nsJSUtils::InitModuleSourceElement(cx, module, aRequest->mElement);
NS_ENSURE_SUCCESS(rv, rv);
moduleScript->SetSourceElementAssociated();
// The script is now ready to be exposed to the debugger.
JS::Rooted<JSScript*> script(cx, JS::GetModuleScript(module));
JS::ExposeScriptToDebugger(cx, script);
}
rv = nsJSUtils::ModuleEvaluate(cx, module);