summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome/renderer/webplugin_delegate_pepper.cc17
-rw-r--r--chrome/renderer/webplugin_delegate_pepper.h1
-rw-r--r--third_party/npapi/bindings/npapi.h155
-rw-r--r--webkit/glue/pepper/pepper.h164
-rw-r--r--webkit/glue/plugins/nphostapi.h1
-rw-r--r--webkit/glue/plugins/plugin_host.cc1
-rw-r--r--webkit/glue/webplugin_delegate.h1
7 files changed, 178 insertions, 162 deletions
diff --git a/chrome/renderer/webplugin_delegate_pepper.cc b/chrome/renderer/webplugin_delegate_pepper.cc
index 6e7e9f0..30d29b7 100644
--- a/chrome/renderer/webplugin_delegate_pepper.cc
+++ b/chrome/renderer/webplugin_delegate_pepper.cc
@@ -18,6 +18,7 @@
#include "base/string_util.h"
#include "webkit/api/public/WebInputEvent.h"
#include "webkit/glue/glue_util.h"
+#include "webkit/glue/pepper/pepper.h"
#include "webkit/glue/plugins/plugin_constants_win.h"
#include "webkit/glue/plugins/plugin_instance.h"
#include "webkit/glue/plugins/plugin_lib.h"
@@ -280,10 +281,10 @@ void WebPluginDelegatePepper::InstallMissingPlugin() {
}
void WebPluginDelegatePepper::SetFocus() {
- NPEvent npevent;
+ NPPepperEvent npevent;
npevent.type = NPEventType_Focus;
- npevent.size = sizeof(NPEvent);
+ npevent.size = sizeof(npevent);
// TODO(sehr): what timestamp should this have?
npevent.timeStampSeconds = 0.0;
// Currently this API only supports gaining focus.
@@ -321,14 +322,14 @@ NPEventTypes ConvertEventTypes(WebInputEvent::Type wetype) {
}
}
-void BuildKeyEvent(const WebInputEvent* event, NPEvent* npevent) {
+void BuildKeyEvent(const WebInputEvent* event, NPPepperEvent* npevent) {
const WebKeyboardEvent* key_event =
reinterpret_cast<const WebKeyboardEvent*>(event);
npevent->u.key.modifier = key_event->modifiers;
npevent->u.key.normalizedKeyCode = key_event->windowsKeyCode;
}
-void BuildCharEvent(const WebInputEvent* event, NPEvent* npevent) {
+void BuildCharEvent(const WebInputEvent* event, NPPepperEvent* npevent) {
const WebKeyboardEvent* key_event =
reinterpret_cast<const WebKeyboardEvent*>(event);
npevent->u.character.modifier = key_event->modifiers;
@@ -342,7 +343,7 @@ void BuildCharEvent(const WebInputEvent* event, NPEvent* npevent) {
}
}
-void BuildMouseEvent(const WebInputEvent* event, NPEvent* npevent) {
+void BuildMouseEvent(const WebInputEvent* event, NPPepperEvent* npevent) {
const WebMouseEvent* mouse_event =
reinterpret_cast<const WebMouseEvent*>(event);
npevent->u.mouse.modifier = mouse_event->modifiers;
@@ -352,7 +353,7 @@ void BuildMouseEvent(const WebInputEvent* event, NPEvent* npevent) {
npevent->u.mouse.clickCount = mouse_event->clickCount;
}
-void BuildMouseWheelEvent(const WebInputEvent* event, NPEvent* npevent) {
+void BuildMouseWheelEvent(const WebInputEvent* event, NPPepperEvent* npevent) {
const WebMouseWheelEvent* mouse_wheel_event =
reinterpret_cast<const WebMouseWheelEvent*>(event);
npevent->u.wheel.modifier = mouse_wheel_event->modifiers;
@@ -366,10 +367,10 @@ void BuildMouseWheelEvent(const WebInputEvent* event, NPEvent* npevent) {
bool WebPluginDelegatePepper::HandleInputEvent(const WebInputEvent& event,
WebCursorInfo* cursor_info) {
- NPEvent npevent;
+ NPPepperEvent npevent;
npevent.type = ConvertEventTypes(event.type);
- npevent.size = sizeof(NPEvent);
+ npevent.size = sizeof(npevent);
npevent.timeStampSeconds = event.timeStampSeconds;
switch (npevent.type) {
case NPEventType_Undefined:
diff --git a/chrome/renderer/webplugin_delegate_pepper.h b/chrome/renderer/webplugin_delegate_pepper.h
index 9374268..214ff43 100644
--- a/chrome/renderer/webplugin_delegate_pepper.h
+++ b/chrome/renderer/webplugin_delegate_pepper.h
@@ -20,6 +20,7 @@
#include "chrome/common/transport_dib.h"
#include "skia/ext/platform_canvas.h"
#include "third_party/npapi/bindings/npapi.h"
+#include "webkit/glue/pepper/pepper.h"
#include "webkit/glue/webcursor.h"
#include "webkit/glue/webplugin_delegate.h"
diff --git a/third_party/npapi/bindings/npapi.h b/third_party/npapi/bindings/npapi.h
index f997953..cb75db4 100644
--- a/third_party/npapi/bindings/npapi.h
+++ b/third_party/npapi/bindings/npapi.h
@@ -437,14 +437,6 @@ typedef enum {
#endif
, NPNVsupportsCocoaBool = 3001 /* TRUE if the browser supports the Cocoa event model */
#endif
-#ifdef PEPPER_APIS_ENABLED
- /*
- * Note: these APIs have not been ratified by Mozilla, et al.
- * Until they are, they need to be distinct values from other enum
- * elements here.
- */
- , NPNVPepperExtensions = 4000 /* A pointer to an NPPepperExtensions structure */
-#endif
} NPNVariable;
typedef enum {
@@ -615,7 +607,6 @@ typedef enum {
NPCoordinateSpaceFlippedScreen
} NPCoordinateSpace;
-#if !defined(PEPPER_APIS_ENABLED)
#if defined(XP_MAC) || defined(XP_MACOSX)
#ifndef NP_NO_CARBON
@@ -746,155 +737,11 @@ enum NPEventType {
#endif /* XP_MACOSX */
+#if !defined(PEPPER_APIS_ENABLED)
/* Stub typedefs for interfaces requiring Pepper types. */
typedef int NPRenderType;
typedef struct _NPRenderContext NPRenderContext;
typedef struct _NPPepperExtensions NPPepperExtensions;
-
-#else /* defined(PEPPER_APIS_ENABLED) */
-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 modifier;
- uint32 normalizedKeyCode;
-} NPKeyEvent;
-
-typedef struct _NPCharacterEvent
-{
- uint32 modifier;
- uint16 text[4];
- uint16 unmodifiedText[4];
-} NPCharacterEvent;
-
-typedef struct _NPMouseEvent
-{
- uint32 modifier;
- int32 button;
- int32 x;
- int32 y;
- int32 clickCount;
-} NPMouseEvent;
-
-typedef struct _NPMouseWheelEvent
-{
- uint32 modifier;
- float deltaX;
- float deltaY;
- float wheelTicksX;
- float wheelTicksY;
- uint32 scrollByPage;
-} NPMouseWheelEvent;
-
-typedef struct _NPDeviceEvent {
- uint32 device_uid;
- uint32 subtype;
- /* uint8 generic[0]; */
-} NPDeviceEvent;
-
-typedef struct _NPMinimizeEvent {
- int32 value;
-} NPMinimizeEvent;
-
-typedef struct _NPFocusEvent {
- int32 value;
-} NPFocusEvent;
-
-typedef struct _NPEvent
-{
- uint32 size;
- int32 type;
- double timeStampSeconds;
- union {
- NPKeyEvent key;
- NPCharacterEvent character;
- NPMouseEvent mouse;
- NPMouseWheelEvent wheel;
- NPMinimizeEvent minimize;
- NPFocusEvent focus;
- NPDeviceEvent device;
- } u;
-} NPEvent;
-
-typedef struct _NPRegion
-{
- int32 x;
- int32 y;
- int32 w;
- int32 h;
-} NPRegion;
-
-typedef enum _NPRenderType
-{
- NPRenderGraphicsRGBA
-} NPRenderType;
-
-typedef struct _NPRenderContext
-{
- union {
- struct {
- void* region;
- int32 stride;
- } graphicsRgba;
- } u;
-} NPRenderContext;
-
-typedef void (*NPFlushRenderContextCallbackPtr)(NPRenderContext* context,
- NPError err,
- void* userData);
-typedef NPError (*NPInitializeRenderContextPtr)(NPP instance,
- NPRenderType type,
- NPRenderContext* context);
-typedef NPError (*NPFlushRenderContextPtr)(NPP instance,
- NPRenderContext* context,
- NPFlushRenderContextCallbackPtr callback,
- void* userData);
-typedef NPError (*NPDestroyRenderContextPtr)(NPP instance,
- NPRenderContext* context);
-
-typedef struct _NPPepperExtensions
-{
- /* Renderer extensions */
- NPInitializeRenderContextPtr initializeRender;
- NPFlushRenderContextPtr flushRender;
- NPDestroyRenderContextPtr destroyRender;
- /* Shared memory extensions */
-} NPPepperExtensions;
-
#endif /* defined(PEPPER_APIS_ENABLED) */
/*
diff --git a/webkit/glue/pepper/pepper.h b/webkit/glue/pepper/pepper.h
new file mode 100644
index 0000000..901109b
--- /dev/null
+++ b/webkit/glue/pepper/pepper.h
@@ -0,0 +1,164 @@
+// 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 WEBKIT_GLUE_PEPPER_PEPPER_H_
+#define WEBKIT_GLUE_PEPPER_PEPPER_H_
+
+#ifdef PEPPER_APIS_ENABLED
+
+#include "base/basictypes.h"
+#include "third_party/npapi/bindings/npapi.h"
+
+/*
+ * A fake "enum" value for getting Pepper extensions.
+ * The variable returns a pointer to an NPPepperExtensions structure
+ */
+#define NPNVPepperExtensions ((NPNVariable) 4000)
+
+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 modifier;
+ uint32 normalizedKeyCode;
+} NPKeyEvent;
+
+typedef struct _NPCharacterEvent
+{
+ uint32 modifier;
+ uint16 text[4];
+ uint16 unmodifiedText[4];
+} NPCharacterEvent;
+
+typedef struct _NPMouseEvent
+{
+ uint32 modifier;
+ int32 button;
+ int32 x;
+ int32 y;
+ int32 clickCount;
+} NPMouseEvent;
+
+typedef struct _NPMouseWheelEvent
+{
+ uint32 modifier;
+ float deltaX;
+ float deltaY;
+ float wheelTicksX;
+ float wheelTicksY;
+ uint32 scrollByPage;
+} NPMouseWheelEvent;
+
+typedef struct _NPDeviceEvent {
+ uint32 device_uid;
+ uint32 subtype;
+ /* uint8 generic[0]; */
+} NPDeviceEvent;
+
+typedef struct _NPMinimizeEvent {
+ int32 value;
+} NPMinimizeEvent;
+
+typedef struct _NPFocusEvent {
+ int32 value;
+} NPFocusEvent;
+
+typedef struct _NPPepprEvent
+{
+ uint32 size;
+ int32 type;
+ double timeStampSeconds;
+ union {
+ NPKeyEvent key;
+ NPCharacterEvent character;
+ NPMouseEvent mouse;
+ NPMouseWheelEvent wheel;
+ NPMinimizeEvent minimize;
+ NPFocusEvent focus;
+ NPDeviceEvent device;
+ } u;
+} NPPepperEvent;
+
+typedef struct _NPPepperRegion
+{
+ int32 x;
+ int32 y;
+ int32 w;
+ int32 h;
+} NPPepperRegion;
+
+typedef enum _NPRenderType
+{
+ NPRenderGraphicsRGBA
+} NPRenderType;
+
+typedef struct _NPRenderContext
+{
+ union {
+ struct {
+ void* region;
+ int32 stride;
+ } graphicsRgba;
+ } u;
+} NPRenderContext;
+
+typedef void (*NPFlushRenderContextCallbackPtr)(NPRenderContext* context,
+ NPError err,
+ void* userData);
+typedef NPError (*NPInitializeRenderContextPtr)(NPP instance,
+ NPRenderType type,
+ NPRenderContext* context);
+typedef NPError (*NPFlushRenderContextPtr)(NPP instance,
+ NPRenderContext* context,
+ NPFlushRenderContextCallbackPtr callback,
+ void* userData);
+typedef NPError (*NPDestroyRenderContextPtr)(NPP instance,
+ NPRenderContext* context);
+
+typedef struct _NPPepperExtensions
+{
+ /* Renderer extensions */
+ NPInitializeRenderContextPtr initializeRender;
+ NPFlushRenderContextPtr flushRender;
+ NPDestroyRenderContextPtr destroyRender;
+ /* Shared memory extensions */
+} NPPepperExtensions;
+
+#endif /* PEPPER_APIS_ENABLED */
+
+#endif /* WEBKIT_GLUE_PEPPER_PEPPER_H_ */
diff --git a/webkit/glue/plugins/nphostapi.h b/webkit/glue/plugins/nphostapi.h
index 8463838c..f840954 100644
--- a/webkit/glue/plugins/nphostapi.h
+++ b/webkit/glue/plugins/nphostapi.h
@@ -8,6 +8,7 @@
#define WEBKIT_GLUE_PLUGIN_NPHOSTAPI_H__
#include "base/port.h"
+#include "webkit/glue/pepper/pepper.h"
#include "third_party/npapi/bindings/npapi.h"
#include "third_party/npapi/bindings/npruntime.h"
diff --git a/webkit/glue/plugins/plugin_host.cc b/webkit/glue/plugins/plugin_host.cc
index e0d2a85..5385dda 100644
--- a/webkit/glue/plugins/plugin_host.cc
+++ b/webkit/glue/plugins/plugin_host.cc
@@ -20,6 +20,7 @@
#include "webkit/glue/webplugininfo.h"
#include "webkit/glue/webplugin_delegate.h"
#include "webkit/glue/webkit_glue.h"
+#include "webkit/glue/pepper/pepper.h"
#include "webkit/glue/plugins/plugin_instance.h"
#include "webkit/glue/plugins/plugin_lib.h"
#include "webkit/glue/plugins/plugin_list.h"
diff --git a/webkit/glue/webplugin_delegate.h b/webkit/glue/webplugin_delegate.h
index 016f699..a2df27f 100644
--- a/webkit/glue/webplugin_delegate.h
+++ b/webkit/glue/webplugin_delegate.h
@@ -12,6 +12,7 @@
#include "base/string16.h"
#include "build/build_config.h"
#include "third_party/npapi/bindings/npapi.h"
+#include "webkit/glue/pepper/pepper.h"
#include "webkit/api/public/WebCanvas.h"
class FilePath;