[uuid(67d606f4-1d6d-4fe2-a2d6-10bda65788e1)]
interface nsIPluginInstance : nsISupports

Attributes

 Get the JavaScript context to this plugin instance.

 @param aJSContext - the resulting JavaScript context
 @result           - NS_OK if this operation was successful
readonly attribute JSContextPtr JSContext
 Returns the MIME type of the plugin instance. 

 (Corresponds to NPP_New's MIMEType argument.)

 @param aMIMEType - resulting MIME type
 @result          - NS_OK if this operation was successful
readonly attribute nsMIMEType MIMEType

          
readonly attribute AString formValue

          
attribute nsIPluginInstanceOwner owner

          
readonly attribute PRUint16 pluginAPIVersion

Methods


          
JSObjectPtr GetJSObject(in JSContextPtr cx)

          
void defineJavaProperties()
 
 Corresponds to NPN_ForceRedraw
void forceRedraw()
 Returns the value of a variable associated with the plugin instance.

 @param aVariable - the plugin instance variable to get
 @param aValue    - the address of where to store the resulting value
 @result          - NS_OK if this operation was successful
void getValue(in nsPluginInstanceVariable aVariable, in voidPtr aValue)
 Handles an event.

 Note that for Unix and Mac the nsPluginEvent structure is different
 from the old NPEvent structure -- it's no longer the native event
 record, but is instead a struct. This was done for future extensibility,
 and so that the Mac could receive the window argument too. For Windows
 and OS2, it's always been a struct, so there's no change for them.

 (Corresponds to NPP_HandleEvent.)

 @param aEvent   - the event to be handled
 @param aHandled - set to PR_TRUE if event was handled
 @result - NS_OK if this operation was successful
void handleEvent(in nsPluginEventPtr aEvent, out boolean aHandled)
 Initializes a newly created plugin instance.
 
 @param aOwner - the plugin instance owner
 @param aMime - the mime type for the instance
 @result      - NS_OK if this operation was successful
void initialize(in nsIPluginInstanceOwner aOwner, in nsMIMEType aMIMEType)
 Drop our reference to our owner.
void invalidateOwner()
 
 Corresponds to NPN_InvalidateRect
void invalidateRect(in nsPluginRectPtr aRect)
 
 Corresponds to NPN_InvalidateRegion
void invalidateRegion(in nsPluginRegion aRegion)
 This operation is called by the plugin instance when it wishes to send
 a stream of data to the browser. It constructs a new output stream to which
 the plugin may send the data. When complete, the Close and Release methods
 should be called on the output stream.

 (Corresponds to NPN_NewStream.)

 @param aType   - MIME type of the stream to create
 @param aTarget - the target window name to receive the data
 @param aResult - the resulting output stream
 @result        - NS_OK if this operation was successful
void newStreamFromPlugin(in nsMIMEType aType, in string aTarget, out nsIOutputStream aResult)
 Called to tell the plugin that the initial src/data stream is
 ready.  Expects the plugin to return a nsIPluginStreamListener.

 (Corresponds to NPP_NewStream.)

 @param aListener - listener the browser will use to give the plugin the data
 @result          - NS_OK if this operation was successful
void newStreamToPlugin(out nsIPluginStreamListener aListener)

          
void popPopupsEnabledState()
 Called to instruct the plugin instance to print itself to a printer.

 (Corresponds to NPP_Print.)

 @param aPlatformPrint - platform-specific printing information
 @result               - NS_OK if this operation was successful
void print(in nsPluginPrintPtr aPlatformPrint)

          
void pushPopupsEnabledState(in boolean aEnabled)
 Called when the window containing the plugin instance changes.

 (Corresponds to NPP_SetWindow.)

 @param aWindow - the plugin window structure
 @result        - NS_OK if this operation was successful
void setWindow(in nsPluginWindowPtr aWindow)
 This operation causes status information to be displayed on the window
 associated with the plugin instance. 

 (Corresponds to NPN_Status.)

 @param aMessage - the status message to display
 @result         - NS_OK if this operation was successful
void showStatus(in string aMessage)
 Called to instruct the plugin instance to start. This will be
 called after the plugin is first created and initialized, and
 may be called after the plugin is stopped (via the Stop method)
 if the plugin instance is returned to in the browser window's
 history.

 @result - NS_OK if this operation was successful
void start()
 Called to instruct the plugin instance to stop, thereby
 suspending its state.  This method will be called whenever the
 browser window goes on to display another page and the page
 containing the plugin goes into the window's history list.

 @result - NS_OK if this operation was successful
void stop()