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

Unified Diff: ppapi/c/dev/ppb_testing_dev.h

Issue 8413021: Add functions to generate input events to PPB_Testing_Dev. These make (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years, 1 month 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
Index: ppapi/c/dev/ppb_testing_dev.h
===================================================================
--- ppapi/c/dev/ppb_testing_dev.h (revision 110385)
+++ ppapi/c/dev/ppb_testing_dev.h (working copy)
@@ -12,10 +12,9 @@
struct PP_Point;
-// TODO(dmichael): Delete support for 0.6.
-#define PPB_TESTING_DEV_INTERFACE_0_6 "PPB_Testing(Dev);0.6"
#define PPB_TESTING_DEV_INTERFACE_0_7 "PPB_Testing(Dev);0.7"
-#define PPB_TESTING_DEV_INTERFACE PPB_TESTING_DEV_INTERFACE_0_7
+#define PPB_TESTING_DEV_INTERFACE_0_8 "PPB_Testing(Dev);0.8"
+#define PPB_TESTING_DEV_INTERFACE PPB_TESTING_DEV_INTERFACE_0_8
// This interface contains functions used for unit testing. Do not use in
// production code. They are not guaranteed to be available in normal plugin
@@ -74,7 +73,38 @@
// Returns PP_TRUE if the plugin is running out-of-process, PP_FALSE
// otherwise.
PP_Bool (*IsOutOfProcess)();
+
+ // Passes the input event to the renderer, which sends it back to the
+ // plugin. The plugin should implement PPP_InputEvent and register for
+ // the input event type.
+ //
+ // This method sends an input event through the renderer just as if it had
+ // come from the user. If the renderer determines that it is an event for the
+ // plugin, it will be sent to be handled by the plugin's PPP_InputEvent
+ // interface. When generating mouse events, make sure the position is within
+ // the plugin's area on the page. When generating wheel events, make sure to
+ // precede it with a mouse event inside the plugin's area. When generating a
+ // keyboard event, make sure the plugin has focus.
+ //
+ // Note that the renderer may generate extra input events in order to
+ // maintain certain invariants, such as always having a "mouse enter" event
+ // before any other mouse event. Furthermore, the event the plugin receives
+ // after sending a simulated event will be slightly different from the
+ // original event. The renderer will change the timestamp, add modifiers,
+ // and slightly change mouse position, due to the complex coordinate
+ // transforms it performs.
+ void (*SimulateInputEvent)(PP_Instance instance, PP_Resource input_event);
};
+struct PPB_Testing_Dev_0_7 {
+ PP_Bool (*ReadImageData)(PP_Resource device_context_2d,
+ PP_Resource image,
+ const struct PP_Point* top_left);
+ void (*RunMessageLoop)(PP_Instance instance);
+ void (*QuitMessageLoop)(PP_Instance instance);
+ uint32_t (*GetLiveObjectsForInstance)(PP_Instance instance);
+ PP_Bool (*IsOutOfProcess)();
+};
+
#endif /* PPAPI_C_DEV_PPB_TESTING_DEV_H_ */

Powered by Google App Engine
This is Rietveld 408576698