Non-standard
This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.
Warning: This object is only intended for code running with chrome privileges. Exposing the object to regular web code was a mistake. If you use this object on your web page, your site might break at any time! In current versions of Firefox only a few interfaces required for compatibility are still accessible. Don't use Components!
The Components object is the object through which XPConnect functionality is reflected into JavaScript. The Components object is actually a native instance of the nsIXPCComponents interface which is reflected into JavaScript as a top level object using XPConnect.
Some properties of Components require advanced privileges and may not work in web pages.
The Components object has the following members:
-
classes - array of classes by ContractID
-
classesByID - array of classes by CID
-
Constructor - constructor for constructor of components
-
Exception - constructor for XPConnect exceptions
-
ID - constructor for XPCOM nsIDs
-
interfaces - array of interfaces by interface name
-
interfacesByID - array of interfaces by IID
-
isSuccessCode - function to determine if a given result code is a success code
-
lastResult - result code of most recent XPConnect call
-
manager - the global XPCOM component manager
-
results - array of known result codes by name
-
returnCode - pending result for current call
-
stack - current JavaScript call stack
-
utils - provides access to several useful features
-
-
utils.atline -
Provides access to the value of the
atlineproperty in the JavaScript environment. -
utils.createObjectIn - Creates a new object in the scope of the specified object's compartment. May only be called from JavaScript code.
-
utils.evalInSandbox - Runs JavaScript code in a sandbox, usually used to run code with restricted privileges.
-
utils.forceGC - Forces a garbage collection cycle.
-
utils.getGlobalForObject - Returns the global object with which a given object is associated (through its prototype chain at birth, for example).
-
utils.getWeakReference - Gets a weak reference for the object passed in.
-
utils.import - Loads a JavaScript module into the current script, without sharing a scope.
-
utils.lookupMethod - Looks up a native (i.e. declared in the interface) method or property of an XPCOM object. Serves the same purpose as XPCNativeWrapper.
- utils.makeObjectPropsNormal
- Ensures that all functions come from the specified object's scope, and aren't cross-compartment wrappers. May only be called from JavaScript code.
-
utils.methodjitObsolete since Gecko 24.0 -
Provides access to the value of the
methodjitproperty in the JavaScript environment.
-
utils.methodjit_alwaysObsolete since Gecko 24.0 -
Provides access to the value of the
methodjit_alwaysproperty in the JavaScript environment.
-
utils.relimit -
Provides access to the value of the
relimitproperty in the JavaScript environment.
-
utils.reportError - Reports a JavaScript Error object to the Error Console.
-
utils.schedulePreciseGC - Requests that garbage collection occur sometime in the future when no JavaScript code is running; accepts a callback function to receive notification once collection is complete.
-
utils.setGCZeal() - Sets the GC zeal level for the context.
-
utils.strict -
Provides access to the value of the
strictproperty in the JavaScript environment.
-
utils.werror -
Provides access to the value of the
werrorproperty in the JavaScript environment.
-
utils.Sandbox -
Creates sandbox objects for use with
evalInSandbox. -
utils.xml -
Provides access to the value of the
xmlproperty in the JavaScript environment.
-