1
0
mirror of https://github.com/roytam1/UXP.git synced 2026-05-27 07:59:26 +00:00

Issue #618 - Remove eager instantiation

This backs out the stuff added in Bug 1295978.
Ref: BZ 1295978, 1388728
This commit is contained in:
Moonchild
2020-07-04 10:35:22 +00:00
committed by Roy Tam
parent b590ecea12
commit a754a7be26
6 changed files with 10 additions and 129 deletions
+1 -21
View File
@@ -34,7 +34,6 @@ NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END
NS_IMPL_CYCLE_COLLECTION_TRACE_BEGIN(ModuleScript)
NS_IMPL_CYCLE_COLLECTION_TRACE_JS_MEMBER_CALLBACK(mModuleRecord)
NS_IMPL_CYCLE_COLLECTION_TRACE_JS_MEMBER_CALLBACK(mException)
NS_IMPL_CYCLE_COLLECTION_TRACE_END
NS_IMPL_CYCLE_COLLECTING_ADDREF(ModuleScript)
@@ -44,13 +43,11 @@ ModuleScript::ModuleScript(ScriptLoader *aLoader, nsIURI* aBaseURL,
JS::Handle<JSObject*> aModuleRecord)
: mLoader(aLoader),
mBaseURL(aBaseURL),
mModuleRecord(aModuleRecord),
mInstantiationState(Uninstantiated)
mModuleRecord(aModuleRecord)
{
MOZ_ASSERT(mLoader);
MOZ_ASSERT(mBaseURL);
MOZ_ASSERT(mModuleRecord);
MOZ_ASSERT(mException.isUndefined());
// Make module's host defined field point to this module script object.
// This is cleared in the UnlinkModuleRecord().
@@ -68,7 +65,6 @@ ModuleScript::UnlinkModuleRecord()
JS::SetModuleHostDefinedField(mModuleRecord, JS::UndefinedValue());
}
mModuleRecord = nullptr;
mException.setUndefined();
}
ModuleScript::~ModuleScript()
@@ -80,21 +76,5 @@ ModuleScript::~ModuleScript()
DropJSObjects(this);
}
void
ModuleScript::SetInstantiationResult(JS::Handle<JS::Value> aMaybeException)
{
MOZ_ASSERT(mInstantiationState == Uninstantiated);
MOZ_ASSERT(mModuleRecord);
MOZ_ASSERT(mException.isUndefined());
if (aMaybeException.isUndefined()) {
mInstantiationState = Instantiated;
} else {
mModuleRecord = nullptr;
mException = aMaybeException;
mInstantiationState = Errored;
}
}
} // dom namespace
} // mozilla namespace