Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(18)

Unified Diff: third_party/npapi/bindings/npapi_extensions.h

Issue 1860753002: Remove third_party/npapi (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@remove_03_content_child_npapi
Patch Set: messed up previous upload Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « third_party/npapi/bindings/npapi.h ('k') | third_party/npapi/bindings/npapi_extensions_private.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/npapi/bindings/npapi_extensions.h
diff --git a/third_party/npapi/bindings/npapi_extensions.h b/third_party/npapi/bindings/npapi_extensions.h
deleted file mode 100644
index 144417b3e3de8767abaa6aa0fcc1dcec12dcea7b..0000000000000000000000000000000000000000
--- a/third_party/npapi/bindings/npapi_extensions.h
+++ /dev/null
@@ -1,1079 +0,0 @@
-/* Copyright (c) 2006-2009 The Chromium Authors. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#ifndef _NP_EXTENSIONS_H_
-#define _NP_EXTENSIONS_H_
-
-// Use the shorter include path here so that this file can be used in non-
-// Chromium projects, such as the Native Client SDK.
-#include "npapi.h"
-
-#include <stddef.h> // For size_t
-
-/*
- * A fake "enum" value for getting browser-implemented Pepper extensions.
- * The variable returns a pointer to an NPNExtensions structure. */
-#define NPNVPepperExtensions ((NPNVariable) 4000)
-
-/*
- * A fake "enum" value for getting plugin-implemented Pepper extensions.
- * The variable returns a pointer to an NPPExtensions structure. */
-#define NPPVPepperExtensions ((NPPVariable) 4001)
-
-typedef void NPDeviceConfig;
-typedef void NPDeviceContext;
-typedef void NPUserData;
-
-/* unique id for each device interface */
-typedef int32_t NPDeviceID;
-
-/* Events -------------------------------------------------------------------*/
-
-typedef enum {
- NPMouseButton_None = -1,
- NPMouseButton_Left = 0,
- NPMouseButton_Middle = 1,
- NPMouseButton_Right = 2
-} NPMouseButtons;
-
-typedef enum {
- NPEventType_Undefined = -1,
- NPEventType_MouseDown = 0,
- NPEventType_MouseUp = 1,
- NPEventType_MouseMove = 2,
- NPEventType_MouseEnter = 3,
- NPEventType_MouseLeave = 4,
- NPEventType_MouseWheel = 5,
- NPEventType_RawKeyDown = 6,
- NPEventType_KeyDown = 7,
- NPEventType_KeyUp = 8,
- NPEventType_Char = 9,
- NPEventType_Minimize = 10,
- NPEventType_Focus = 11,
- NPEventType_Device = 12
-} NPEventTypes;
-
-typedef enum {
- NPEventModifier_ShiftKey = 1 << 0,
- NPEventModifier_ControlKey = 1 << 1,
- NPEventModifier_AltKey = 1 << 2,
- NPEventModifier_MetaKey = 1 << 3,
- NPEventModifier_IsKeyPad = 1 << 4,
- NPEventModifier_IsAutoRepeat = 1 << 5,
- NPEventModifier_LeftButtonDown = 1 << 6,
- NPEventModifier_MiddleButtonDown = 1 << 7,
- NPEventModifier_RightButtonDown = 1 << 8
-} NPEventModifiers;
-
-typedef struct _NPKeyEvent
-{
- uint32_t modifier;
- uint32_t normalizedKeyCode;
-} NPKeyEvent;
-
-typedef struct _NPCharacterEvent
-{
- uint32_t modifier;
- uint16_t text[4];
- uint16_t unmodifiedText[4];
-} NPCharacterEvent;
-
-typedef struct _NPMouseEvent
-{
- uint32_t modifier;
- int32_t button;
- int32_t x;
- int32_t y;
- int32_t clickCount;
-} NPMouseEvent;
-
-typedef struct _NPMouseWheelEvent
-{
- uint32_t modifier;
- float deltaX;
- float deltaY;
- float wheelTicksX;
- float wheelTicksY;
- uint32_t scrollByPage;
-} NPMouseWheelEvent;
-
-typedef struct _NPDeviceEvent {
- uint32_t device_uid;
- uint32_t subtype;
- /* uint8_t generic[0]; */
-} NPDeviceEvent;
-
-typedef struct _NPMinimizeEvent {
- int32_t value;
-} NPMinimizeEvent;
-
-typedef struct _NPFocusEvent {
- int32_t value;
-} NPFocusEvent;
-
-typedef struct _NPPepperEvent
-{
- uint32_t size;
- int32_t type;
- double timeStampSeconds;
- union {
- NPKeyEvent key;
- NPCharacterEvent character;
- NPMouseEvent mouse;
- NPMouseWheelEvent wheel;
- NPMinimizeEvent minimize;
- NPFocusEvent focus;
- NPDeviceEvent device;
- } u;
-} NPPepperEvent;
-
-/* 2D -----------------------------------------------------------------------*/
-
-#define NPPepper2DDevice 1
-
-typedef struct _NPDeviceContext2DConfig {
-} NPDeviceContext2DConfig;
-
-typedef struct _NPDeviceContext2D
-{
- /* Internal value used by the browser to identify this device. */
- void* reserved;
-
- /* A pointer to the pixel data. This data is 8-bit values in BGRA order in
- * memory. Each row will start |stride| bytes after the previous one.
- *
- * THIS DATA USES PREMULTIPLIED ALPHA. This means that each color channel has
- * been multiplied with the corresponding alpha, which makes compositing
- * easier. If any color channels have a value greater than the alpha value,
- * you'll likely get crazy colors and weird artifacts. */
- void* region;
-
- /* Length of each row of pixels in bytes. This may be larger than width * 4
- * if there is padding at the end of each row to help with alignment. */
- int32_t stride;
-
- /* The dirty region that the plugin has painted into the buffer. This
- * will be initialized to the size of the plugin image in
- * initializeContextPtr. The plugin can change the values to only
- * update portions of the image. */
- struct {
- int32_t left;
- int32_t top;
- int32_t right;
- int32_t bottom;
- } dirty;
-} NPDeviceContext2D;
-
-typedef struct _NPDeviceBuffer {
- void* ptr;
- size_t size;
-} NPDeviceBuffer;
-
-/* completion callback for flush device */
-typedef void (*NPDeviceFlushContextCallbackPtr)(
- NPP instance,
- NPDeviceContext* context,
- NPError err,
- NPUserData* userData);
-
-/* query single capabilities of device */
-typedef NPError (
- *NPDeviceQueryCapabilityPtr)(NPP instance,
- int32_t capability,
- int32_t *value);
-/* query config (configuration == a set of capabilities) */
-typedef NPError (
- *NPDeviceQueryConfigPtr)(NPP instance,
- const NPDeviceConfig* request,
- NPDeviceConfig* obtain);
-/* device initialization */
-typedef NPError (*NPDeviceInitializeContextPtr)(
- NPP instance,
- const NPDeviceConfig* config,
- NPDeviceContext* context);
-/* peek at device state */
-typedef NPError (*NPDeviceGetStateContextPtr) (
- NPP instance,
- NPDeviceContext* context,
- int32_t state,
- intptr_t* value);
-/* poke device state */
-typedef NPError (*NPDeviceSetStateContextPtr) (
- NPP instance,
- NPDeviceContext* context,
- int32_t state,
- intptr_t value);
-/* flush context, if callback, userData are NULL */
-/* this becomes a blocking call */
-typedef NPError (*NPDeviceFlushContextPtr)(
- NPP instance,
- NPDeviceContext* context,
- NPDeviceFlushContextCallbackPtr callback,
- void* userData);
-/* destroy device context. Application responsible for */
-/* freeing context, if applicable */
-typedef NPError (*NPDeviceDestroyContextPtr)(
- NPP instance,
- NPDeviceContext* context);
-/* Create a buffer associated with a particular context. The usage of the */
-/* buffer is device specific. The lifetime of the buffer is scoped with the */
-/* lifetime of the context. */
-typedef NPError (*NPDeviceCreateBufferPtr)(
- NPP instance,
- NPDeviceContext* context,
- size_t size,
- int32_t* id);
-/* Destroy a buffer associated with a particular context. */
-typedef NPError (*NPDeviceDestroyBufferPtr)(
- NPP instance,
- NPDeviceContext* context,
- int32_t id);
-/* Map a buffer id to its address. */
-typedef NPError (*NPDeviceMapBufferPtr)(
- NPP instance,
- NPDeviceContext* context,
- int32_t id,
- NPDeviceBuffer* buffer);
-
-
-/* forward decl typdef structs */
-typedef struct NPDevice NPDevice;
-typedef struct NPNExtensions NPNExtensions;
-
-// DEPRECATED: this typedef is just for the NaCl code until they switch to NPNExtensions.
-// PLEASE REMOVE THIS WHEN THE NACL CODE IS UPDATED.
-typedef struct NPNExtensions NPExtensions;
-
-
-/* New experimental device API. */
-
-/* Mode for calls to NPDeviceSynchronizeContext. */
-typedef enum {
- /* Get or set locally cached state without synchronizing or communicating */
- /* with the service process (or thread). */
- NPDeviceSynchronizationMode_Cached,
-
- /* Exchanges state with service process (or thread). Does not wait for any */
- /* progress before returning. */
- NPDeviceSynchronizationMode_Immediate,
-
- /* Exchanges state with service process (or thread). Blocks caller until */
- /* further progress can be made. */
- NPDeviceSynchronizationMode_Flush
-} NPDeviceSynchronizationMode;
-
-/* Get the number of configs supported by a given device. */
-typedef NPError (*NPDeviceGetNumConfigsPtr)(NPP instance,
- int32_t* numConfigs);
-
-/* Get attribute values from a config. NPDeviceGetConfigs might return */
-/* multiple configs. This function can be used to examine them to */
-/* find the most suitable. For example, NPDeviceGetConfigs might return one */
-/* config with antialiasing enabled and one without. This can be determined */
-/* using this function. */
-/* Inputs: */
-/* config: The config index to extract the attributes from. */
-/* attribList: Array of input config attribute / value pairs */
-/* terminated with NPAttrib_End. */
-/* Outputs: */
-/* attribList: The values paired up with each attribute are filled in */
-/* on return. */
-typedef NPError (*NPDeviceGetConfigAttribsPtr)(NPP instance,
- int32_t config,
- int32_t* attribList);
-
-/* Create a device context based on a particular device configuration and a */
-/* list config input attributes. */
-/* Inputs: */
-/* config: The device configuration to use. */
-/* attribList: NULL or an array of context specific attribute / value */
-/* pairs terminated with NPAttrib_End. */
-/* Outputs: */
-/* context: The created context. */
-typedef NPError (*NPDeviceCreateContextPtr)(NPP instance,
- int32_t config,
- const int32_t* attribList,
- NPDeviceContext** context);
-
-/* Destroy a context. */
-/* Inputs: */
-/* context: The context to destroy. */
-/*typedef NPError (*NPDestroyContext)(NPP instance, */
-/* NPDeviceContext* context); */
-
-/* This type should be cast to the type associated with the particular */
-/* callback type */
-typedef void (*NPDeviceGenericCallbackPtr)(void);
-
-/* Register a callback with a context. Callbacks are never invoked after the */
-/* associated context has been destroyed. The semantics of the particular */
-/* callback type determine which thread the callback is invoked on. It might */
-/* be the plugin thread, the thread RegisterCallback is invoked on or a */
-/* special thread created for servicing callbacks, such as an audio thread */
-/* Inputs: */
-/* callbackType: The device specific callback type */
-/* callback: The callback to invoke. The signature varies by type. Use */
-/* NULL to unregister the callback for a particular type. */
-/* callbackData: A value that is passed to the callback function. Other */
-/* callback arguments vary by type. */
-typedef NPError (*NPDeviceRegisterCallbackPtr)(
- NPP instance,
- NPDeviceContext* context,
- int32_t callbackType,
- NPDeviceGenericCallbackPtr callback,
- void* callbackData);
-
-/* Callback for NPDeviceSynchronizeContext. */
-/* Inputs: */
-/* instance: The associated plugin instance. */
-/* context: The context that was flushed. */
-/* error: Indicates success of flush operation. */
-/* data: The completion callback data that was passed to */
-/* NPDeviceSynchronizeContext. */
-typedef void (*NPDeviceSynchronizeContextCallbackPtr)(
- NPP instance,
- NPDeviceContext* context,
- NPError error,
- void* data);
-
-/* Synchronize the state of a device context. Takes lists of input and output */
-/* attributes. Generally, the input attributes are copied into the context */
-/* and the output attributes are filled in the state of the context either */
-/* after (before) the synchronization depending on whether it is synchronous */
-/* (asynchronous). The get the state of the context after an asynchronous */
-/* synchronization, call this function a second time with Cached mode after */
-/* the callback has been invoked. */
-/* Inputs: */
-/* context: The context to synchronize. */
-/* mode: The type of synchronization to perform. */
-/* inputAttribList: NULL or an array of input synchronization attribute / */
-/* value pairs terminated with NPAttrib_End. */
-/* outputAttribList: NULL or an array of output synchronization */
-/* attributes / uninitialized value pairs terminated */
-/* with NPAttrib_End. */
-/* callback: NULL for synchronous operation or completion callback function */
-/* for asynchronous operation. */
-/* callbackData: Argument passed to callback function. */
-/* Outputs: */
-/* outputAttribList: The values paired up with each attribute are filled */
-/* in on return for synchronous operation. */
-typedef NPError (*NPDeviceSynchronizeContextPtr)(
- NPP instance,
- NPDeviceContext* context,
- NPDeviceSynchronizationMode mode,
- const int32_t* inputAttribList,
- int32_t* outputAttribList,
- NPDeviceSynchronizeContextCallbackPtr callback,
- void* callbackData);
-
-/* All attributes shared between devices, with the exception of */
-/* NPDeviceContextAttrib_End, have bit 31 set. Device specific attributes */
-/* have the bit clear. */
-enum {
- /* Used to terminate arrays of attribute / value pairs. */
- NPAttrib_End = 0,
-
- /* Error status of context. Non-zero means error. Shared by all devices, */
- /* though error values are device specific. */
- NPAttrib_Error = 0x80000000
-};
-
-/* generic device interface */
-struct NPDevice {
- NPDeviceQueryCapabilityPtr queryCapability;
- NPDeviceQueryConfigPtr queryConfig;
- NPDeviceInitializeContextPtr initializeContext;
- NPDeviceSetStateContextPtr setStateContext;
- NPDeviceGetStateContextPtr getStateContext;
- NPDeviceFlushContextPtr flushContext;
- NPDeviceDestroyContextPtr destroyContext;
- NPDeviceCreateBufferPtr createBuffer;
- NPDeviceDestroyBufferPtr destroyBuffer;
- NPDeviceMapBufferPtr mapBuffer;
-
- /* Experimental device API */
- NPDeviceGetNumConfigsPtr getNumConfigs;
- NPDeviceGetConfigAttribsPtr getConfigAttribs;
- NPDeviceCreateContextPtr createContext;
-/* NPDeviceDestroyContextPtr destroyContext; */
- NPDeviceRegisterCallbackPtr registerCallback;
- NPDeviceSynchronizeContextPtr synchronizeContext;
-/* NPDeviceCreateBufferPtr createBuffer; */
-/* NPDeviceDestroyBufferPtr destroyBuffer; */
-/* NPDeviceMapBufferPtr mapBuffer; */
-};
-
-/* returns NULL if deviceID unavailable / unrecognized */
-typedef NPDevice* (*NPAcquireDevicePtr)(
- NPP instance,
- NPDeviceID device);
-
-/* Updates the number of find results for the current search term. If
- * there are no matches 0 should be passed in. Only when the plugin has
- * finished searching should it pass in the final count with finalResult set to
- * true. */
-typedef void (*NPNumberOfFindResultsChangedPtr)(
- NPP instance,
- int total,
- bool finalResult);
-
- /* Updates the index of the currently selected search item. */
-typedef void (*NPSelectedFindResultChangedPtr)(
- NPP instance,
- int index);
-
-/* Theming -----------------------------------------------------------------*/
-typedef int32_t NPWidgetID;
-
-typedef enum {
- NPWidgetTypeScrollbar = 0
-} NPWidgetType;
-
-typedef struct _NPScrollbarCreateParams {
- bool vertical;
-} NPScrollbarCreateParams;
-
-typedef struct _NPRect32
-{
- uint32_t top;
- uint32_t left;
- uint32_t bottom;
- uint32_t right;
-} NPRect32;
-
-typedef struct _NPScrollbarTickMarks {
- uint32_t count;
- NPRect32* tickmarks;
-} NPScrollbarTickMarks;
-
-typedef enum {
- NPWidgetPropertyLocation = 0, // variable is NPRect*.
- NPWidgetPropertyDirtyRect = 1, // Get only. variable is NPRec*.
- NPWidgetPropertyScrollbarThickness = 2, // Get only. variable is int32_t*.
- NPWidgetPropertyScrollbarValue = 3, // variable is int32_t*.
- NPWidgetPropertyScrollbarDocumentSize = 4, // Set only. variable is int32_t*.
- // Set only. variable is NPScrollbarTickMarks*.
- NPWidgetPropertyScrollbarTickMarks = 5,
- // Set only. variable is bool* (true for forward, false for backward).
- NPWidgetPropertyScrollbarScrollByLine = 6,
- // Set only. variable is bool* (true for forward, false for backward).
- NPWidgetPropertyScrollbarScrollByPage = 7,
- // Set only. variable is bool* (true for forward, false for backward).
- NPWidgetPropertyScrollbarScrollByDocument = 8,
- // Set only. variable is int32_t* (positive forward, negative backward).
- NPWidgetPropertyScrollbarScrollByPixels = 9
-} NPWidgetProperty;
-
-// Creates a widget. If it returns NPERR_NO_ERROR then id will contain a unique
-// identifer for the widget that's used for the next functions.
-typedef NPError (*NPCreateWidgetPtr) (
- NPP instance,
- NPWidgetType type,
- void* params, // Widget specific.
- NPWidgetID* id);
-
-// Destroys a widget.
-typedef NPError (*NPDestroyWidgetPtr) (
- NPP instance,
- NPWidgetID id);
-
-// Paint the dirty rectangle of the given widget into context.
-typedef NPError (*NPPaintWidgetPtr) (
- NPP instance,
- NPWidgetID id,
- NPDeviceContext2D* context,
- NPRect* dirty);
-
-// Pass in a pepper event to a plugin. It'll return true iff it uses it.
-typedef bool (*NPHandleWidgetEventPtr) (
- NPP instance,
- NPWidgetID id,
- NPPepperEvent* event);
-
-// Gets a property of the widget. "value" varies depending on the variable.
-typedef NPError (*NPGetWidgetPropertyPtr) (
- NPP instance,
- NPWidgetID id,
- NPWidgetProperty property,
- void* value);
-
-// Sets a property of the widget.
-typedef NPError (*NPSetWidgetPropertyPtr) (
- NPP instance,
- NPWidgetID id,
- NPWidgetProperty property,
- void* value);
-
-typedef struct _NPWidgetExtensions {
- NPCreateWidgetPtr createWidget;
- NPDestroyWidgetPtr destroyWidget;
- NPPaintWidgetPtr paintWidget;
- NPHandleWidgetEventPtr handleWidgetEvent;
- NPGetWidgetPropertyPtr getWidgetProperty;
- NPSetWidgetPropertyPtr setWidgetProperty;
-} NPWidgetExtensions;
-
-typedef NPWidgetExtensions* (*NPGetWidgetExtensionsPtr)(
- NPP instance);
-
-
-/* Supports opening files anywhere on the system after prompting the user to
- * pick one.
- *
- * This API is asynchronous. It will return immediately and the user will be
- * prompted in parallel to pick a file. The plugin may continue to receive
- * events while the open file dialog is up, and may continue to paint. Plugins
- * may want to ignore input events between the call and the callback to avoid
- * reentrant behavior. If the return value is not NPERR_NO_ERROR, the callback
- * will NOT be executed.
- *
- * It is an error to call BrowseForFile before a previous call has executed
- * the callback.
- *
- * Setting the flags to "Open" requires that the file exist to allow picking.
- * Setting the flags to "Save" allows selecting nonexistant files (which will
- * then be created), and will prompt the user if they want to overwrite an
- * existing file if it exists.
- *
- * The plugin may specify a comma-separated list of possible mime types in
- * the "extensions" parameter. If no extensions are specified, the dialog box
- * will default to allowing all extensions. The first extension in the list
- * will be the default.
- *
- * TODO(brettw) On Windows the extensions traditionally include a text
- * description with the extension in the popup, do we want to allow this?
- * We should probably also allow the ability to put "All files" in the
- * list on Windows.
- *
- * Once the user has picked a file or has canceled the dialog box, the given
- * callback will be called with the results of the operation and the passed in
- * "user data" pointer. If the user successfully picked a file, the filename
- * will be non-NULL and will contain a pointer to an array of strings, one for
- * each file picked (the first file will be file_paths[0]). This buffer will
- * become invalid as soon as the call completes, so it is the plugin's
- * responsibility to copy the filename(sp if it needs future access to them.
- * A NULL file_paths in the callback means the user canceled the dialog box.
- *
- * The filename will be in UTF-8. It may not actually correspond to the actual
- * file on disk on a Linux system, because we'll do our best to convert it from
- * the filesystem's locale to UTF-8. Instead, the string will be appropriate for
- * displaying to the user which file they picked.
- * */
-typedef enum {
- NPChooseFile_Open = 1,
- NPChooseFile_OpenMultiple = 2,
- NPChooseFile_Save = 3
-} NPChooseFileMode;
-typedef void (*NPChooseFileCallback)(const char** filePaths,
- uint32_t pathCount,
- void* userData);
-typedef NPError (*NPChooseFilePtr)(
- NPP instance,
- const char* mimeTypes,
- NPChooseFileMode mode,
- NPChooseFileCallback callback,
- void* userData);
-
-typedef enum {
- NPCursorTypePointer = 0,
- NPCursorTypeCross = 1,
- NPCursorTypeHand = 2,
- NPCursorTypeIBeam = 3,
- NPCursorTypeWait = 4,
- NPCursorTypeHelp = 5,
- NPCursorTypeEastResize = 6,
- NPCursorTypeNorthResize = 7,
- NPCursorTypeNorthEastResize = 8,
- NPCursorTypeNorthWestResize = 9,
- NPCursorTypeSouthResize = 10,
- NPCursorTypeSouthEastResize = 11,
- NPCursorTypeSouthWestResize = 12,
- NPCursorTypeWestResize = 13,
- NPCursorTypeNorthSouthResize = 14,
- NPCursorTypeEastWestResize = 15,
- NPCursorTypeNorthEastSouthWestResize = 16,
- NPCursorTypeNorthWestSouthEastResize = 17,
- NPCursorTypeColumnResize = 18,
- NPCursorTypeRowResize = 19,
- NPCursorTypeMiddlePanning = 20,
- NPCursorTypeEastPanning = 21,
- NPCursorTypeNorthPanning = 22,
- NPCursorTypeNorthEastPanning = 23,
- NPCursorTypeNorthWestPanning = 24,
- NPCursorTypeSouthPanning = 25,
- NPCursorTypeSouthEastPanning = 26,
- NPCursorTypeSouthWestPanning = 27,
- NPCursorTypeWestPanning = 28,
- NPCursorTypeMove = 29,
- NPCursorTypeVerticalText = 30,
- NPCursorTypeCell = 31,
- NPCursorTypeContextMenu = 32,
- NPCursorTypeAlias = 33,
- NPCursorTypeProgress = 34,
- NPCursorTypeNoDrop = 35,
- NPCursorTypeCopy = 36,
- NPCursorTypeNone = 37,
- NPCursorTypeNotAllowed = 38,
- NPCursorTypeZoomIn = 39,
- NPCursorTypeZoomOut = 40
-} NPCursorType;
-
-// Temporary SetCursor API.
-typedef NPError (*NPSetCursorPtr)(
- NPP instance,
- NPCursorType type);
-
-/* unique id for each font */
-typedef int NPFontID;
-
-typedef enum {
- NPCharsetAnsi = 0,
- NPCharsetDefault = 1,
- NPCharsetSymbol = 2,
- NPCharsetMac = 77,
- NPCharsetShiftJIS = 128,
- NPCharsetHangul = 129,
- NPCharsetJohab = 130,
- NPCharsetGB2312 =134,
- NPCharsetChineseBIG5 = 136,
- NPCharsetGreek = 161,
- NPCharsetTurkish = 162,
- NPCharsetVietnamese = 163,
- NPCharsetHebrew = 177,
- NPCharsetArabic = 178,
- NPCharsetBaltic = 186,
- NPCharsetRussian = 204,
- NPCharsetThai = 222,
- NPCharsetEastEurope = 238,
- NPCharsetOEM = 255
-} NPCharset;
-
-typedef enum {
- NPPitchDefault,
- NPPitchFixed
-} NPPitch;
-
-typedef enum {
- NPFamilyDefault,
- NPFamilyRoman,
- NPFamilyScript
-} NPFamily;
-
-typedef struct _NPFontDescription {
- const char* face;
- int weight;
- bool italic;
- NPPitch pitch;
- NPFamily family;
- NPCharset charset;
-} NPFontDescription;
-
-// Return a font which best matches the given properties.
-typedef NPError (*NPMatchFontWithFallbackPtr) (
- NPP instance,
- const NPFontDescription* description,
- NPFontID* id);
-
-// Loads a specified font table for the given font.
-// table: the table in *big-endian* format, or 0 for the whole font file.
-// output: a buffer of size output_length that gets the data. can be 0, in
-// which case output_length will be set to the required size in bytes.
-// output_length: size of output, if it's not 0.
-typedef NPError (*GetFontTablePtr) (
- NPP instance,
- NPFontID id,
- uint32_t table,
- void* output,
- size_t* output_length);
-
-// Destroys a font.
-typedef NPError (*NPDestroyFontPtr) (
- NPP instance,
- NPFontID id);
-
-typedef struct _NPFontExtensions {
- NPMatchFontWithFallbackPtr matchFontWithFallback;
- GetFontTablePtr getFontTable;
- NPDestroyFontPtr destroyFont;
-} NPFontExtensions;
-
-typedef NPFontExtensions* (*NPGetFontExtensionsPtr)(
- NPP instance);
-
-/* Pepper extensions */
-struct NPNExtensions {
- /* Device interface acquisition */
- NPAcquireDevicePtr acquireDevice;
- /* Find */
- NPNumberOfFindResultsChangedPtr numberOfFindResultsChanged;
- NPSelectedFindResultChangedPtr selectedFindResultChanged;
- /* File I/O extensions */
- NPChooseFilePtr chooseFile;
- /* Widget */
- NPGetWidgetExtensionsPtr getWidgetExtensions;
- /* Cursor */
- NPSetCursorPtr setCursor;
- /* Font */
- NPGetFontExtensionsPtr getFontExtensions;
-};
-
-/* 3D -----------------------------------------------------------------------*/
-
-#define NPPepper3DDevice 2
-
-typedef struct _NPDeviceContext3DConfig {
- int32_t commandBufferSize;
-} NPDeviceContext3DConfig;
-
-typedef enum _NPDeviceContext3DError {
- // No error has ocurred.
- NPDeviceContext3DError_NoError,
-
- // The size of a command was invalid.
- NPDeviceContext3DError_InvalidSize,
-
- // An offset was out of bounds.
- NPDeviceContext3DError_OutOfBounds,
-
- // A command was not recognized.
- NPDeviceContext3DError_UnknownCommand,
-
- // The arguments to a command were invalid.
- NPDeviceContext3DError_InvalidArguments,
-
- // The 3D context was lost, for example due to a power management event. The
- // context must be destroyed and a new one created.
- NPDeviceContext3DError_LostContext,
-
- // Any other error.
- NPDeviceContext3DError_GenericError
-} NPDeviceContext3DError;
-
-typedef struct _NPDeviceContext3D NPDeviceContext3D;
-
-typedef void (*NPDeviceContext3DRepaintPtr)(NPP npp,
- NPDeviceContext3D* context);
-
-// TODO(apatrick): this need not be exposed when we switch over to the new
-// device API. It's layout can also be implementation dependent.
-typedef struct _NPDeviceContext3D
-{
- void* reserved;
-
- // If true, then a flush will only complete once the get offset has advanced
- // on the GPU thread. If false, then the get offset might have changed but
- // the GPU thread will respond as quickly as possible without guaranteeing
- // having made any progress in executing pending commands. Set to true
- // to ensure that progress is made or when flushing in a loop waiting for the
- // GPU to reach a certain state, for example in advancing beyond a particular
- // token. Set to false when flushing to query the current state, for example
- // whether an error has occurred.
- bool waitForProgress;
-
- // Buffer in which commands are stored.
- void* commandBuffer;
- int32_t commandBufferSize;
-
- // Offset in command buffer reader has reached. Synchronized on flush.
- int32_t getOffset;
-
- // Offset in command buffer writer has reached. Synchronized on flush.
- int32_t putOffset;
-
- // Last processed token. Synchronized on flush.
- int32_t token;
-
- // Callback invoked on the main thread when the context must be repainted.
- // TODO(apatrick): move this out of the context struct like the rest of the
- // fields.
- NPDeviceContext3DRepaintPtr repaintCallback;
-
- // Error status. Synchronized on flush.
- NPDeviceContext3DError error;
-} NPDeviceContext3D;
-
-
-/* Begin 3D specific portion of experimental device API */
-
-/* Device buffer ID reserved for command buffer */
-enum {
- NP3DCommandBufferId = 0
-};
-
-/* 3D attributes */
-enum {
- /* Example GetConfigAttribs attributes. See EGL 1.4 spec. */
- /* These may be passed to GetConfigAttribs. */
- NP3DAttrib_BufferSize = 0x3020,
- NP3DAttrib_AlphaSize = 0x3021,
- NP3DAttrib_BlueSize = 0x3022,
- NP3DAttrib_GreenSize = 0x3023,
- NP3DAttrib_RedSize = 0x3024,
- NP3DAttrib_DepthSize = 0x3025,
- NP3DAttrib_StencilSize = 0x3026,
- NP3DAttrib_SurfaceType = 0x3033,
-
- /* Example CreateContext attributes. See EGL 1.4 spec. */
- /* These may be passed to CreateContext. */
- NP3DAttrib_SwapBehavior = 0x3093,
- NP3DAttrib_MultisampleResolve = 0x3099,
-
- /* Size of command buffer in 32-bit entries. */
- /* This may be passed to CreateContext as an input or SynchronizeContext as */
- /* an output. */
- NP3DAttrib_CommandBufferSize = 0x10000000,
-
- /* These may be passed to SynchronizeContext. */
-
- /* Offset in command buffer writer has reached. In / out.*/
- NP3DAttrib_PutOffset,
-
- /* Offset in command buffer reader has reached. Out only. */
- NP3DAttrib_GetOffset,
-
- /* Last processed token. Out only. */
- NP3DAttrib_Token
-};
-
-/* 3D callbacks */
-enum {
- /* This callback is invoked whenever the plugin must repaint everything. */
- /* This might be because the window manager must repaint a window or */
- /* the context has been lost, for example a power management event. */
- NP3DCallback_Repaint = 1
-};
-
-/* Flags for NPConfig3DOutAttrib_SurfaceType */
-enum {
- NP3DSurfaceType_MultisampleResolveBox = 0x0200,
- NP3DSurfaceType_SwapBehaviorPreserved = 0x0400
-};
-
-/* Values for NPConfig3DInAttrib_SwapBehavior */
-enum {
- NP3DSwapBehavior_Preserved = 0x3094,
- NP3DSwapBehavior_Destroyed = 0x3095
-};
-
-/* Values for NPConfig3DInAttrib_MultisampleResolve */
-enum {
- NP3DMultisampleResolve_Default = 0x309A,
- NP3DMultisampleResolve_Box = 0x309B
-};
-
-/* End 3D specific API */
-
-/* Audio --------------------------------------------------------------------*/
-
-#define NPPepperAudioDevice 3
-
-/* min & max sample frame count */
-typedef enum {
- NPAudioMinSampleFrameCount = 64,
- NPAudioMaxSampleFrameCount = 32768
-} NPAudioSampleFrameCounts;
-
-/* supported sample rates */
-typedef enum {
- NPAudioSampleRate44100Hz = 44100,
- NPAudioSampleRate48000Hz = 48000,
- NPAudioSampleRate96000Hz = 96000
-} NPAudioSampleRates;
-
-/* supported sample formats */
-typedef enum {
- NPAudioSampleTypeInt16 = 0,
- NPAudioSampleTypeFloat32 = 1
-} NPAudioSampleTypes;
-
-/* supported channel layouts */
-/* there is code that depends on these being the actual number of channels */
-typedef enum {
- NPAudioChannelNone = 0,
- NPAudioChannelMono = 1,
- NPAudioChannelStereo = 2,
- NPAudioChannelThree = 3,
- NPAudioChannelFour = 4,
- NPAudioChannelFive = 5,
- NPAudioChannelFiveOne = 6,
- NPAudioChannelSeven = 7,
- NPAudioChannelSevenOne = 8
-} NPAudioChannels;
-
-/* audio context states */
-typedef enum {
- NPAudioContextStateCallback = 0,
- NPAudioContextStateUnderrunCounter = 1
-} NPAudioContextStates;
-
-/* audio context state values */
-typedef enum {
- NPAudioCallbackStop = 0,
- NPAudioCallbackStart = 1
-} NPAudioContextStateValues;
-
-/* audio query capabilities */
-typedef enum {
- NPAudioCapabilitySampleRate = 0,
- NPAudioCapabilitySampleType = 1,
- NPAudioCapabilitySampleFrameCount = 2,
- NPAudioCapabilitySampleFrameCount44100Hz = 3,
- NPAudioCapabilitySampleFrameCount48000Hz = 4,
- NPAudioCapabilitySampleFrameCount96000Hz = 5,
- NPAudioCapabilityOutputChannelMap = 6,
- NPAudioCapabilityInputChannelMap = 7
-} NPAudioCapabilities;
-
-typedef struct _NPDeviceContextAudio NPDeviceContextAudio;
-
-/* user supplied callback function */
-typedef void (*NPAudioCallback)(NPDeviceContextAudio *context);
-
-typedef struct _NPDeviceContextAudioConfig {
- int32_t sampleRate;
- int32_t sampleType;
- int32_t outputChannelMap;
- int32_t inputChannelMap;
- int32_t sampleFrameCount;
- uint32_t startThread;
- uint32_t flags;
- NPAudioCallback callback;
- void *userData;
-} NPDeviceContextAudioConfig;
-
-struct _NPDeviceContextAudio {
- NPDeviceContextAudioConfig config;
- void *outBuffer;
- void *inBuffer;
- void *reserved;
-};
-
-/* Printing related APIs ---------------------------------------------------*/
-
-/* Defines a contiguous range of pages to be printed. Page numbers use a
- * zero-based index. */
-typedef struct _NPPrintPageNumberRange {
- int32_t firstPageNumber;
- int32_t lastPageNumber;
-} NPPrintPageNumberRange;
-
-/* Being a print operation. Returns the total number of pages to print at the
- * given printableArea size and DPI. printableArea is in points (a point is 1/72
- * of an inch). The plugin is expected to remember the values of printableArea
- * and printerDPI for use in subsequent print interface calls. These values
- * should be cleared in printEnd. */
-typedef NPError (*NPPPrintBeginPtr) (
- NPP instance,
- NPRect* printableArea,
- int32_t printerDPI,
- int32_t* numPages);
-/* Returns the required raster dimensions for the given page. */
-typedef NPError (*NPPGetRasterDimensionsPtr) (
- NPP instance,
- int32_t pageNumber,
- int32_t* widthInPixels,
- int32_t* heightInPixels);
-/* Prints the specified page This allows the plugin to print a raster output. */
-typedef NPError (*NPPPrintPageRasterPtr) (
- NPP instance,
- int32_t pageNumber,
- NPDeviceContext2D* printSurface);
-/* Ends the print operation */
-typedef NPError (*NPPPrintEndPtr) (NPP instance);
-/* Prints the specified pages as PDF. The plugin allocates the output buffer
- * pointed to by pdf_output using the browser-supplied NPN_MemAlloc function.
- * The caller is expected to free the output buffer upon success.*/
-typedef NPError (*NPPrintPagesAsPDFPtr)(NPP instance,
- NPPrintPageNumberRange* page_ranges,
- int32_t page_range_count,
- unsigned char** pdf_output,
- int32_t* output_size);
-
-
-/* TODO(sanjeevr) : Provide a vector interface for printing. We need to decide
- * on a vector format that can support embedded fonts. A vector format will
- * greatly reduce the size of the required output buffer. */
-
-typedef struct _NPPPrintExtensions {
- NPPPrintBeginPtr printBegin;
- NPPGetRasterDimensionsPtr getRasterDimensions;
- NPPPrintPageRasterPtr printPageRaster;
- NPPPrintEndPtr printEnd;
- NPPrintPagesAsPDFPtr printPagesAsPDF;
-} NPPPrintExtensions;
-
-/* Returns NULL if the plugin does not support print extensions */
-typedef NPPPrintExtensions* (*NPPGetPrintExtensionsPtr)(NPP instance);
-
-/* Find ---------------------------------------------------------------------*/
-
-/* Finds the given UTF-8 text starting at the current selection. The number of
- * results will be updated asynchronously via numberOfFindResultsChanged. Note
- * that multiple StartFind calls can happen before StopFind is called in the
- * case of the search term changing. */
-typedef NPError (*NPPStartFindPtr) (
- NPP instance,
- const char* text,
- bool caseSensitive);
-
-/* Go to the next/previous result. */
-typedef NPError (*NPPSelectFindResultPtr) (
- NPP instance,
- bool forward);
-
-/* Tells the plugin that the find operation has stopped, so it should clear
- * any highlighting. */
-typedef NPError (*NPPStopFindPtr) (
- NPP instance);
-
-typedef struct _NPPFindExtensions {
- NPPStartFindPtr startFind;
- NPPSelectFindResultPtr selectFindResult;
- NPPStopFindPtr stopFind;
-} NPPFindExtensions;
-
-/* Returns NULL if the plugin does not support find extensions. */
-typedef NPPFindExtensions* (*NPPGetFindExtensionsPtr)(NPP instance);
-
-/* Zooms a plugin to the given factor. If text_only is true, then only the text
- * should be zoomed. */
-typedef NPError (*NPPZoomPtr) (
- NPP instance,
- float factor,
- bool text_only);
-
-typedef NPError (*NPPWidgetPropertyChangedPtr) (
- NPP instance,
- NPWidgetID id,
- NPWidgetProperty property);
-
-/* type of selection */
-typedef enum {
- NPSelectionTypeAny = 0,
- NPSelectionTypePlainText = 1,
- NPSelectionTypeHTML = 2
-} NPSelectionType;
-
-/* Gets the selection. NPERR_GENERIC_ERROR is returned if nothing is selected.
- * 'type' is both an input and output parameter. The caller can request a
- * specific type, and if the plugin can't provide it, it will return
- * NPERR_GENERIC_ERROR. Or the caller can specify NPSelectionTypeAny to let the
- * plugin pick the best format for the data. The result is returned in a buffer
- * that's owned by the caller and which is allocated using NPN_MemAlloc. If no
- * data is available, NPERR_GENERIC_ERROR is returned. */
-typedef NPError (*NPPGetSelectionPtr) (
- NPP instance,
- NPSelectionType* type,
- void** data);
-
-typedef struct _NPPExtensions {
- NPPGetPrintExtensionsPtr getPrintExtensions;
- NPPGetFindExtensionsPtr getFindExtensions;
- NPPZoomPtr zoom;
- NPPWidgetPropertyChangedPtr widgetPropertyChanged;
- NPPGetSelectionPtr getSelection;
-} NPPExtensions;
-
-#endif /* _NP_EXTENSIONS_H_ */
« no previous file with comments | « third_party/npapi/bindings/npapi.h ('k') | third_party/npapi/bindings/npapi_extensions_private.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698