IDL file: mozilla-central/source/dom/base/nsIMessageManager.idl
Inherits from: nsISyncMessageSender
This interface provides the environment for scripts that are loaded into content frames using the nsIFrameScriptLoader
interface. It enables these scripts to receive messages from the chrome process and send messages back to the chrome process.
Frame scripts can send either synchronous or asynchronous messages to the chrome process: for details on these messaging APIs see the documentation for the nsIContentFrameMessageManager
's parent classes nsISyncMessageSender
and nsIMessageSender
.
Methods
void dump(in DOMString aStr); |
DOMString atob(in DOMString aAsciiString); |
DOMString btoa(in DOMString aBase64Data); |
dump()
Prints the specified string to standard output.
Parameters
Name | Type | Description |
---|---|---|
aStr |
String | The message to log. |
atob()
Convert ASCII base64 data to binary data.
Parameters
Name | Type | Description |
---|---|---|
aAsciiString |
String | ASCII string to decode. |
Returns
String: the decoded binary data.
btoa()
Convert binary data to ASCII base64 data .
Parameters
Name | Type | Description |
---|---|---|
aBase64Data |
String | Binary data to encode as base64. |
Returns
String: the base64-encoded ASCII string.
Attributes
content
the current top level window in the frame or nsIDOMWindow
: null
. Read only.
docShell
the top level nsIDocShell
: docShell
or null
. Read only.
Examples
Once you obtain the conten frame messge manager, you can send messages to listeners who registered with Services.mm.addMessageListener
Get content message manager from browser
This could would run in a nsIDOMWindow
scope.
var aCFMM = gBrowser.selectedBrowser
._docShell.QueryInterface(Ci.nsIInterfaceRequestor).getInterface(Ci.nsIContentFrameMessageManager);
Get content message manager from content window
window
here is a HTML window or any window inside a tab, this code would run from a framescript.
var aCFMM = window
.QueryInterface(Ci.nsIInterfaceRequestor)
.getInterface(Ci.nsIDocShell)
.QueryInterface(Ci.nsIInterfaceRequestor)
.getInterface(Ci.nsIContentFrameMessageManager);