Linux Mac OSX Windows
 An optional interface for embedding clients wishing to receive
 notifications for context menu events (e.g. generated by
 a user right-mouse clicking on a link). The embedder implements
 this interface on the web browser chrome object associated
 with the window that notifications are required for. When a context
 menu event, the browser will call this interface if present.
 
 @see nsIDOMNode
 @see nsIDOMEvent

 @status FROZEN
[scriptable, uuid(3478b6b0-3875-11d4-94ef-0020183bf181)]
interface nsIContextMenuListener : nsISupports

Constants

 Flag. No context. */
const unsigned long CONTEXT_NONE = 0
 Flag. Context is a link element. */
const unsigned long CONTEXT_LINK = 1
 Flag. Context is an image element. */
const unsigned long CONTEXT_IMAGE = 2
 Flag. Context is the whole document. */
const unsigned long CONTEXT_DOCUMENT = 4
 Flag. Context is a text area element. */
const unsigned long CONTEXT_TEXT = 8
 Flag. Context is an input element. */
const unsigned long CONTEXT_INPUT = 16

Methods

 Called when the browser receives a context menu event (e.g. user is right-mouse
 clicking somewhere on the document). The combination of flags, event and node
 provided in the call indicate where and what was clicked on.

 The following table describes what context flags and node combinations are
 possible.

 <TABLE>
 <TR><TD><B>aContextFlag</B></TD><TD>aNode</TD></TR>
 <TR><TD>CONTEXT_LINK</TD><TD>&lt;A&gt;</TD></TR>
 <TR><TD>CONTEXT_IMAGE</TD><TD>&lt;IMG&gt;</TD></TR>
 <TR><TD>CONTEXT_IMAGE | CONTEXT_LINK</TD><TD>&lt;IMG&gt;
       with an &lt;A&gt; as an ancestor</TD></TR>
 <TR><TD>CONTEXT_INPUT</TD><TD>&lt;INPUT&gt;</TD></TR>
 <TR><TD>CONTEXT_TEXT</TD><TD>&lt;TEXTAREA&gt;</TD></TR>
 <TR><TD>CONTEXT_DOCUMENT</TD><TD>&lt;HTML&gt;</TD></TR>
 </TABLE>

 @param aContextFlags Flags indicating the kind of context.
 @param aEvent The DOM context menu event.
 @param aNode The DOM node most relevant to the context.

 @return <CODE>NS_OK</CODE> always.
void onShowContextMenu(in unsigned long aContextFlags, in nsIDOMEvent aEvent, in nsIDOMNode aNode)