summaryrefslogtreecommitdiffstats
path: root/ppapi/thunk
diff options
context:
space:
mode:
authorbrettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-07-19 19:33:55 +0000
committerbrettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-07-19 19:33:55 +0000
commitaa0c865d8f2824f60013ace1c60b3e5fa4c2210a (patch)
treed8124920b63ea2466fb9642a19471bf0c14fe06c /ppapi/thunk
parentafa3c18d08b411bda2975a5ae6f33a4ed939875f (diff)
downloadchromium_src-aa0c865d8f2824f60013ace1c60b3e5fa4c2210a.zip
chromium_src-aa0c865d8f2824f60013ace1c60b3e5fa4c2210a.tar.gz
chromium_src-aa0c865d8f2824f60013ace1c60b3e5fa4c2210a.tar.bz2
Allow creation of input events. Revert changes to testing interface for
creating keyboard events. TEST=manual Review URL: http://codereview.chromium.org/7443005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@93076 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ppapi/thunk')
-rw-r--r--ppapi/thunk/ppb_input_event_thunk.cc46
-rw-r--r--ppapi/thunk/resource_creation_api.h23
2 files changed, 69 insertions, 0 deletions
diff --git a/ppapi/thunk/ppb_input_event_thunk.cc b/ppapi/thunk/ppb_input_event_thunk.cc
index 501502c..4fee1a1 100644
--- a/ppapi/thunk/ppb_input_event_thunk.cc
+++ b/ppapi/thunk/ppb_input_event_thunk.cc
@@ -80,6 +80,21 @@ const PPB_InputEvent g_ppb_input_event_thunk = {
// Mouse -----------------------------------------------------------------------
+PP_Resource CreateMouseInputEvent(PP_Instance instance,
+ PP_InputEvent_Type type,
+ PP_TimeTicks time_stamp,
+ uint32_t modifiers,
+ PP_InputEvent_MouseButton mouse_button,
+ PP_Point mouse_position,
+ int32_t click_count) {
+ EnterFunction<ResourceCreationAPI> enter(instance, true);
+ if (enter.failed())
+ return 0;
+ return enter.functions()->CreateMouseInputEvent(instance, type, time_stamp,
+ modifiers, mouse_button,
+ mouse_position, click_count);
+}
+
PP_Bool IsMouseInputEvent(PP_Resource resource) {
if (!IsInputEvent(resource))
return PP_FALSE; // Prevent warning log in GetType.
@@ -114,6 +129,7 @@ int32_t GetMouseClickCount(PP_Resource mouse_event) {
}
const PPB_MouseInputEvent g_ppb_mouse_input_event_thunk = {
+ &CreateMouseInputEvent,
&IsMouseInputEvent,
&GetMouseButton,
&GetMousePosition,
@@ -122,6 +138,20 @@ const PPB_MouseInputEvent g_ppb_mouse_input_event_thunk = {
// Wheel -----------------------------------------------------------------------
+PP_Resource CreateWheelInputEvent(PP_Instance instance,
+ PP_TimeTicks time_stamp,
+ uint32_t modifiers,
+ PP_FloatPoint wheel_delta,
+ PP_FloatPoint wheel_ticks,
+ PP_Bool scroll_by_page) {
+ EnterFunction<ResourceCreationAPI> enter(instance, true);
+ if (enter.failed())
+ return 0;
+ return enter.functions()->CreateWheelInputEvent(instance, time_stamp,
+ modifiers, wheel_delta,
+ wheel_ticks, scroll_by_page);
+}
+
PP_Bool IsWheelInputEvent(PP_Resource resource) {
if (!IsInputEvent(resource))
return PP_FALSE; // Prevent warning log in GetType.
@@ -151,6 +181,7 @@ PP_Bool GetWheelScrollByPage(PP_Resource wheel_event) {
}
const PPB_WheelInputEvent g_ppb_wheel_input_event_thunk = {
+ &CreateWheelInputEvent,
&IsWheelInputEvent,
&GetWheelDelta,
&GetWheelTicks,
@@ -159,6 +190,20 @@ const PPB_WheelInputEvent g_ppb_wheel_input_event_thunk = {
// Keyboard --------------------------------------------------------------------
+PP_Resource CreateKeyboardInputEvent(PP_Instance instance,
+ PP_InputEvent_Type type,
+ PP_TimeTicks time_stamp,
+ uint32_t modifiers,
+ uint32_t key_code,
+ struct PP_Var character_text) {
+ EnterFunction<ResourceCreationAPI> enter(instance, true);
+ if (enter.failed())
+ return 0;
+ return enter.functions()->CreateKeyboardInputEvent(instance, type, time_stamp,
+ modifiers, key_code,
+ character_text);
+}
+
PP_Bool IsKeyboardInputEvent(PP_Resource resource) {
if (!IsInputEvent(resource))
return PP_FALSE; // Prevent warning log in GetType.
@@ -183,6 +228,7 @@ PP_Var GetCharacterText(PP_Resource character_event) {
}
const PPB_KeyboardInputEvent g_ppb_keyboard_input_event_thunk = {
+ &CreateKeyboardInputEvent,
&IsKeyboardInputEvent,
&GetKeyCode,
&GetCharacterText
diff --git a/ppapi/thunk/resource_creation_api.h b/ppapi/thunk/resource_creation_api.h
index 15641c3..3ac84b2 100644
--- a/ppapi/thunk/resource_creation_api.h
+++ b/ppapi/thunk/resource_creation_api.h
@@ -15,6 +15,7 @@
#include "ppapi/c/ppb_audio_config.h"
#include "ppapi/c/ppb_file_system.h"
#include "ppapi/c/ppb_image_data.h"
+#include "ppapi/c/ppb_input_event.h"
#include "ppapi/proxy/interface_id.h"
struct PP_Flash_Menu;
@@ -83,6 +84,21 @@ class ResourceCreationAPI {
PP_ImageDataFormat format,
const PP_Size& size,
PP_Bool init_to_zero) = 0;
+ virtual PP_Resource CreateKeyboardInputEvent(
+ PP_Instance instance,
+ PP_InputEvent_Type type,
+ PP_TimeTicks time_stamp,
+ uint32_t modifiers,
+ uint32_t key_code,
+ struct PP_Var character_text) = 0;
+ virtual PP_Resource CreateMouseInputEvent(
+ PP_Instance instance,
+ PP_InputEvent_Type type,
+ PP_TimeTicks time_stamp,
+ uint32_t modifiers,
+ PP_InputEvent_MouseButton mouse_button,
+ PP_Point mouse_position,
+ int32_t click_count) = 0;
virtual PP_Resource CreateScrollbar(PP_Instance instance,
PP_Bool vertical) = 0;
virtual PP_Resource CreateSurface3D(PP_Instance instance,
@@ -96,6 +112,13 @@ class ResourceCreationAPI {
virtual PP_Resource CreateVideoDecoder(PP_Instance instance) = 0;
virtual PP_Resource CreateVideoLayer(PP_Instance instance,
PP_VideoLayerMode_Dev mode) = 0;
+ virtual PP_Resource CreateWheelInputEvent(
+ PP_Instance instance,
+ PP_TimeTicks time_stamp,
+ uint32_t modifiers,
+ PP_FloatPoint wheel_delta,
+ PP_FloatPoint wheel_ticks,
+ PP_Bool scroll_by_page) = 0;
static const ::pp::proxy::InterfaceID interface_id =
::pp::proxy::INTERFACE_ID_RESOURCE_CREATION;