FreeBSD Bugzilla – Attachment 194529 Details for
Bug 229242
java/icedtea-web: broken after remove of libxul
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
icedtead-web.diff
icedtea-web.diff (text/plain), 64.73 KB, created by
Tobias Kortkamp
on 2018-06-23 06:57:16 UTC
(
hide
)
Description:
icedtead-web.diff
Filename:
MIME Type:
Creator:
Tobias Kortkamp
Created:
2018-06-23 06:57:16 UTC
Size:
64.73 KB
patch
obsolete
>Index: Makefile >=================================================================== >--- Makefile (revision 473111) >+++ Makefile (working copy) >@@ -2,7 +2,7 @@ > > PORTNAME= icedtea-web > PORTVERSION= 1.6.2 >-PORTREVISION= 4 >+PORTREVISION= 5 > CATEGORIES= java www > MASTER_SITES= http://icedtea.wildebeest.org/download/source/ \ > http://icedtea.classpath.org/download/source/ >@@ -42,9 +42,11 @@ > > TEST_TARGET= check > >-OPTIONS_DEFINE= DOCS RHINO TAGSOUP >+OPTIONS_DEFINE= DOCS PLUGIN RHINO TAGSOUP >+OPTIONS_DEFAULT=PLUGIN > OPTIONS_SUB= yes > >+PLUGIN_DESC= Enable the browser plug-in > RHINO_DESC= Add support for Proxy Auto Config files > TAGSOUP_DESC= Enable cleaning up of malformed JNLP files > >@@ -61,6 +63,16 @@ > TAGSOUP_VARS= TAGSOUP_JAR="${JAVALIBDIR}/tagsoup.jar" > TAGSOUP_VARS_OFF= TAGSOUP_JAR=no > >+PLUGIN_CONFIGURE_ENABLE=plugin >+PLUGIN_CONFIGURE_ENV= MOZILLA_CFLAGS="-I${FILESDIR} -DXP_UNIX" \ >+ MOZILLA_LIBS="-I${LOCALBASE}/lib" >+PLUGIN_PORTDOCS= plugin >+PLUGIN_TEST_TARGET= plugin-tests >+PLUGIN_USE= GNOME=glib20 >+PLUGIN_USES= webplugin:native >+PLUGIN_VARS= WEBPLUGIN_DIR=${PREFIX}/lib >+PLUGIN_VARS+= WEBPLUGIN_FILES=IcedTeaPlugin.so >+ > HAMCREST_JAR= ${JAVALIBDIR}/hamcrest.jar > JUNIT_JAR= ${JAVALIBDIR}/junit.jar > >Index: files/npapi.h >=================================================================== >--- files/npapi.h (nonexistent) >+++ files/npapi.h (working copy) >@@ -0,0 +1,889 @@ >+/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ >+/* This Source Code Form is subject to the terms of the Mozilla Public >+ * License, v. 2.0. If a copy of the MPL was not distributed with this >+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ >+ >+#ifndef npapi_h_ >+#define npapi_h_ >+ >+#include "nptypes.h" >+ >+#if defined(_WIN32) && !defined(__SYMBIAN32__) >+#include <windef.h> >+#ifndef XP_WIN >+#define XP_WIN 1 >+#endif >+#endif >+ >+#if defined(__SYMBIAN32__) >+#ifndef XP_SYMBIAN >+#define XP_SYMBIAN 1 >+#undef XP_WIN >+#endif >+#endif >+ >+#if defined(__APPLE_CC__) && !defined(XP_UNIX) >+#ifndef XP_MACOSX >+#define XP_MACOSX 1 >+#endif >+#endif >+ >+#if defined(XP_MACOSX) && defined(__LP64__) >+#define NP_NO_QUICKDRAW >+#define NP_NO_CARBON >+#endif >+ >+#if defined(XP_MACOSX) >+#include <ApplicationServices/ApplicationServices.h> >+#include <OpenGL/OpenGL.h> >+#ifndef NP_NO_CARBON >+#include <Carbon/Carbon.h> >+#endif >+#endif >+ >+#if defined(XP_UNIX) >+#include <stdio.h> >+#if defined(MOZ_X11) >+#include <X11/Xlib.h> >+#include <X11/Xutil.h> >+#endif >+#endif >+ >+#if defined(XP_SYMBIAN) >+#include <QEvent> >+#include <QRegion> >+#endif >+ >+/*----------------------------------------------------------------------*/ >+/* Plugin Version Constants */ >+/*----------------------------------------------------------------------*/ >+ >+#define NP_VERSION_MAJOR 0 >+#define NP_VERSION_MINOR 29 >+ >+ >+/* The OS/2 version of Netscape uses RC_DATA to define the >+ mime types, file extensions, etc that are required. >+ Use a vertical bar to separate types, end types with \0. >+ FileVersion and ProductVersion are 32bit ints, all other >+ entries are strings that MUST be terminated with a \0. >+ >+AN EXAMPLE: >+ >+RCDATA NP_INFO_ProductVersion { 1,0,0,1,} >+ >+RCDATA NP_INFO_MIMEType { "video/x-video|", >+ "video/x-flick\0" } >+RCDATA NP_INFO_FileExtents { "avi|", >+ "flc\0" } >+RCDATA NP_INFO_FileOpenName{ "MMOS2 video player(*.avi)|", >+ "MMOS2 Flc/Fli player(*.flc)\0" } >+ >+RCDATA NP_INFO_FileVersion { 1,0,0,1 } >+RCDATA NP_INFO_CompanyName { "Netscape Communications\0" } >+RCDATA NP_INFO_FileDescription { "NPAVI32 Extension DLL\0" >+RCDATA NP_INFO_InternalName { "NPAVI32\0" ) >+RCDATA NP_INFO_LegalCopyright { "Copyright Netscape Communications \251 1996\0" >+RCDATA NP_INFO_OriginalFilename { "NVAPI32.DLL" } >+RCDATA NP_INFO_ProductName { "NPAVI32 Dynamic Link Library\0" } >+*/ >+/* RC_DATA types for version info - required */ >+#define NP_INFO_ProductVersion 1 >+#define NP_INFO_MIMEType 2 >+#define NP_INFO_FileOpenName 3 >+#define NP_INFO_FileExtents 4 >+/* RC_DATA types for version info - used if found */ >+#define NP_INFO_FileDescription 5 >+#define NP_INFO_ProductName 6 >+/* RC_DATA types for version info - optional */ >+#define NP_INFO_CompanyName 7 >+#define NP_INFO_FileVersion 8 >+#define NP_INFO_InternalName 9 >+#define NP_INFO_LegalCopyright 10 >+#define NP_INFO_OriginalFilename 11 >+ >+#ifndef RC_INVOKED >+ >+/*----------------------------------------------------------------------*/ >+/* Definition of Basic Types */ >+/*----------------------------------------------------------------------*/ >+ >+typedef unsigned char NPBool; >+typedef int16_t NPError; >+typedef int16_t NPReason; >+typedef char* NPMIMEType; >+ >+/*----------------------------------------------------------------------*/ >+/* Structures and definitions */ >+/*----------------------------------------------------------------------*/ >+ >+#if !defined(__LP64__) >+#if defined(XP_MACOSX) >+#pragma options align=mac68k >+#endif >+#endif /* __LP64__ */ >+ >+/* >+ * NPP is a plug-in's opaque instance handle >+ */ >+typedef struct _NPP >+{ >+ void* pdata; /* plug-in private data */ >+ void* ndata; /* netscape private data */ >+} NPP_t; >+ >+typedef NPP_t* NPP; >+ >+typedef struct _NPStream >+{ >+ void* pdata; /* plug-in private data */ >+ void* ndata; /* netscape private data */ >+ const char* url; >+ uint32_t end; >+ uint32_t lastmodified; >+ void* notifyData; >+ const char* headers; /* Response headers from host. >+ * Exists only for >= NPVERS_HAS_RESPONSE_HEADERS. >+ * Used for HTTP only; nullptr for non-HTTP. >+ * Available from NPP_NewStream onwards. >+ * Plugin should copy this data before storing it. >+ * Includes HTTP status line and all headers, >+ * preferably verbatim as received from server, >+ * headers formatted as in HTTP ("Header: Value"), >+ * and newlines (\n, NOT \r\n) separating lines. >+ * Terminated by \n\0 (NOT \n\n\0). */ >+} NPStream; >+ >+typedef struct _NPByteRange >+{ >+ int32_t offset; /* negative offset means from the end */ >+ uint32_t length; >+ struct _NPByteRange* next; >+} NPByteRange; >+ >+typedef struct _NPSavedData >+{ >+ int32_t len; >+ void* buf; >+} NPSavedData; >+ >+typedef struct _NPRect >+{ >+ uint16_t top; >+ uint16_t left; >+ uint16_t bottom; >+ uint16_t right; >+} NPRect; >+ >+typedef struct _NPSize >+{ >+ int32_t width; >+ int32_t height; >+} NPSize; >+ >+typedef enum { >+ NPFocusNext = 0, >+ NPFocusPrevious = 1 >+} NPFocusDirection; >+ >+/* These formats describe the format in the memory byte-order. This means if >+ * a 32-bit value of a pixel is viewed on a little-endian system the layout will >+ * be 0xAARRGGBB. The Alpha channel will be stored in the most significant >+ * bits. */ >+typedef enum { >+ /* 32-bit per pixel 8-bit per channel - premultiplied alpha */ >+ NPImageFormatBGRA32 = 0x1, >+ /* 32-bit per pixel 8-bit per channel - 1 unused channel */ >+ NPImageFormatBGRX32 = 0x2 >+} NPImageFormat; >+ >+typedef struct _NPAsyncSurface >+{ >+ uint32_t version; >+ NPSize size; >+ NPImageFormat format; >+ union { >+ struct { >+ uint32_t stride; >+ void *data; >+ } bitmap; >+#if defined(XP_WIN) >+ HANDLE sharedHandle; >+#endif >+ }; >+} NPAsyncSurface; >+ >+/* Return values for NPP_HandleEvent */ >+#define kNPEventNotHandled 0 >+#define kNPEventHandled 1 >+/* Exact meaning must be spec'd in event model. */ >+#define kNPEventStartIME 2 >+ >+#if defined(XP_UNIX) >+/* >+ * Unix specific structures and definitions >+ */ >+ >+/* >+ * Callback Structures. >+ * >+ * These are used to pass additional platform specific information. >+ */ >+enum { >+ NP_SETWINDOW = 1, >+ NP_PRINT >+}; >+ >+typedef struct >+{ >+ int32_t type; >+} NPAnyCallbackStruct; >+ >+typedef struct >+{ >+ int32_t type; >+#if defined(MOZ_X11) >+ Display* display; >+ Visual* visual; >+ Colormap colormap; >+ unsigned int depth; >+#endif >+} NPSetWindowCallbackStruct; >+ >+typedef struct >+{ >+ int32_t type; >+ FILE* fp; >+} NPPrintCallbackStruct; >+ >+#endif /* XP_UNIX */ >+ >+typedef enum { >+ NPDrawingModelDUMMY >+#if defined(XP_MACOSX) >+#ifndef NP_NO_QUICKDRAW >+ , NPDrawingModelQuickDraw = 0 >+#endif >+ , NPDrawingModelCoreGraphics = 1 >+ , NPDrawingModelOpenGL = 2 >+ , NPDrawingModelCoreAnimation = 3 >+ , NPDrawingModelInvalidatingCoreAnimation = 4 >+#endif >+#if defined(XP_WIN) >+ , NPDrawingModelSyncWin = 5 >+#endif >+#if defined(MOZ_X11) >+ , NPDrawingModelSyncX = 6 >+#endif >+ , NPDrawingModelAsyncBitmapSurface = 7 >+#if defined(XP_WIN) >+ , NPDrawingModelAsyncWindowsDXGISurface = 8 >+#endif >+} NPDrawingModel; >+ >+#ifdef XP_MACOSX >+typedef enum { >+#ifndef NP_NO_CARBON >+ NPEventModelCarbon = 0, >+#endif >+ NPEventModelCocoa = 1 >+} NPEventModel; >+#endif >+ >+/* >+ * The following masks are applied on certain platforms to NPNV and >+ * NPPV selectors that pass around pointers to COM interfaces. Newer >+ * compilers on some platforms may generate vtables that are not >+ * compatible with older compilers. To prevent older plugins from >+ * not understanding a new browser's ABI, these masks change the >+ * values of those selectors on those platforms. To remain backwards >+ * compatible with different versions of the browser, plugins can >+ * use these masks to dynamically determine and use the correct C++ >+ * ABI that the browser is expecting. This does not apply to Windows >+ * as Microsoft's COM ABI will likely not change. >+ */ >+ >+#define NP_ABI_GCC3_MASK 0x10000000 >+/* >+ * gcc 3.x generated vtables on UNIX and OSX are incompatible with >+ * previous compilers. >+ */ >+#if (defined(XP_UNIX) && defined(__GNUC__) && (__GNUC__ >= 3)) >+#define _NP_ABI_MIXIN_FOR_GCC3 NP_ABI_GCC3_MASK >+#else >+#define _NP_ABI_MIXIN_FOR_GCC3 0 >+#endif >+ >+#if defined(XP_MACOSX) >+#define NP_ABI_MACHO_MASK 0x01000000 >+#define _NP_ABI_MIXIN_FOR_MACHO NP_ABI_MACHO_MASK >+#else >+#define _NP_ABI_MIXIN_FOR_MACHO 0 >+#endif >+ >+#define NP_ABI_MASK (_NP_ABI_MIXIN_FOR_GCC3 | _NP_ABI_MIXIN_FOR_MACHO) >+ >+/* >+ * List of variable names for which NPP_GetValue shall be implemented >+ */ >+typedef enum { >+ NPPVpluginNameString = 1, >+ NPPVpluginDescriptionString, >+ NPPVpluginWindowBool, >+ NPPVpluginTransparentBool, >+ NPPVjavaClass, >+ NPPVpluginWindowSize, >+ NPPVpluginTimerInterval, >+ NPPVpluginScriptableInstance = (10 | NP_ABI_MASK), >+ NPPVpluginScriptableIID = 11, >+ NPPVjavascriptPushCallerBool = 12, >+ NPPVpluginKeepLibraryInMemory = 13, >+ NPPVpluginNeedsXEmbed = 14, >+ >+ /* Get the NPObject for scripting the plugin. Introduced in NPAPI minor version 14. >+ */ >+ NPPVpluginScriptableNPObject = 15, >+ >+ /* Get the plugin value (as \0-terminated UTF-8 string data) for >+ * form submission if the plugin is part of a form. Use >+ * NPN_MemAlloc() to allocate memory for the string data. Introduced >+ * in NPAPI minor version 15. >+ */ >+ NPPVformValue = 16, >+ >+ NPPVpluginUrlRequestsDisplayedBool = 17, >+ >+ /* Checks if the plugin is interested in receiving the http body of >+ * all http requests (including failed ones, http status != 200). >+ */ >+ NPPVpluginWantsAllNetworkStreams = 18, >+ >+ /* Browsers can retrieve a native ATK accessibility plug ID via this variable. */ >+ NPPVpluginNativeAccessibleAtkPlugId = 19, >+ >+ /* Checks to see if the plug-in would like the browser to load the "src" attribute. */ >+ NPPVpluginCancelSrcStream = 20, >+ >+ NPPVsupportsAdvancedKeyHandling = 21, >+ >+ NPPVpluginUsesDOMForCursorBool = 22, >+ >+ /* Used for negotiating drawing models */ >+ NPPVpluginDrawingModel = 1000 >+#if defined(XP_MACOSX) >+ /* Used for negotiating event models */ >+ , NPPVpluginEventModel = 1001 >+ /* In the NPDrawingModelCoreAnimation drawing model, the browser asks the plug-in for a Core Animation layer. */ >+ , NPPVpluginCoreAnimationLayer = 1003 >+#endif >+ /* Notification that the plugin just started or stopped playing audio */ >+ , NPPVpluginIsPlayingAudio = 4000 >+ >+} NPPVariable; >+ >+/* >+ * List of variable names for which NPN_GetValue should be implemented. >+ */ >+typedef enum { >+ NPNVxDisplay = 1, >+ NPNVxtAppContext, >+ NPNVnetscapeWindow, >+ NPNVjavascriptEnabledBool, >+ NPNVasdEnabledBool, >+ NPNVisOfflineBool, >+ >+ NPNVserviceManager = (10 | NP_ABI_MASK), >+ NPNVDOMElement = (11 | NP_ABI_MASK), >+ NPNVDOMWindow = (12 | NP_ABI_MASK), >+ NPNVToolkit = (13 | NP_ABI_MASK), >+ NPNVSupportsXEmbedBool = 14, >+ >+ /* Get the NPObject wrapper for the browser window. */ >+ NPNVWindowNPObject = 15, >+ >+ /* Get the NPObject wrapper for the plugins DOM element. */ >+ NPNVPluginElementNPObject = 16, >+ >+ NPNVSupportsWindowless = 17, >+ >+ NPNVprivateModeBool = 18, >+ >+ NPNVsupportsAdvancedKeyHandling = 21, >+ >+ NPNVdocumentOrigin = 22, >+ >+ NPNVpluginDrawingModel = 1000 /* Get the current drawing model (NPDrawingModel) */ >+#if defined(XP_MACOSX) >+ , NPNVcontentsScaleFactor = 1001 >+#ifndef NP_NO_QUICKDRAW >+ , NPNVsupportsQuickDrawBool = 2000 >+#endif >+ , NPNVsupportsCoreGraphicsBool = 2001 >+ , NPNVsupportsOpenGLBool = 2002 >+ , NPNVsupportsCoreAnimationBool = 2003 >+ , NPNVsupportsInvalidatingCoreAnimationBool = 2004 >+#endif >+ , NPNVsupportsAsyncBitmapSurfaceBool = 2007 >+#if defined(XP_WIN) >+ , NPNVsupportsAsyncWindowsDXGISurfaceBool = 2008 >+ , NPNVpreferredDXGIAdapter = 2009 >+#endif >+#if defined(XP_MACOSX) >+#ifndef NP_NO_CARBON >+ , NPNVsupportsCarbonBool = 3000 /* TRUE if the browser supports the Carbon event model */ >+#endif >+ , NPNVsupportsCocoaBool = 3001 /* TRUE if the browser supports the Cocoa event model */ >+ , NPNVsupportsUpdatedCocoaTextInputBool = 3002 /* TRUE if the browser supports the updated >+ Cocoa text input specification. */ >+#endif >+ , NPNVmuteAudioBool = 4000 /* Request that the browser wants to mute or unmute the plugin */ >+#if defined(XP_MACOSX) >+ , NPNVsupportsCompositingCoreAnimationPluginsBool = 74656 /* TRUE if the browser supports >+ CA model compositing */ >+#endif >+} NPNVariable; >+ >+typedef enum { >+ NPNURLVCookie = 501, >+ NPNURLVProxy >+} NPNURLVariable; >+ >+/* >+ * The type of Toolkit the widgets use >+ */ >+typedef enum { >+ NPNVGtk12 = 1, >+ NPNVGtk2 >+} NPNToolkitType; >+ >+/* >+ * The type of a NPWindow - it specifies the type of the data structure >+ * returned in the window field. >+ */ >+typedef enum { >+ NPWindowTypeWindow = 1, >+ NPWindowTypeDrawable >+} NPWindowType; >+ >+typedef struct _NPWindow >+{ >+ void* window; /* Platform specific window handle */ >+ /* OS/2: x - Position of bottom left corner */ >+ /* OS/2: y - relative to visible netscape window */ >+ int32_t x; /* Position of top left corner relative */ >+ int32_t y; /* to a netscape page. */ >+ uint32_t width; /* Maximum window size */ >+ uint32_t height; >+ NPRect clipRect; /* Clipping rectangle in port coordinates */ >+#if (defined(XP_UNIX) || defined(XP_SYMBIAN)) && !defined(XP_MACOSX) >+ void * ws_info; /* Platform-dependent additional data */ >+#endif /* XP_UNIX */ >+ NPWindowType type; /* Is this a window or a drawable? */ >+} NPWindow; >+ >+typedef struct _NPImageExpose >+{ >+ char* data; /* image pointer */ >+ int32_t stride; /* Stride of data image pointer */ >+ int32_t depth; /* Depth of image pointer */ >+ int32_t x; /* Expose x */ >+ int32_t y; /* Expose y */ >+ uint32_t width; /* Expose width */ >+ uint32_t height; /* Expose height */ >+ NPSize dataSize; /* Data buffer size */ >+ float translateX; /* translate X matrix value */ >+ float translateY; /* translate Y matrix value */ >+ float scaleX; /* scale X matrix value */ >+ float scaleY; /* scale Y matrix value */ >+} NPImageExpose; >+ >+typedef struct _NPFullPrint >+{ >+ NPBool pluginPrinted;/* Set TRUE if plugin handled fullscreen printing */ >+ NPBool printOne; /* TRUE if plugin should print one copy to default >+ printer */ >+ void* platformPrint; /* Platform-specific printing info */ >+} NPFullPrint; >+ >+typedef struct _NPEmbedPrint >+{ >+ NPWindow window; >+ void* platformPrint; /* Platform-specific printing info */ >+} NPEmbedPrint; >+ >+typedef struct _NPPrint >+{ >+ uint16_t mode; /* NP_FULL or NP_EMBED */ >+ union >+ { >+ NPFullPrint fullPrint; /* if mode is NP_FULL */ >+ NPEmbedPrint embedPrint; /* if mode is NP_EMBED */ >+ } print; >+} NPPrint; >+ >+#if defined(XP_MACOSX) >+#ifndef NP_NO_CARBON >+typedef EventRecord NPEvent; >+#endif >+#elif defined(XP_SYMBIAN) >+typedef QEvent NPEvent; >+#elif defined(XP_WIN) >+typedef struct _NPEvent >+{ >+ uint16_t event; >+ uintptr_t wParam; >+ uintptr_t lParam; >+} NPEvent; >+#elif defined(XP_UNIX) && defined(MOZ_X11) >+typedef XEvent NPEvent; >+#else >+typedef void* NPEvent; >+#endif >+ >+#if defined(XP_MACOSX) >+typedef void* NPRegion; >+#ifndef NP_NO_QUICKDRAW >+typedef RgnHandle NPQDRegion; >+#endif >+typedef CGPathRef NPCGRegion; >+#elif defined(XP_WIN) >+typedef HRGN NPRegion; >+#elif defined(XP_UNIX) && defined(MOZ_X11) >+typedef Region NPRegion; >+#elif defined(XP_SYMBIAN) >+typedef QRegion* NPRegion; >+#else >+typedef void *NPRegion; >+#endif >+ >+typedef struct _NPNSString NPNSString; >+typedef struct _NPNSWindow NPNSWindow; >+typedef struct _NPNSMenu NPNSMenu; >+ >+#if defined(XP_MACOSX) >+typedef NPNSMenu NPMenu; >+#else >+typedef void *NPMenu; >+#endif >+ >+typedef enum { >+ NPCoordinateSpacePlugin = 1, >+ NPCoordinateSpaceWindow, >+ NPCoordinateSpaceFlippedWindow, >+ NPCoordinateSpaceScreen, >+ NPCoordinateSpaceFlippedScreen >+} NPCoordinateSpace; >+ >+#if defined(XP_MACOSX) >+ >+#ifndef NP_NO_QUICKDRAW >+typedef struct NP_Port >+{ >+ CGrafPtr port; >+ int32_t portx; /* position inside the topmost window */ >+ int32_t porty; >+} NP_Port; >+#endif /* NP_NO_QUICKDRAW */ >+ >+/* >+ * NP_CGContext is the type of the NPWindow's 'window' when the plugin specifies NPDrawingModelCoreGraphics >+ * as its drawing model. >+ */ >+ >+typedef struct NP_CGContext >+{ >+ CGContextRef context; >+ void *window; /* A WindowRef under the Carbon event model. */ >+} NP_CGContext; >+ >+/* >+ * NP_GLContext is the type of the NPWindow's 'window' when the plugin specifies NPDrawingModelOpenGL as its >+ * drawing model. >+ */ >+ >+typedef struct NP_GLContext >+{ >+ CGLContextObj context; >+#ifdef NP_NO_CARBON >+ NPNSWindow *window; >+#else >+ void *window; /* Can be either an NSWindow or a WindowRef depending on the event model */ >+#endif >+} NP_GLContext; >+ >+typedef enum { >+ NPCocoaEventDrawRect = 1, >+ NPCocoaEventMouseDown, >+ NPCocoaEventMouseUp, >+ NPCocoaEventMouseMoved, >+ NPCocoaEventMouseEntered, >+ NPCocoaEventMouseExited, >+ NPCocoaEventMouseDragged, >+ NPCocoaEventKeyDown, >+ NPCocoaEventKeyUp, >+ NPCocoaEventFlagsChanged, >+ NPCocoaEventFocusChanged, >+ NPCocoaEventWindowFocusChanged, >+ NPCocoaEventScrollWheel, >+ NPCocoaEventTextInput >+} NPCocoaEventType; >+ >+typedef struct _NPCocoaEvent { >+ NPCocoaEventType type; >+ uint32_t version; >+ union { >+ struct { >+ uint32_t modifierFlags; >+ double pluginX; >+ double pluginY; >+ int32_t buttonNumber; >+ int32_t clickCount; >+ double deltaX; >+ double deltaY; >+ double deltaZ; >+ } mouse; >+ struct { >+ uint32_t modifierFlags; >+ NPNSString *characters; >+ NPNSString *charactersIgnoringModifiers; >+ NPBool isARepeat; >+ uint16_t keyCode; >+ } key; >+ struct { >+ CGContextRef context; >+ double x; >+ double y; >+ double width; >+ double height; >+ } draw; >+ struct { >+ NPBool hasFocus; >+ } focus; >+ struct { >+ NPNSString *text; >+ } text; >+ } data; >+} NPCocoaEvent; >+ >+#ifndef NP_NO_CARBON >+/* Non-standard event types that can be passed to HandleEvent */ >+enum NPEventType { >+ NPEventType_GetFocusEvent = (osEvt + 16), >+ NPEventType_LoseFocusEvent, >+ NPEventType_AdjustCursorEvent, >+ NPEventType_MenuCommandEvent, >+ NPEventType_ClippingChangedEvent, >+ NPEventType_ScrollingBeginsEvent = 1000, >+ NPEventType_ScrollingEndsEvent >+}; >+#endif /* NP_NO_CARBON */ >+ >+#endif /* XP_MACOSX */ >+ >+/* >+ * Values for mode passed to NPP_New: >+ */ >+#define NP_EMBED 1 >+#define NP_FULL 2 >+ >+/* >+ * Values for stream type passed to NPP_NewStream: >+ */ >+#define NP_NORMAL 1 >+#define NP_SEEK 2 >+#define NP_ASFILE 3 >+#define NP_ASFILEONLY 4 >+ >+#define NP_MAXREADY (((unsigned)(~0)<<1)>>1) >+ >+/* >+ * Flags for NPP_ClearSiteData. >+ */ >+#define NP_CLEAR_ALL 0 >+#define NP_CLEAR_CACHE (1 << 0) >+ >+#if !defined(__LP64__) >+#if defined(XP_MACOSX) >+#pragma options align=reset >+#endif >+#endif /* __LP64__ */ >+ >+/*----------------------------------------------------------------------*/ >+/* Error and Reason Code definitions */ >+/*----------------------------------------------------------------------*/ >+ >+/* >+ * Values of type NPError: >+ */ >+#define NPERR_BASE 0 >+#define NPERR_NO_ERROR (NPERR_BASE + 0) >+#define NPERR_GENERIC_ERROR (NPERR_BASE + 1) >+#define NPERR_INVALID_INSTANCE_ERROR (NPERR_BASE + 2) >+#define NPERR_INVALID_FUNCTABLE_ERROR (NPERR_BASE + 3) >+#define NPERR_MODULE_LOAD_FAILED_ERROR (NPERR_BASE + 4) >+#define NPERR_OUT_OF_MEMORY_ERROR (NPERR_BASE + 5) >+#define NPERR_INVALID_PLUGIN_ERROR (NPERR_BASE + 6) >+#define NPERR_INVALID_PLUGIN_DIR_ERROR (NPERR_BASE + 7) >+#define NPERR_INCOMPATIBLE_VERSION_ERROR (NPERR_BASE + 8) >+#define NPERR_INVALID_PARAM (NPERR_BASE + 9) >+#define NPERR_INVALID_URL (NPERR_BASE + 10) >+#define NPERR_FILE_NOT_FOUND (NPERR_BASE + 11) >+#define NPERR_NO_DATA (NPERR_BASE + 12) >+#define NPERR_STREAM_NOT_SEEKABLE (NPERR_BASE + 13) >+#define NPERR_TIME_RANGE_NOT_SUPPORTED (NPERR_BASE + 14) >+#define NPERR_MALFORMED_SITE (NPERR_BASE + 15) >+ >+/* >+ * Values of type NPReason: >+ */ >+#define NPRES_BASE 0 >+#define NPRES_DONE (NPRES_BASE + 0) >+#define NPRES_NETWORK_ERR (NPRES_BASE + 1) >+#define NPRES_USER_BREAK (NPRES_BASE + 2) >+ >+/* >+ * Don't use these obsolete error codes any more. >+ */ >+#define NP_NOERR NP_NOERR_is_obsolete_use_NPERR_NO_ERROR >+#define NP_EINVAL NP_EINVAL_is_obsolete_use_NPERR_GENERIC_ERROR >+#define NP_EABORT NP_EABORT_is_obsolete_use_NPRES_USER_BREAK >+ >+/* >+ * Version feature information >+ */ >+#define NPVERS_HAS_STREAMOUTPUT 8 >+#define NPVERS_HAS_NOTIFICATION 9 >+#define NPVERS_HAS_LIVECONNECT 9 >+#define NPVERS_68K_HAS_LIVECONNECT 11 >+#define NPVERS_HAS_WINDOWLESS 11 >+#define NPVERS_HAS_XPCONNECT_SCRIPTING 13 >+#define NPVERS_HAS_NPRUNTIME_SCRIPTING 14 >+#define NPVERS_HAS_FORM_VALUES 15 >+#define NPVERS_HAS_POPUPS_ENABLED_STATE 16 >+#define NPVERS_HAS_RESPONSE_HEADERS 17 >+#define NPVERS_HAS_NPOBJECT_ENUM 18 >+#define NPVERS_HAS_PLUGIN_THREAD_ASYNC_CALL 19 >+#define NPVERS_HAS_ALL_NETWORK_STREAMS 20 >+#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 >+#define NPVERS_HAS_CLEAR_SITE_DATA 27 >+ >+/*----------------------------------------------------------------------*/ >+/* Function Prototypes */ >+/*----------------------------------------------------------------------*/ >+ >+#ifdef __cplusplus >+extern "C" { >+#endif >+ >+/* NPP_* functions are provided by the plugin and called by the navigator. */ >+ >+#if defined(XP_UNIX) >+const char* NPP_GetMIMEDescription(void); >+#endif >+ >+NPError NPP_New(NPMIMEType pluginType, NPP instance, >+ uint16_t mode, int16_t argc, char* argn[], >+ char* argv[], NPSavedData* saved); >+NPError NPP_Destroy(NPP instance, NPSavedData** save); >+NPError NPP_SetWindow(NPP instance, NPWindow* window); >+NPError NPP_NewStream(NPP instance, NPMIMEType type, >+ NPStream* stream, NPBool seekable, >+ uint16_t* stype); >+NPError NPP_DestroyStream(NPP instance, NPStream* stream, >+ NPReason reason); >+int32_t NPP_WriteReady(NPP instance, NPStream* stream); >+int32_t NPP_Write(NPP instance, NPStream* stream, int32_t offset, >+ int32_t len, void* buffer); >+void NPP_StreamAsFile(NPP instance, NPStream* stream, >+ const char* fname); >+void NPP_Print(NPP instance, NPPrint* platformPrint); >+int16_t NPP_HandleEvent(NPP instance, void* event); >+void NPP_URLNotify(NPP instance, const char* url, >+ NPReason reason, void* notifyData); >+NPError NPP_GetValue(NPP instance, NPPVariable variable, void *value); >+NPError NPP_SetValue(NPP instance, NPNVariable variable, void *value); >+NPBool NPP_GotFocus(NPP instance, NPFocusDirection direction); >+void NPP_LostFocus(NPP instance); >+void NPP_URLRedirectNotify(NPP instance, const char* url, int32_t status, void* notifyData); >+NPError NPP_ClearSiteData(const char* site, uint64_t flags, uint64_t maxAge); >+char** NPP_GetSitesWithData(void); >+void NPP_DidComposite(NPP instance); >+ >+/* NPN_* functions are provided by the navigator and called by the plugin. */ >+void NPN_Version(int* plugin_major, int* plugin_minor, >+ int* netscape_major, int* netscape_minor); >+NPError NPN_GetURLNotify(NPP instance, const char* url, >+ const char* target, void* notifyData); >+NPError NPN_GetURL(NPP instance, const char* url, >+ const char* target); >+NPError NPN_PostURLNotify(NPP instance, const char* url, >+ const char* target, uint32_t len, >+ const char* buf, NPBool file, >+ void* notifyData); >+NPError NPN_PostURL(NPP instance, const char* url, >+ const char* target, uint32_t len, >+ const char* buf, NPBool file); >+NPError NPN_RequestRead(NPStream* stream, NPByteRange* rangeList); >+NPError NPN_NewStream(NPP instance, NPMIMEType type, >+ const char* target, NPStream** stream); >+int32_t NPN_Write(NPP instance, NPStream* stream, int32_t len, >+ void* buffer); >+NPError NPN_DestroyStream(NPP instance, NPStream* stream, >+ NPReason reason); >+void NPN_Status(NPP instance, const char* message); >+const char* NPN_UserAgent(NPP instance); >+void* NPN_MemAlloc(uint32_t size); >+void NPN_MemFree(void* ptr); >+uint32_t NPN_MemFlush(uint32_t size); >+void NPN_ReloadPlugins(NPBool reloadPages); >+NPError NPN_GetValue(NPP instance, NPNVariable variable, >+ void *value); >+NPError NPN_SetValue(NPP instance, NPPVariable variable, >+ void *value); >+void NPN_InvalidateRect(NPP instance, NPRect *invalidRect); >+void NPN_InvalidateRegion(NPP instance, >+ NPRegion invalidRegion); >+void NPN_ForceRedraw(NPP instance); >+void NPN_PushPopupsEnabledState(NPP instance, NPBool enabled); >+void NPN_PopPopupsEnabledState(NPP instance); >+void NPN_PluginThreadAsyncCall(NPP instance, >+ void (*func) (void *), >+ void *userData); >+NPError NPN_GetValueForURL(NPP instance, NPNURLVariable variable, >+ const char *url, char **value, >+ uint32_t *len); >+NPError NPN_SetValueForURL(NPP instance, NPNURLVariable variable, >+ const char *url, const char *value, >+ uint32_t len); >+NPError NPN_GetAuthenticationInfo(NPP instance, >+ const char *protocol, >+ const char *host, int32_t port, >+ const char *scheme, >+ const char *realm, >+ char **username, uint32_t *ulen, >+ char **password, >+ uint32_t *plen); >+uint32_t NPN_ScheduleTimer(NPP instance, uint32_t interval, NPBool repeat, void (*timerFunc)(NPP npp, uint32_t timerID)); >+void NPN_UnscheduleTimer(NPP instance, uint32_t timerID); >+NPError NPN_PopUpContextMenu(NPP instance, NPMenu* menu); >+NPBool NPN_ConvertPoint(NPP instance, double sourceX, double sourceY, NPCoordinateSpace sourceSpace, double *destX, double *destY, NPCoordinateSpace destSpace); >+NPBool NPN_HandleEvent(NPP instance, void *event, NPBool handled); >+NPBool NPN_UnfocusInstance(NPP instance, NPFocusDirection direction); >+void NPN_URLRedirectResponse(NPP instance, void* notifyData, NPBool allow); >+NPError NPN_InitAsyncSurface(NPP instance, NPSize *size, >+ NPImageFormat format, void *initData, >+ NPAsyncSurface *surface); >+NPError NPN_FinalizeAsyncSurface(NPP instance, NPAsyncSurface *surface); >+void NPN_SetCurrentAsyncSurface(NPP instance, NPAsyncSurface *surface, NPRect *changed); >+ >+#ifdef __cplusplus >+} /* end extern "C" */ >+#endif >+ >+#endif /* RC_INVOKED */ >+ >+#endif /* npapi_h_ */ > >Property changes on: files/npapi.h >___________________________________________________________________ >Added: svn:eol-style >## -0,0 +1 ## >+native >\ No newline at end of property >Added: svn:mime-type >## -0,0 +1 ## >+text/plain >\ No newline at end of property >Index: files/npfunctions.h >=================================================================== >--- files/npfunctions.h (nonexistent) >+++ files/npfunctions.h (working copy) >@@ -0,0 +1,281 @@ >+/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ >+/* This Source Code Form is subject to the terms of the Mozilla Public >+ * License, v. 2.0. If a copy of the MPL was not distributed with this >+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ >+ >+#ifndef npfunctions_h_ >+#define npfunctions_h_ >+ >+#include "npapi.h" >+#include "npruntime.h" >+ >+#ifdef MOZ_WIDGET_ANDROID >+#include <jni.h> >+#endif >+ >+typedef NPError (* NPP_NewProcPtr)(NPMIMEType pluginType, NPP instance, uint16_t mode, int16_t argc, char* argn[], char* argv[], NPSavedData* saved); >+typedef NPError (* NPP_DestroyProcPtr)(NPP instance, NPSavedData** save); >+typedef NPError (* NPP_SetWindowProcPtr)(NPP instance, NPWindow* window); >+typedef NPError (* NPP_NewStreamProcPtr)(NPP instance, NPMIMEType type, NPStream* stream, NPBool seekable, uint16_t* stype); >+typedef NPError (* NPP_DestroyStreamProcPtr)(NPP instance, NPStream* stream, NPReason reason); >+typedef int32_t (* NPP_WriteReadyProcPtr)(NPP instance, NPStream* stream); >+typedef int32_t (* NPP_WriteProcPtr)(NPP instance, NPStream* stream, int32_t offset, int32_t len, void* buffer); >+typedef void (* NPP_StreamAsFileProcPtr)(NPP instance, NPStream* stream, const char* fname); >+typedef void (* NPP_PrintProcPtr)(NPP instance, NPPrint* platformPrint); >+typedef int16_t (* NPP_HandleEventProcPtr)(NPP instance, void* event); >+typedef void (* NPP_URLNotifyProcPtr)(NPP instance, const char* url, NPReason reason, void* notifyData); >+/* Any NPObjects returned to the browser via NPP_GetValue should be retained >+ by the plugin on the way out. The browser is responsible for releasing. */ >+typedef NPError (* NPP_GetValueProcPtr)(NPP instance, NPPVariable variable, void *ret_value); >+typedef NPError (* NPP_SetValueProcPtr)(NPP instance, NPNVariable variable, void *value); >+typedef NPBool (* NPP_GotFocusPtr)(NPP instance, NPFocusDirection direction); >+typedef void (* NPP_LostFocusPtr)(NPP instance); >+typedef void (* NPP_URLRedirectNotifyPtr)(NPP instance, const char* url, int32_t status, void* notifyData); >+typedef NPError (* NPP_ClearSiteDataPtr)(const char* site, uint64_t flags, uint64_t maxAge); >+typedef char** (* NPP_GetSitesWithDataPtr)(void); >+typedef void (* NPP_DidCompositePtr)(NPP instance); >+ >+typedef NPError (*NPN_GetValueProcPtr)(NPP instance, NPNVariable variable, void *ret_value); >+typedef NPError (*NPN_SetValueProcPtr)(NPP instance, NPPVariable variable, void *value); >+typedef NPError (*NPN_GetURLNotifyProcPtr)(NPP instance, const char* url, const char* window, void* notifyData); >+typedef NPError (*NPN_PostURLNotifyProcPtr)(NPP instance, const char* url, const char* window, uint32_t len, const char* buf, NPBool file, void* notifyData); >+typedef NPError (*NPN_GetURLProcPtr)(NPP instance, const char* url, const char* window); >+typedef NPError (*NPN_PostURLProcPtr)(NPP instance, const char* url, const char* window, uint32_t len, const char* buf, NPBool file); >+typedef NPError (*NPN_RequestReadProcPtr)(NPStream* stream, NPByteRange* rangeList); >+typedef NPError (*NPN_NewStreamProcPtr)(NPP instance, NPMIMEType type, const char* window, NPStream** stream); >+typedef int32_t (*NPN_WriteProcPtr)(NPP instance, NPStream* stream, int32_t len, void* buffer); >+typedef NPError (*NPN_DestroyStreamProcPtr)(NPP instance, NPStream* stream, NPReason reason); >+typedef void (*NPN_StatusProcPtr)(NPP instance, const char* message); >+/* Browser manages the lifetime of the buffer returned by NPN_UserAgent, don't >+ depend on it sticking around and don't free it. */ >+typedef const char* (*NPN_UserAgentProcPtr)(NPP instance); >+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)(void); >+typedef void* (*NPN_GetJavaPeerProcPtr)(NPP instance); >+typedef void (*NPN_InvalidateRectProcPtr)(NPP instance, NPRect *rect); >+typedef void (*NPN_InvalidateRegionProcPtr)(NPP instance, NPRegion region); >+typedef void (*NPN_ForceRedrawProcPtr)(NPP instance); >+typedef NPIdentifier (*NPN_GetStringIdentifierProcPtr)(const NPUTF8* name); >+typedef void (*NPN_GetStringIdentifiersProcPtr)(const NPUTF8** names, int32_t nameCount, NPIdentifier* identifiers); >+typedef NPIdentifier (*NPN_GetIntIdentifierProcPtr)(int32_t intid); >+typedef bool (*NPN_IdentifierIsStringProcPtr)(NPIdentifier identifier); >+typedef NPUTF8* (*NPN_UTF8FromIdentifierProcPtr)(NPIdentifier identifier); >+typedef int32_t (*NPN_IntFromIdentifierProcPtr)(NPIdentifier identifier); >+typedef NPObject* (*NPN_CreateObjectProcPtr)(NPP npp, NPClass *aClass); >+typedef NPObject* (*NPN_RetainObjectProcPtr)(NPObject *obj); >+typedef void (*NPN_ReleaseObjectProcPtr)(NPObject *obj); >+typedef bool (*NPN_InvokeProcPtr)(NPP npp, NPObject* obj, NPIdentifier methodName, const NPVariant *args, uint32_t argCount, NPVariant *result); >+typedef bool (*NPN_InvokeDefaultProcPtr)(NPP npp, NPObject* obj, const NPVariant *args, uint32_t argCount, NPVariant *result); >+typedef bool (*NPN_EvaluateProcPtr)(NPP npp, NPObject *obj, NPString *script, NPVariant *result); >+typedef bool (*NPN_GetPropertyProcPtr)(NPP npp, NPObject *obj, NPIdentifier propertyName, NPVariant *result); >+typedef bool (*NPN_SetPropertyProcPtr)(NPP npp, NPObject *obj, NPIdentifier propertyName, const NPVariant *value); >+typedef bool (*NPN_RemovePropertyProcPtr)(NPP npp, NPObject *obj, NPIdentifier propertyName); >+typedef bool (*NPN_HasPropertyProcPtr)(NPP npp, NPObject *obj, NPIdentifier propertyName); >+typedef bool (*NPN_HasMethodProcPtr)(NPP npp, NPObject *obj, NPIdentifier propertyName); >+typedef void (*NPN_ReleaseVariantValueProcPtr)(NPVariant *variant); >+typedef void (*NPN_SetExceptionProcPtr)(NPObject *obj, const NPUTF8 *message); >+typedef void (*NPN_PushPopupsEnabledStateProcPtr)(NPP npp, NPBool enabled); >+typedef void (*NPN_PopPopupsEnabledStateProcPtr)(NPP npp); >+typedef bool (*NPN_EnumerateProcPtr)(NPP npp, NPObject *obj, NPIdentifier **identifier, uint32_t *count); >+typedef void (*NPN_PluginThreadAsyncCallProcPtr)(NPP instance, void (*func)(void *), void *userData); >+typedef bool (*NPN_ConstructProcPtr)(NPP npp, NPObject* obj, const NPVariant *args, uint32_t argCount, NPVariant *result); >+typedef NPError (*NPN_GetValueForURLPtr)(NPP npp, NPNURLVariable variable, const char *url, char **value, uint32_t *len); >+typedef NPError (*NPN_SetValueForURLPtr)(NPP npp, NPNURLVariable variable, const char *url, const char *value, uint32_t len); >+typedef NPError (*NPN_GetAuthenticationInfoPtr)(NPP npp, const char *protocol, const char *host, int32_t port, const char *scheme, const char *realm, char **username, uint32_t *ulen, char **password, uint32_t *plen); >+typedef uint32_t (*NPN_ScheduleTimerPtr)(NPP instance, uint32_t interval, NPBool repeat, void (*timerFunc)(NPP npp, uint32_t timerID)); >+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 NPError (*NPN_InitAsyncSurfacePtr)(NPP instance, NPSize *size, NPImageFormat format, void *initData, NPAsyncSurface *surface); >+typedef NPError (*NPN_FinalizeAsyncSurfacePtr)(NPP instance, NPAsyncSurface *surface); >+typedef void (*NPN_SetCurrentAsyncSurfacePtr)(NPP instance, NPAsyncSurface *surface, NPRect *changed); >+ >+typedef void (*NPN_DummyPtr)(void); >+ >+typedef struct _NPPluginFuncs { >+ uint16_t size; >+ uint16_t version; >+ NPP_NewProcPtr newp; >+ NPP_DestroyProcPtr destroy; >+ NPP_SetWindowProcPtr setwindow; >+ NPP_NewStreamProcPtr newstream; >+ NPP_DestroyStreamProcPtr destroystream; >+ NPP_StreamAsFileProcPtr asfile; >+ NPP_WriteReadyProcPtr writeready; >+ NPP_WriteProcPtr write; >+ NPP_PrintProcPtr print; >+ NPP_HandleEventProcPtr event; >+ NPP_URLNotifyProcPtr urlnotify; >+ void* javaClass; >+ NPP_GetValueProcPtr getvalue; >+ NPP_SetValueProcPtr setvalue; >+ NPP_GotFocusPtr gotfocus; >+ NPP_LostFocusPtr lostfocus; >+ NPP_URLRedirectNotifyPtr urlredirectnotify; >+ NPP_ClearSiteDataPtr clearsitedata; >+ NPP_GetSitesWithDataPtr getsiteswithdata; >+ NPP_DidCompositePtr didComposite; >+} NPPluginFuncs; >+ >+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_GetValueForURLPtr getvalueforurl; >+ NPN_SetValueForURLPtr setvalueforurl; >+ NPN_GetAuthenticationInfoPtr getauthenticationinfo; >+ NPN_ScheduleTimerPtr scheduletimer; >+ NPN_UnscheduleTimerPtr unscheduletimer; >+ NPN_PopUpContextMenuPtr popupcontextmenu; >+ NPN_ConvertPointPtr convertpoint; >+ NPN_HandleEventPtr handleevent; >+ NPN_UnfocusInstancePtr unfocusinstance; >+ NPN_URLRedirectResponsePtr urlredirectresponse; >+ NPN_InitAsyncSurfacePtr initasyncsurface; >+ NPN_FinalizeAsyncSurfacePtr finalizeasyncsurface; >+ NPN_SetCurrentAsyncSurfacePtr setcurrentasyncsurface; >+} NPNetscapeFuncs; >+ >+#ifdef XP_MACOSX >+/* >+ * Mac OS X version(s) of NP_GetMIMEDescription(const char *) >+ * These can be called to retreive MIME information from the plugin dynamically >+ * >+ * Note: For compatibility with Quicktime, BPSupportedMIMEtypes is another way >+ * to get mime info from the plugin only on OSX and may not be supported >+ * in furture version -- use NP_GetMIMEDescription instead >+ */ >+enum >+{ >+ kBPSupportedMIMETypesStructVers_1 = 1 >+}; >+typedef struct _BPSupportedMIMETypes >+{ >+ SInt32 structVersion; /* struct version */ >+ Handle typeStrings; /* STR# formated handle, allocated by plug-in */ >+ Handle infoStrings; /* STR# formated handle, allocated by plug-in */ >+} BPSupportedMIMETypes; >+OSErr BP_GetSupportedMIMETypes(BPSupportedMIMETypes *mimeInfo, UInt32 flags); >+#define NP_GETMIMEDESCRIPTION_NAME "NP_GetMIMEDescription" >+typedef const char* (*NP_GetMIMEDescriptionProcPtr)(void); >+typedef OSErr (*BP_GetSupportedMIMETypesProcPtr)(BPSupportedMIMETypes*, UInt32); >+#endif >+ >+#if defined(_WIN32) >+#define OSCALL WINAPI >+#else >+#define OSCALL >+#endif >+ >+#if defined(XP_UNIX) >+/* GCC 3.3 and later support the visibility attribute. */ >+#if defined(__GNUC__) && ((__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3)) >+#define NP_VISIBILITY_DEFAULT __attribute__((visibility("default"))) >+#elif defined(__SUNPRO_C) || defined(__SUNPRO_CC) >+#define NP_VISIBILITY_DEFAULT __global >+#else >+#define NP_VISIBILITY_DEFAULT >+#endif >+#define NP_EXPORT(__type) NP_VISIBILITY_DEFAULT __type >+#endif >+ >+#if defined(_WIN32) >+#ifdef __cplusplus >+extern "C" { >+#endif >+/* plugin meta member functions */ >+typedef NPError (OSCALL *NP_GetEntryPointsFunc)(NPPluginFuncs*); >+NPError OSCALL NP_GetEntryPoints(NPPluginFuncs* pFuncs); >+typedef NPError (OSCALL *NP_InitializeFunc)(NPNetscapeFuncs*); >+NPError OSCALL NP_Initialize(NPNetscapeFuncs* bFuncs); >+typedef NPError (OSCALL *NP_ShutdownFunc)(void); >+NPError OSCALL NP_Shutdown(void); >+typedef const char* (*NP_GetMIMEDescriptionFunc)(void); >+const char* NP_GetMIMEDescription(void); >+#ifdef __cplusplus >+} >+#endif >+#endif >+ >+#ifdef XP_UNIX >+#ifdef __cplusplus >+extern "C" { >+#endif >+typedef char* (*NP_GetPluginVersionFunc)(void); >+NP_EXPORT(char*) NP_GetPluginVersion(void); >+typedef const char* (*NP_GetMIMEDescriptionFunc)(void); >+NP_EXPORT(const char*) NP_GetMIMEDescription(void); >+#ifdef XP_MACOSX >+typedef NPError (*NP_InitializeFunc)(NPNetscapeFuncs*); >+NP_EXPORT(NPError) NP_Initialize(NPNetscapeFuncs* bFuncs); >+typedef NPError (*NP_GetEntryPointsFunc)(NPPluginFuncs*); >+NP_EXPORT(NPError) NP_GetEntryPoints(NPPluginFuncs* pFuncs); >+#else >+#ifdef MOZ_WIDGET_ANDROID >+typedef NPError (*NP_InitializeFunc)(NPNetscapeFuncs*, NPPluginFuncs*, JNIEnv* pEnv); >+NP_EXPORT(NPError) NP_Initialize(NPNetscapeFuncs* bFuncs, NPPluginFuncs* pFuncs, JNIEnv* pEnv); >+#else >+typedef NPError (*NP_InitializeFunc)(NPNetscapeFuncs*, NPPluginFuncs*); >+NP_EXPORT(NPError) NP_Initialize(NPNetscapeFuncs* bFuncs, NPPluginFuncs* pFuncs); >+#endif >+#endif >+typedef NPError (*NP_ShutdownFunc)(void); >+NP_EXPORT(NPError) NP_Shutdown(void); >+typedef NPError (*NP_GetValueFunc)(void *, NPPVariable, void *); >+NP_EXPORT(NPError) NP_GetValue(void *future, NPPVariable aVariable, void *aValue); >+#ifdef __cplusplus >+} >+#endif >+#endif >+ >+#endif /* npfunctions_h_ */ > >Property changes on: files/npfunctions.h >___________________________________________________________________ >Added: svn:eol-style >## -0,0 +1 ## >+native >\ No newline at end of property >Added: svn:mime-type >## -0,0 +1 ## >+text/plain >\ No newline at end of property >Index: files/npruntime.h >=================================================================== >--- files/npruntime.h (nonexistent) >+++ files/npruntime.h (working copy) >@@ -0,0 +1,393 @@ >+/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ >+/* >+ * Copyright (c) 2004, Apple Computer, Inc. and The Mozilla Foundation. >+ * All rights reserved. >+ * >+ * Redistribution and use in source and binary forms, with or without >+ * modification, are permitted provided that the following conditions are >+ * met: >+ * >+ * 1. Redistributions of source code must retain the above copyright >+ * notice, this list of conditions and the following disclaimer. >+ * 2. Redistributions in binary form must reproduce the above copyright >+ * notice, this list of conditions and the following disclaimer in the >+ * documentation and/or other materials provided with the distribution. >+ * 3. Neither the names of Apple Computer, Inc. ("Apple") or The Mozilla >+ * Foundation ("Mozilla") nor the names of their contributors may be used >+ * to endorse or promote products derived from this software without >+ * specific prior written permission. >+ * >+ * THIS SOFTWARE IS PROVIDED BY APPLE, MOZILLA AND THEIR CONTRIBUTORS "AS >+ * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED >+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A >+ * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE, MOZILLA OR >+ * THEIR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, >+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED >+ * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR >+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF >+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING >+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS >+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. >+ * >+ */ >+#ifndef _NP_RUNTIME_H_ >+#define _NP_RUNTIME_H_ >+ >+#ifdef __cplusplus >+extern "C" { >+#endif >+ >+#include "nptypes.h" >+ >+/* >+ This API is used to facilitate binding code written in C to script >+ objects. The API in this header does not assume the presence of a >+ user agent. That is, it can be used to bind C code to scripting >+ environments outside of the context of a user agent. >+ >+ However, the normal use of the this API is in the context of a >+ scripting environment running in a browser or other user agent. >+ In particular it is used to support the extended Netscape >+ script-ability API for plugins (NP-SAP). NP-SAP is an extension >+ of the Netscape plugin API. As such we have adopted the use of >+ the "NP" prefix for this API. >+ >+ The following NP{N|P}Variables were added to the Netscape plugin >+ API (in npapi.h): >+ >+ NPNVWindowNPObject >+ NPNVPluginElementNPObject >+ NPPVpluginScriptableNPObject >+ >+ These variables are exposed through NPN_GetValue() and >+ NPP_GetValue() (respectively) and are used to establish the >+ initial binding between the user agent and native code. The DOM >+ objects in the user agent can be examined and manipulated using >+ the NPN_ functions that operate on NPObjects described in this >+ header. >+ >+ To the extent possible the assumptions about the scripting >+ language used by the scripting environment have been minimized. >+*/ >+ >+#define NP_BEGIN_MACRO do { >+#define NP_END_MACRO } while (0) >+ >+/* >+ Objects (non-primitive data) passed between 'C' and script is >+ always wrapped in an NPObject. The 'interface' of an NPObject is >+ described by an NPClass. >+*/ >+typedef struct NPObject NPObject; >+typedef struct NPClass NPClass; >+ >+typedef char NPUTF8; >+typedef struct _NPString { >+ const NPUTF8 *UTF8Characters; >+ uint32_t UTF8Length; >+} NPString; >+ >+typedef enum { >+ NPVariantType_Void, >+ NPVariantType_Null, >+ NPVariantType_Bool, >+ NPVariantType_Int32, >+ NPVariantType_Double, >+ NPVariantType_String, >+ NPVariantType_Object >+} NPVariantType; >+ >+typedef struct _NPVariant { >+ NPVariantType type; >+ union { >+ bool boolValue; >+ int32_t intValue; >+ double doubleValue; >+ NPString stringValue; >+ NPObject *objectValue; >+ } value; >+} NPVariant; >+ >+/* >+ NPN_ReleaseVariantValue is called on all 'out' parameters >+ references. Specifically it is to be called on variants that own >+ their value, as is the case with all non-const NPVariant* >+ arguments after a successful call to any methods (except this one) >+ in this API. >+ >+ After calling NPN_ReleaseVariantValue, the type of the variant >+ will be NPVariantType_Void. >+*/ >+void NPN_ReleaseVariantValue(NPVariant *variant); >+ >+#define NPVARIANT_IS_VOID(_v) ((_v).type == NPVariantType_Void) >+#define NPVARIANT_IS_NULL(_v) ((_v).type == NPVariantType_Null) >+#define NPVARIANT_IS_BOOLEAN(_v) ((_v).type == NPVariantType_Bool) >+#define NPVARIANT_IS_INT32(_v) ((_v).type == NPVariantType_Int32) >+#define NPVARIANT_IS_DOUBLE(_v) ((_v).type == NPVariantType_Double) >+#define NPVARIANT_IS_STRING(_v) ((_v).type == NPVariantType_String) >+#define NPVARIANT_IS_OBJECT(_v) ((_v).type == NPVariantType_Object) >+ >+#define NPVARIANT_TO_BOOLEAN(_v) ((_v).value.boolValue) >+#define NPVARIANT_TO_INT32(_v) ((_v).value.intValue) >+#define NPVARIANT_TO_DOUBLE(_v) ((_v).value.doubleValue) >+#define NPVARIANT_TO_STRING(_v) ((_v).value.stringValue) >+#define NPVARIANT_TO_OBJECT(_v) ((_v).value.objectValue) >+ >+#define VOID_TO_NPVARIANT(_v) \ >+NP_BEGIN_MACRO \ >+ (_v).type = NPVariantType_Void; \ >+ (_v).value.objectValue = NULL; \ >+NP_END_MACRO >+ >+#define NULL_TO_NPVARIANT(_v) \ >+NP_BEGIN_MACRO \ >+ (_v).type = NPVariantType_Null; \ >+ (_v).value.objectValue = NULL; \ >+NP_END_MACRO >+ >+#define BOOLEAN_TO_NPVARIANT(_val, _v) \ >+NP_BEGIN_MACRO \ >+ (_v).type = NPVariantType_Bool; \ >+ (_v).value.boolValue = !!(_val); \ >+NP_END_MACRO >+ >+#define INT32_TO_NPVARIANT(_val, _v) \ >+NP_BEGIN_MACRO \ >+ (_v).type = NPVariantType_Int32; \ >+ (_v).value.intValue = _val; \ >+NP_END_MACRO >+ >+#define DOUBLE_TO_NPVARIANT(_val, _v) \ >+NP_BEGIN_MACRO \ >+ (_v).type = NPVariantType_Double; \ >+ (_v).value.doubleValue = _val; \ >+NP_END_MACRO >+ >+#define STRINGZ_TO_NPVARIANT(_val, _v) \ >+NP_BEGIN_MACRO \ >+ (_v).type = NPVariantType_String; \ >+ NPString str = { _val, (uint32_t)(strlen(_val)) }; \ >+ (_v).value.stringValue = str; \ >+NP_END_MACRO >+ >+#define STRINGN_TO_NPVARIANT(_val, _len, _v) \ >+NP_BEGIN_MACRO \ >+ (_v).type = NPVariantType_String; \ >+ NPString str = { _val, (uint32_t)(_len) }; \ >+ (_v).value.stringValue = str; \ >+NP_END_MACRO >+ >+#define OBJECT_TO_NPVARIANT(_val, _v) \ >+NP_BEGIN_MACRO \ >+ (_v).type = NPVariantType_Object; \ >+ (_v).value.objectValue = _val; \ >+NP_END_MACRO >+ >+ >+/* >+ Type mappings (JavaScript types have been used for illustration >+ purposes): >+ >+ JavaScript to C (NPVariant with type:) >+ undefined NPVariantType_Void >+ null NPVariantType_Null >+ Boolean NPVariantType_Bool >+ Number NPVariantType_Double or NPVariantType_Int32 >+ String NPVariantType_String >+ Object NPVariantType_Object >+ >+ C (NPVariant with type:) to JavaScript >+ NPVariantType_Void undefined >+ NPVariantType_Null null >+ NPVariantType_Bool Boolean >+ NPVariantType_Int32 Number >+ NPVariantType_Double Number >+ NPVariantType_String String >+ NPVariantType_Object Object >+*/ >+ >+typedef void *NPIdentifier; >+ >+/* >+ NPObjects have methods and properties. Methods and properties are >+ identified with NPIdentifiers. These identifiers may be reflected >+ in script. NPIdentifiers can be either strings or integers, IOW, >+ methods and properties can be identified by either strings or >+ integers (i.e. foo["bar"] vs foo[1]). NPIdentifiers can be >+ compared using ==. In case of any errors, the requested >+ NPIdentifier(s) will be NULL. NPIdentifier lifetime is controlled >+ by the browser. Plugins do not need to worry about memory management >+ with regards to NPIdentifiers. >+*/ >+NPIdentifier NPN_GetStringIdentifier(const NPUTF8 *name); >+void NPN_GetStringIdentifiers(const NPUTF8 **names, int32_t nameCount, >+ NPIdentifier *identifiers); >+NPIdentifier NPN_GetIntIdentifier(int32_t intid); >+bool NPN_IdentifierIsString(NPIdentifier identifier); >+ >+/* >+ The NPUTF8 returned from NPN_UTF8FromIdentifier SHOULD be freed. >+*/ >+NPUTF8 *NPN_UTF8FromIdentifier(NPIdentifier identifier); >+ >+/* >+ Get the integer represented by identifier. If identifier is not an >+ integer identifier, the behaviour is undefined. >+*/ >+int32_t NPN_IntFromIdentifier(NPIdentifier identifier); >+ >+/* >+ NPObject behavior is implemented using the following set of >+ callback functions. >+ >+ The NPVariant *result argument of these functions (where >+ applicable) should be released using NPN_ReleaseVariantValue(). >+*/ >+typedef NPObject *(*NPAllocateFunctionPtr)(NPP npp, NPClass *aClass); >+typedef void (*NPDeallocateFunctionPtr)(NPObject *npobj); >+typedef void (*NPInvalidateFunctionPtr)(NPObject *npobj); >+typedef bool (*NPHasMethodFunctionPtr)(NPObject *npobj, NPIdentifier name); >+typedef bool (*NPInvokeFunctionPtr)(NPObject *npobj, NPIdentifier name, >+ const NPVariant *args, uint32_t argCount, >+ NPVariant *result); >+typedef bool (*NPInvokeDefaultFunctionPtr)(NPObject *npobj, >+ const NPVariant *args, >+ uint32_t argCount, >+ NPVariant *result); >+typedef bool (*NPHasPropertyFunctionPtr)(NPObject *npobj, NPIdentifier name); >+typedef bool (*NPGetPropertyFunctionPtr)(NPObject *npobj, NPIdentifier name, >+ NPVariant *result); >+typedef bool (*NPSetPropertyFunctionPtr)(NPObject *npobj, NPIdentifier name, >+ const NPVariant *value); >+typedef bool (*NPRemovePropertyFunctionPtr)(NPObject *npobj, >+ NPIdentifier name); >+typedef bool (*NPEnumerationFunctionPtr)(NPObject *npobj, NPIdentifier **value, >+ uint32_t *count); >+typedef bool (*NPConstructFunctionPtr)(NPObject *npobj, >+ const NPVariant *args, >+ uint32_t argCount, >+ NPVariant *result); >+ >+/* >+ NPObjects returned by create, retain, invoke, and getProperty pass >+ a reference count to the caller. That is, the callee adds a >+ reference count which passes to the caller. It is the caller's >+ responsibility to release the returned object. >+ >+ NPInvokeFunctionPtr function may return 0 to indicate a void >+ result. >+ >+ NPInvalidateFunctionPtr is called by the scripting environment >+ when the native code is shutdown. Any attempt to message a >+ NPObject instance after the invalidate callback has been >+ called will result in undefined behavior, even if the native code >+ is still retaining those NPObject instances. (The runtime >+ will typically return immediately, with 0 or NULL, from an >+ attempt to dispatch to a NPObject, but this behavior should not >+ be depended upon.) >+ >+ The NPEnumerationFunctionPtr function may pass an array of >+ NPIdentifiers back to the caller. The callee allocs the memory of >+ the array using NPN_MemAlloc(), and it's the caller's responsibility >+ to release it using NPN_MemFree(). >+*/ >+struct NPClass >+{ >+ uint32_t structVersion; >+ NPAllocateFunctionPtr allocate; >+ NPDeallocateFunctionPtr deallocate; >+ NPInvalidateFunctionPtr invalidate; >+ NPHasMethodFunctionPtr hasMethod; >+ NPInvokeFunctionPtr invoke; >+ NPInvokeDefaultFunctionPtr invokeDefault; >+ NPHasPropertyFunctionPtr hasProperty; >+ NPGetPropertyFunctionPtr getProperty; >+ NPSetPropertyFunctionPtr setProperty; >+ NPRemovePropertyFunctionPtr removeProperty; >+ NPEnumerationFunctionPtr enumerate; >+ NPConstructFunctionPtr construct; >+}; >+ >+#define NP_CLASS_STRUCT_VERSION 3 >+ >+#define NP_CLASS_STRUCT_VERSION_ENUM 2 >+#define NP_CLASS_STRUCT_VERSION_CTOR 3 >+ >+#define NP_CLASS_STRUCT_VERSION_HAS_ENUM(npclass) \ >+ ((npclass)->structVersion >= NP_CLASS_STRUCT_VERSION_ENUM) >+ >+#define NP_CLASS_STRUCT_VERSION_HAS_CTOR(npclass) \ >+ ((npclass)->structVersion >= NP_CLASS_STRUCT_VERSION_CTOR) >+ >+struct NPObject { >+ NPClass *_class; >+ uint32_t referenceCount; >+ /* >+ * Additional space may be allocated here by types of NPObjects >+ */ >+}; >+ >+/* >+ If the class has an allocate function, NPN_CreateObject invokes >+ that function, otherwise a NPObject is allocated and >+ returned. This method will initialize the referenceCount member of >+ the NPObject to 1. >+*/ >+NPObject *NPN_CreateObject(NPP npp, NPClass *aClass); >+ >+/* >+ Increment the NPObject's reference count. >+*/ >+NPObject *NPN_RetainObject(NPObject *npobj); >+ >+/* >+ Decremented the NPObject's reference count. If the reference >+ count goes to zero, the class's destroy function is invoke if >+ specified, otherwise the object is freed directly. >+*/ >+void NPN_ReleaseObject(NPObject *npobj); >+ >+/* >+ Functions to access script objects represented by NPObject. >+ >+ Calls to script objects are synchronous. If a function returns a >+ value, it will be supplied via the result NPVariant >+ argument. Successful calls will return true, false will be >+ returned in case of an error. >+ >+ Calls made from plugin code to script must be made from the thread >+ on which the plugin was initialized. >+*/ >+ >+bool NPN_Invoke(NPP npp, NPObject *npobj, NPIdentifier methodName, >+ const NPVariant *args, uint32_t argCount, NPVariant *result); >+bool NPN_InvokeDefault(NPP npp, NPObject *npobj, const NPVariant *args, >+ uint32_t argCount, NPVariant *result); >+bool NPN_Evaluate(NPP npp, NPObject *npobj, NPString *script, >+ NPVariant *result); >+bool NPN_GetProperty(NPP npp, NPObject *npobj, NPIdentifier propertyName, >+ NPVariant *result); >+bool NPN_SetProperty(NPP npp, NPObject *npobj, NPIdentifier propertyName, >+ const NPVariant *value); >+bool NPN_RemoveProperty(NPP npp, NPObject *npobj, NPIdentifier propertyName); >+bool NPN_HasProperty(NPP npp, NPObject *npobj, NPIdentifier propertyName); >+bool NPN_HasMethod(NPP npp, NPObject *npobj, NPIdentifier methodName); >+bool NPN_Enumerate(NPP npp, NPObject *npobj, NPIdentifier **identifier, >+ uint32_t *count); >+bool NPN_Construct(NPP npp, NPObject *npobj, const NPVariant *args, >+ uint32_t argCount, NPVariant *result); >+ >+/* >+ NPN_SetException may be called to trigger a script exception upon >+ return from entry points into NPObjects. Typical usage: >+ >+ NPN_SetException (npobj, message); >+*/ >+void NPN_SetException(NPObject *npobj, const NPUTF8 *message); >+ >+#ifdef __cplusplus >+} >+#endif >+ >+#endif > >Property changes on: files/npruntime.h >___________________________________________________________________ >Added: svn:eol-style >## -0,0 +1 ## >+native >\ No newline at end of property >Added: svn:mime-type >## -0,0 +1 ## >+text/plain >\ No newline at end of property >Index: files/nptypes.h >=================================================================== >--- files/nptypes.h (nonexistent) >+++ files/nptypes.h (working copy) >@@ -0,0 +1,88 @@ >+/* -*- Mode: C; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ >+/* This Source Code Form is subject to the terms of the Mozilla Public >+ * License, v. 2.0. If a copy of the MPL was not distributed with this >+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ >+ >+#ifndef nptypes_h_ >+#define nptypes_h_ >+ >+/* >+ * Header file for ensuring that C99 types ([u]int32_t, [u]int64_t and bool) and >+ * true/false macros are available. >+ */ >+ >+#if defined(WIN32) >+ /* >+ * Win32 and OS/2 don't know C99, so define [u]int_16/32/64 here. The bool >+ * is predefined tho, both in C and C++. >+ */ >+ typedef short int16_t; >+ typedef unsigned short uint16_t; >+ typedef int int32_t; >+ typedef unsigned int uint32_t; >+ typedef long long int64_t; >+ typedef unsigned long long uint64_t; >+#elif defined(_AIX) || defined(__sun) || defined(__osf__) || defined(IRIX) || defined(HPUX) >+ /* >+ * AIX and SunOS ship a inttypes.h header that defines [u]int32_t, >+ * but not bool for C. >+ */ >+ #include <inttypes.h> >+ >+ #ifndef __cplusplus >+ typedef int bool; >+ #define true 1 >+ #define false 0 >+ #endif >+#elif defined(bsdi) || defined(FREEBSD) || defined(OPENBSD) >+ /* >+ * BSD/OS, FreeBSD, and OpenBSD ship sys/types.h that define int32_t and >+ * u_int32_t. >+ */ >+ #include <sys/types.h> >+ >+ /* >+ * BSD/OS ships no header that defines uint32_t, nor bool (for C) >+ */ >+ #if defined(bsdi) >+ typedef u_int32_t uint32_t; >+ typedef u_int64_t uint64_t; >+ >+ #if !defined(__cplusplus) >+ typedef int bool; >+ #define true 1 >+ #define false 0 >+ #endif >+ #else >+ /* >+ * FreeBSD and OpenBSD define uint32_t and bool. >+ */ >+ #include <inttypes.h> >+ #include <stdbool.h> >+ #endif >+#elif defined(BEOS) >+ #include <inttypes.h> >+#else >+ /* >+ * For those that ship a standard C99 stdint.h header file, include >+ * it. Can't do the same for stdbool.h tho, since some systems ship >+ * with a stdbool.h file that doesn't compile! >+ */ >+ #include <stdint.h> >+ >+ #ifndef __cplusplus >+ #if !defined(__GNUC__) || (__GNUC__ > 2 || __GNUC_MINOR__ > 95) >+ #include <stdbool.h> >+ #else >+ /* >+ * GCC 2.91 can't deal with a typedef for bool, but a #define >+ * works. >+ */ >+ #define bool int >+ #define true 1 >+ #define false 0 >+ #endif >+ #endif >+#endif >+ >+#endif /* nptypes_h_ */ > >Property changes on: files/nptypes.h >___________________________________________________________________ >Added: svn:eol-style >## -0,0 +1 ## >+native >\ No newline at end of property >Added: svn:mime-type >## -0,0 +1 ## >+text/plain >\ No newline at end of property >Index: pkg-plist >=================================================================== >--- pkg-plist (revision 473111) >+++ pkg-plist (working copy) >@@ -1,6 +1,7 @@ > bin/itweb-javaws > bin/itweb-policyeditor > bin/itweb-settings >+%%PLUGIN%%%%WEBPLUGIN_DIR%%/IcedTeaPlugin.so > man/cs/man1/icedtea-web-plugin.1.gz > man/cs/man1/icedtea-web.1.gz > man/cs/man1/itweb-javaws.1.gz >@@ -26,4 +27,5 @@ > share/applications/itweb-settings.desktop > %%DATADIR%%/javaws_splash.png > %%DATADIR%%/netx.jar >+%%PLUGIN%%%%DATADIR%%/plugin.jar > share/pixmaps/itweb-javaws.png
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 229242
:
194528
|
194529
|
194533