2012-05-29 3 views
0

J'essaie d'implémenter un plugin webkit. Je sais que le plugin webkit adopte le NPAPI, donc je regarde du site mozilla, le trouvant utile (pour moziila, c'est le plugin de Gecko, mais adopte également le NPAPI). Eh bien, il y a toujours un problème, par exemple, quand j'écris la méthode NPP_Destroy, j'ai besoin d'invoquer l'objet de libération de NPNetscapeFuncs. J'ai vérifié la définition NPNetscapeFuncs à partir du code source Android, le releaseobject est défini comme ceci:implémenter un plugin android webkit, où trouver le document officiel?

typedef struct _NPNetscapeFuncs { 
uint16_t size; 
uint16_t version; 

NPN_GetURLProcPtr geturl; 
NPN_PostURLProcPtr posturl; 
NPN_RequestReadProcPtr requestread; 
NPN_NewStreamProcPtr newstream; 
NPN_WriteProcPtr write; 
NPN_DestroyStreamProcPtr destroystream; 
NPN_StatusProcPtr status; 
NPN_UserAgentProcPtr uagent; 
NPN_MemAllocProcPtr memalloc; 
NPN_MemFreeProcPtr memfree; 
NPN_MemFlushProcPtr memflush; 
NPN_ReloadPluginsProcPtr reloadplugins; 
NPN_GetJavaEnvProcPtr getJavaEnv; 
NPN_GetJavaPeerProcPtr getJavaPeer; 
NPN_GetURLNotifyProcPtr geturlnotify; 
NPN_PostURLNotifyProcPtr posturlnotify; 
NPN_GetValueProcPtr getvalue; 
NPN_SetValueProcPtr setvalue; 
NPN_InvalidateRectProcPtr invalidaterect; 
NPN_InvalidateRegionProcPtr invalidateregion; 
NPN_ForceRedrawProcPtr forceredraw; 

NPN_GetStringIdentifierProcPtr getstringidentifier; 
NPN_GetStringIdentifiersProcPtr getstringidentifiers; 
NPN_GetIntIdentifierProcPtr getintidentifier; 
NPN_IdentifierIsStringProcPtr identifierisstring; 
NPN_UTF8FromIdentifierProcPtr utf8fromidentifier; 
NPN_IntFromIdentifierProcPtr intfromidentifier; 
NPN_CreateObjectProcPtr createobject; 
NPN_RetainObjectProcPtr retainobject; 
NPN_ReleaseObjectProcPtr releaseobject; 
NPN_InvokeProcPtr invoke; 
NPN_InvokeDefaultProcPtr invokeDefault; 
NPN_EvaluateProcPtr evaluate; 
NPN_GetPropertyProcPtr getproperty; 
NPN_SetPropertyProcPtr setproperty; 
NPN_RemovePropertyProcPtr removeproperty; 
NPN_HasPropertyProcPtr hasproperty; 
NPN_HasMethodProcPtr hasmethod; 
NPN_ReleaseVariantValueProcPtr releasevariantvalue; 
NPN_SetExceptionProcPtr setexception; 
NPN_PushPopupsEnabledStateProcPtr pushpopupsenabledstate; 
NPN_PopPopupsEnabledStateProcPtr poppopupsenabledstate; 
NPN_EnumerateProcPtr enumerate; 
NPN_PluginThreadAsyncCallProcPtr pluginthreadasynccall; 
NPN_ConstructProcPtr construct; 
NPN_GetValueForURLProcPtr getvalueforurl; 
NPN_SetValueForURLProcPtr setvalueforurl; 
NPN_GetAuthenticationInfoProcPtr getauthenticationinfo; 
NPN_ScheduleTimerProcPtr scheduletimer; 
NPN_UnscheduleTimerProcPtr unscheduletimer; 
NPN_PopUpContextMenuProcPtr popupcontextmenu; 
NPN_ConvertPointProcPtr convertpoint; 

} NPNetscapeFuncs;

Mais le NPN_ReleaseObjectProcPtr (en fait la plupart des fonctions) n'est pas déclaré dans mozilla. Donc, je ne peux pas obtenir d'aide à ce sujet.

Est-ce que j'ai référé le mauvais endroit dans mozilla pour l'aide? Quelqu'un sait-il cela? merci d'avance!

Répondre

Questions connexes