WARNING: Most of this content (with the exception of the Mozilla 1.9 XPCOM reference) is very old, and can be expected to be out of date and possibly obsolete. For better XUL documentation, please visit the XUL hub at the Mozilla Developer Center.

xpcIJSModuleLoader

IID:89da3673-e699-4f26-9ed7-11a528011434
Inherits From:nsISupports

Methods

void import ( AUTF8String resourceURI ) [noscript] JSObjectPtr* importInto ( AUTF8String resourceURI , JSObjectPtr* targetObj , nsAXPCNativeCallContextPtr* cc )

void import ( AUTF8String resourceURI )

To be called from JavaScript only.

Synchronously loads and evaluates the js file located at 'registryLocation' 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.)

Arguments:
resourceURI: A resource:// URI string to load the module from.

JSObjectPtr* importInto ( AUTF8String resourceURI , JSObjectPtr* targetObj , nsAXPCNativeCallContextPtr* cc )

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

Arguments:
resourceURI
targetObj
cc

Reference documentation is generated from Mozilla's source.

Copyright © 1999-2006 XULPlanet.com