Gecko Plugin API Reference
From MDC
[edit] Preface
[edit] Plug-in Basics
- How Plug-ins Are Used
- How Plug-ins Work
- Understanding the Runtime Model
- Plug-in Detection
- Overview of Plug-in Structure
- Windowed and Windowless Plug-ins
- The Default Plug-in
- Using HTML to Display Plug-ins
- Plug-in References
[edit] Plug-in Development Overview
- Writing Plug-ins
- Registering Plug-ins
- Drawing a Plug-in Instance
- Handling Memory
- Sending and Receiving Streams
- Working with URLs
- Getting Version and UI Information
- Displaying Messages on the Status Line
- Making Plug-ins Scriptable
- Building Plug-ins
- Installing Plug-ins
- Plug-in Installation and the Windows Registry
[edit] Initialization and Destruction
[edit] Drawing and Event Handling
[edit] Streams
- Receiving a Stream
- Telling the Plug-in When a Stream Is Created
- Telling the Plug-in When a Stream Is Deleted
- Finding Out How Much Data the Plug-in Can Accept
- Writing the Stream to the Plug-in
- Sending the Stream in Random-Access Mode
- Sending the Stream in File Mode
- Sending a Stream
- Creating a Stream
- Pushing Data into the Stream
- Deleting the Stream
- Example of Sending a Stream
[edit] URLs
[edit] Memory
[edit] Version, UI, and Status Information
- Displaying a Status Line Message
- Getting Agent Information
- Getting the Current Version
- Finding Out if a Feature Exists
- Reloading a Plug-in
[edit] Plug-in Side Plug-in API
NPP_DestroyNPP_DestroyStreamNPP_GetValueNP_GetValueNPP_HandleEventNP_InitializeNPP_NewNPP_NewStreamNPP_PrintNPP_SetValueNPP_SetWindowNP_ShutdownNPP_StreamAsFileNPP_URLNotifyNPP_WriteNPP_WriteReady
[edit] Browser Side Plug-in API
This chapter describes methods in the plug-in API that are available for the browser. The names of all of these methods begin with NPN_ to indicate that they are implemented by the browser and called by the plug-in. For an overview of how these two sides of the plug-in API interact, see the How Plug-ins Work and Overview of Plug-in Structure sections in the introduction.
-
NPN_DestroyStream - Closes and deletes a stream.
-
NPN_ForceRedraw - Forces a paint message for a windowless plug-in.
-
NPN_GetURL - Asks the browser to create a stream for the specified URL.
-
NPN_GetURLNotify - Requests creation of a new stream with the contents of the specified URL; gets notification of the result.
-
NPN_GetValue - Allows the plug-in to query the browser for information.
-
NPN_InvalidateRect - Invalidates specified drawing area prior to repainting or refreshing a windowless plug-in.
-
NPN_InvalidateRegion - Invalidates specified drawing region prior to repainting or refreshing a windowless plug-in.
-
NPN_MemAlloc - Allocates memory from the browser's memory space.
-
NPN_MemFlush - Requests that the browser free a specified amount of memory.
-
NPN_MemFree - Deallocates a block of allocated memory.
-
NPN_NewStream - Requests the creation of a new data stream produced by the plug-in and consumed by the browser.
-
NPN_PluginThreadAsyncCall - Requires Gecko 1.9 Thread-safe way to request that the browser calls a plugin function on the browser or plugin thread (the thread on which the plugin was initiated).
-
NPN_PopPopupsEnabledState - Requires Gecko 1.8 Pops the popups-enabled state.
-
NPN_PostURL - Posts data to a URL.
-
NPN_PostURLNotify - Posts data to a URL, and receives notification of the result.
-
NPN_PushPopupsEnabledState - Requires Gecko 1.8 Pushes the popups-enabled state.
-
NPN_ReloadPlugins - Reloads all plug-ins in the Plugins directory.
-
NPN_RequestRead - Requests a range of bytes for a seekable stream.
-
NPN_SetValue - Sets windowless plug-in as transparent or opaque.
-
NPN_Status - Displays a message on the status line of the browser window.
-
NPN_UserAgent - Returns the browser's user agent field.
-
NPN_Version - Returns version information for the Plug-in API.
-
NPN_Write - Pushes data into a stream produced by the plug-in and consumed by the browser.
[edit] Scripting plugins
- How the DOM handles scripting
- Threading model
- Security model
- What's in the plugin code?
- Accessing browser objects from a plugin
- How to call plugin native methods
- The API extensions
[edit] Structures
NPAnyCallbackStructNPByteRangeNPEmbedPrintNPEventNPFullPrintNPPNP_PortNPPrintNPPrintCallbackStructNPRectNPRegionNPSavedDataNPSetWindowCallbackStructNPStreamNPWindow