xpcIJSModuleLoader

Methods

import(aResourceURI, targetObj)

To be called from JavaScript only.

Synchronously loads and evaluates the js file located at
aResourceURI with a new, fully privileged global object.

If ‘targetObj’ is specified and equal to null, returns the
module’s global object. Otherwise (if ‘targetObj’ is not
specified, or ‘targetObj’ is != null) looks for a property
‘EXPORTED_SYMBOLS’ on the new global object. ‘EXPORTED_SYMBOLS’
is expected to be an array of strings identifying properties on
the global object. These properties will be installed as
properties on ‘targetObj’, or, if ‘targetObj’ is not specified,
on the caller’s global object. If ‘EXPORTED_SYMBOLS’ is not
found, an error is thrown.

The implementation maintains a hash of registryLocation->global obj.
Subsequent invocations of importModule with ‘registryLocation’
pointing to the same file will not cause the module to be re-evaluated,
but the symbols in EXPORTED_SYMBOLS will be exported into the
specified target object and the global object returned as above.

(This comment is duplicated to nsIXPCComponents_Utils.)

Parameters

resourceURI A resource:// URI string to load the module from.
targetObj the object to install the exported properties on. If this parameter is a primitive value, this method throws an exception.

Returns

the module code's global object.

importInto(aResourceURI, targetObj, cc)

Imports the JS module at aResourceURI to the JS object
‘targetObj’ (if != null) as described for importModule() and
returns the module’s global object.

unload(aResourceURI)

Unloads the JS module at aResourceURI. Existing references to the module
will continue to work but any subsequent import of the module will
reload it and give new reference. If the JS module hasn’t yet been imported
then this method will do nothing.

isModuleLoaded(aResourceURI)

Returns true if the js file located at ‘registryLocation’ location has
been loaded previously via the import method above. Returns false
otherwise.

Parameters

resourceURI A resource:// URI string representing the location of the js file to be checked if it is already loaded or not.

Returns

boolean, true if the js file has been loaded via import. false otherwise