diff options
author | stuartmorgan@chromium.org <stuartmorgan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-15 17:52:49 +0000 |
---|---|---|
committer | stuartmorgan@chromium.org <stuartmorgan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-15 17:52:49 +0000 |
commit | 5eee979ee553e67c0967d612838902016767791e (patch) | |
tree | 92cb8b77f9a806c2f325bf6edee29ce98da38b88 | |
parent | 05fdd493b3821dec0b92220d9601b3f0d4a08b22 (diff) | |
download | chromium_src-5eee979ee553e67c0967d612838902016767791e.zip chromium_src-5eee979ee553e67c0967d612838902016767791e.tar.gz chromium_src-5eee979ee553e67c0967d612838902016767791e.tar.bz2 |
Sync to r31 of npapi-headers
Adds stubs (except where the lack of a function pointer is spec'd as an indication of lack of support) and TODOs where we don't yet implement new functions.
BUG=None
TEST=No behavioral changes
Review URL: http://codereview.chromium.org/4930001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66129 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | third_party/npapi/bindings/npapi.h | 27 | ||||
-rw-r--r-- | third_party/npapi/bindings/npfunctions.h | 20 | ||||
-rw-r--r-- | webkit/glue/plugins/plugin_host.cc | 17 |
3 files changed, 55 insertions, 9 deletions
diff --git a/third_party/npapi/bindings/npapi.h b/third_party/npapi/bindings/npapi.h index 3d31eab..e7bd1cf 100644 --- a/third_party/npapi/bindings/npapi.h +++ b/third_party/npapi/bindings/npapi.h @@ -130,7 +130,7 @@ /*----------------------------------------------------------------------*/ #define NP_VERSION_MAJOR 0 -#define NP_VERSION_MINOR 23 +#define NP_VERSION_MINOR 26 /* The OS/2 version of Netscape uses RC_DATA to define the @@ -252,6 +252,11 @@ typedef struct _NPSize int32_t height; } NPSize; +typedef enum { + NPFocusNext = 0, + NPFocusPrevious = 1 +} NPFocusDirection; + /* Return values for NPP_HandleEvent */ #define kNPEventNotHandled 0 #define kNPEventHandled 1 @@ -381,7 +386,9 @@ typedef enum { NPPVpluginNativeAccessibleAtkPlugId = 19, /* Checks to see if the plug-in would like the browser to load the "src" attribute. */ - NPPVpluginCancelSrcStream = 20 + NPPVpluginCancelSrcStream = 20, + + NPPVSupportsAdvancedKeyHandling = 21 #if defined(XP_MACOSX) /* Used for negotiating drawing models */ @@ -392,7 +399,7 @@ typedef enum { , NPPVpluginCoreAnimationLayer = 1003 #endif -#if defined(MOZ_PLATFORM_MAEMO) && (MOZ_PLATFORM_MAEMO == 5) +#if (MOZ_PLATFORM_MAEMO == 5) || (MOZ_PLATFORM_MAEMO == 6) , NPPVpluginWindowlessLocalBool = 2002 #endif } NPPVariable; @@ -422,7 +429,9 @@ typedef enum { NPNVSupportsWindowless = 17, - NPNVprivateModeBool = 18 + NPNVprivateModeBool = 18, + + NPNVsupportsAdvancedKeyHandling = 21 #if defined(XP_MACOSX) /* Used for negotiating drawing models */ @@ -439,7 +448,7 @@ typedef enum { #endif , NPNVsupportsCocoaBool = 3001 /* TRUE if the browser supports the Cocoa event model */ #endif -#if defined(MOZ_PLATFORM_MAEMO) && (MOZ_PLATFORM_MAEMO == 5) +#if (MOZ_PLATFORM_MAEMO == 5) || (MOZ_PLATFORM_MAEMO == 6) , NPNVSupportsWindowlessLocal = 2002 #endif } NPNVariable; @@ -773,6 +782,8 @@ enum NPEventType { #define NPVERS_HAS_URL_AND_AUTH_INFO 21 #define NPVERS_HAS_PRIVATE_MODE 22 #define NPVERS_MACOSX_HAS_COCOA_EVENTS 23 +#define NPVERS_HAS_ADVANCED_KEY_HANDLING 25 +#define NPVERS_HAS_URL_REDIRECT_HANDLING 26 /*----------------------------------------------------------------------*/ /* Function Prototypes */ @@ -817,6 +828,9 @@ void NP_LOADDS NPP_URLNotify(NPP instance, const char* url, NPReason reason, void* notifyData); NPError NP_LOADDS NPP_GetValue(NPP instance, NPPVariable variable, void *value); NPError NP_LOADDS NPP_SetValue(NPP instance, NPNVariable variable, void *value); +NPBool NP_LOADDS NPP_GotFocus(NPP instance, NPFocusDirection direction); +void NP_LOADDS NPP_LostFocus(NPP instance); +void NP_LOADDS NPP_URLRedirectNotify(NPP instance, const char* url, int32_t status, void* notifyData); /* NPN_* functions are provided by the navigator and called by the plugin. */ void NP_LOADDS NPN_Version(int* plugin_major, int* plugin_minor, @@ -876,6 +890,9 @@ uint32_t NP_LOADDS NPN_ScheduleTimer(NPP instance, uint32_t interval, NPBool void NP_LOADDS NPN_UnscheduleTimer(NPP instance, uint32_t timerID); NPError NP_LOADDS NPN_PopUpContextMenu(NPP instance, NPMenu* menu); NPBool NP_LOADDS NPN_ConvertPoint(NPP instance, double sourceX, double sourceY, NPCoordinateSpace sourceSpace, double *destX, double *destY, NPCoordinateSpace destSpace); +NPBool NP_LOADDS NPN_HandleEvent(NPP instance, void *event, NPBool handled); +NPBool NP_LOADDS NPN_UnfocusInstance(NPP instance, NPFocusDirection direction); +void NP_LOADDS NPN_URLRedirectResponse(NPP instance, void* notifyData, NPBool allow); #ifdef __cplusplus } /* end extern "C" */ diff --git a/third_party/npapi/bindings/npfunctions.h b/third_party/npapi/bindings/npfunctions.h index 05cf6a7..b479672 100644 --- a/third_party/npapi/bindings/npfunctions.h +++ b/third_party/npapi/bindings/npfunctions.h @@ -48,8 +48,8 @@ #include "npapi.h" #include "npruntime.h" -typedef void (* NP_LOADDS NPP_InitializeProcPtr)(); -typedef void (* NP_LOADDS NPP_ShutdownProcPtr)(); +typedef void (* NP_LOADDS NPP_InitializeProcPtr)(void); +typedef void (* NP_LOADDS NPP_ShutdownProcPtr)(void); typedef NPError (* NP_LOADDS NPP_NewProcPtr)(NPMIMEType pluginType, NPP instance, uint16_t mode, int16_t argc, char* argn[], char* argv[], NPSavedData* saved); typedef NPError (* NP_LOADDS NPP_DestroyProcPtr)(NPP instance, NPSavedData** save); typedef NPError (* NP_LOADDS NPP_SetWindowProcPtr)(NPP instance, NPWindow* window); @@ -65,6 +65,9 @@ typedef void (* NP_LOADDS NPP_URLNotifyProcPtr)(NPP instance, const char by the plugin on the way out. The browser is responsible for releasing. */ typedef NPError (* NP_LOADDS NPP_GetValueProcPtr)(NPP instance, NPPVariable variable, void *ret_value); typedef NPError (* NP_LOADDS NPP_SetValueProcPtr)(NPP instance, NPNVariable variable, void *value); +typedef NPBool (* NP_LOADDS NPP_GotFocusPtr)(NPP instance, NPFocusDirection direction); +typedef void (* NP_LOADDS NPP_LostFocusPtr)(NPP instance); +typedef void (* NP_LOADDS NPP_URLRedirectNotifyPtr)(NPP instance, const char* url, int32_t status, void* notifyData); typedef NPError (*NPN_GetValueProcPtr)(NPP instance, NPNVariable variable, void *ret_value); typedef NPError (*NPN_SetValueProcPtr)(NPP instance, NPPVariable variable, void *value); @@ -84,7 +87,7 @@ typedef void* (*NPN_MemAllocProcPtr)(uint32_t size); typedef void (*NPN_MemFreeProcPtr)(void* ptr); typedef uint32_t (*NPN_MemFlushProcPtr)(uint32_t size); typedef void (*NPN_ReloadPluginsProcPtr)(NPBool reloadPages); -typedef void* (*NPN_GetJavaEnvProcPtr)(); +typedef void* (*NPN_GetJavaEnvProcPtr)(void); typedef void* (*NPN_GetJavaPeerProcPtr)(NPP instance); typedef void (*NPN_InvalidateRectProcPtr)(NPP instance, NPRect *rect); typedef void (*NPN_InvalidateRegionProcPtr)(NPP instance, NPRegion region); @@ -120,6 +123,9 @@ typedef uint32_t (*NPN_ScheduleTimerPtr)(NPP instance, uint32_t interval, NP typedef void (*NPN_UnscheduleTimerPtr)(NPP instance, uint32_t timerID); typedef NPError (*NPN_PopUpContextMenuPtr)(NPP instance, NPMenu* menu); typedef NPBool (*NPN_ConvertPointPtr)(NPP instance, double sourceX, double sourceY, NPCoordinateSpace sourceSpace, double *destX, double *destY, NPCoordinateSpace destSpace); +typedef NPBool (*NPN_HandleEventPtr)(NPP instance, void *event, NPBool handled); +typedef NPBool (*NPN_UnfocusInstancePtr)(NPP instance, NPFocusDirection direction); +typedef void (*NPN_URLRedirectResponsePtr)(NPP instance, void* notifyData, NPBool allow); typedef struct _NPPluginFuncs { uint16_t size; @@ -138,6 +144,9 @@ typedef struct _NPPluginFuncs { void* javaClass; NPP_GetValueProcPtr getvalue; NPP_SetValueProcPtr setvalue; + NPP_GotFocusPtr gotfocus; + NPP_LostFocusPtr lostfocus; + NPP_URLRedirectNotifyPtr urlredirectnotify; } NPPluginFuncs; typedef struct _NPNetscapeFuncs { @@ -195,6 +204,9 @@ typedef struct _NPNetscapeFuncs { NPN_UnscheduleTimerPtr unscheduletimer; NPN_PopUpContextMenuPtr popupcontextmenu; NPN_ConvertPointPtr convertpoint; + NPN_HandleEventPtr handleevent; + NPN_UnfocusInstancePtr unfocusinstance; + NPN_URLRedirectResponsePtr urlredirectresponse; } NPNetscapeFuncs; #ifdef XP_MACOSX @@ -218,7 +230,7 @@ typedef struct _BPSupportedMIMETypes } BPSupportedMIMETypes; OSErr BP_GetSupportedMIMETypes(BPSupportedMIMETypes *mimeInfo, UInt32 flags); #define NP_GETMIMEDESCRIPTION_NAME "NP_GetMIMEDescription" -typedef const char* (*NP_GetMIMEDescriptionProcPtr)(); +typedef const char* (*NP_GetMIMEDescriptionProcPtr)(void); typedef OSErr (*BP_GetSupportedMIMETypesProcPtr)(BPSupportedMIMETypes*, UInt32); #endif diff --git a/webkit/glue/plugins/plugin_host.cc b/webkit/glue/plugins/plugin_host.cc index 7cf93ed..4cee55d 100644 --- a/webkit/glue/plugins/plugin_host.cc +++ b/webkit/glue/plugins/plugin_host.cc @@ -134,6 +134,10 @@ void PluginHost::InitializeHostFuncs() { host_funcs_.unscheduletimer = NPN_UnscheduleTimer; host_funcs_.popupcontextmenu = NPN_PopUpContextMenu; host_funcs_.convertpoint = NPN_ConvertPoint; + host_funcs_.handleevent = NPN_HandleEvent; + host_funcs_.unfocusinstance = NPN_UnfocusInstance; + // TODO: Implement redirect handling: http://crbug.com/63030 + host_funcs_.urlredirectresponse = NULL; } void PluginHost::PatchNPNetscapeFuncs(NPNetscapeFuncs* overrides) { @@ -1086,4 +1090,17 @@ NPBool NPN_ConvertPoint(NPP id, double sourceX, double sourceY, return false; } +NPBool NPN_HandleEvent(NPP id, void *event, NPBool handled) { + // TODO: Implement advanced key handling: http://crbug.com/46578 + NOTIMPLEMENTED(); + return false; +} + +NPBool NPN_UnfocusInstance(NPP id, NPFocusDirection direction) { + // TODO: Implement advanced key handling: http://crbug.com/46578 + NOTIMPLEMENTED(); + return false; +} + + } // extern "C" |