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
atline
property 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.methodjit
Obsolete since Gecko 24.0 -
Provides access to the value of the
methodjit
property in the JavaScript environment.
-
utils.methodjit_always
Obsolete since Gecko 24.0 -
Provides access to the value of the
methodjit_always
property in the JavaScript environment.
-
utils.relimit
-
Provides access to the value of the
relimit
property 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
strict
property in the JavaScript environment.
-
utils.werror
-
Provides access to the value of the
werror
property in the JavaScript environment.
-
utils.Sandbox
-
Creates sandbox objects for use with
evalInSandbox
. -
utils.xml
-
Provides access to the value of the
xml
property in the JavaScript environment.
-