The nsIPluginInstance interface is the minimum interface plugin developers need to support in order to implement a plugin instance. The plugin manager may QueryInterface for more specific types, e.g. nsILiveConnectPluginInstance. (Corresponds to NPP object.) The old NPP_Destroy call has been factored into two plugin instance methods: Stop -- called when the plugin instance is to be stopped (e.g. by displaying another plugin manager window, causing the page containing the plugin to become removed from the display). Destroy -- called once, before the plugin instance peer is to be destroyed. This method is used to destroy the plugin instance.
[uuid(ebe00f40-0199-11d2-815b-006008119d7a)]
Attributes
Returns a reference back to the plugin instance peer. This method is used whenever the browser needs to obtain the peer back from a plugin instance. The implementation of this method should be sure to increment the reference count on the peer by calling AddRef. @param aPeer - the resulting plugin instance peer @result - NS_OK if this operation was successful
Methods
Called to instruct the plugin instance to destroy itself. This is called when it become no longer possible to return to the plugin instance, either because the browser window's history list of pages is being trimmed, or because the window containing this page in the history is being closed. @result - NS_OK if this operation was successful
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
Handles an event. An nsIEventHandler can also get registered with with nsIPluginManager2::RegisterWindow and will be called whenever an event comes in for that window. 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
Initializes a newly created plugin instance, passing to it the plugin instance peer which it should use for all communication back to the browser. @param aPeer - the corresponding plugin instance peer @result - NS_OK if this operation was successful
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
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
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
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
Compare to:
