summaryrefslogtreecommitdiffstats
path: root/ppapi/shared_impl/ppp_instance_combined.h
diff options
context:
space:
mode:
authordmichael@chromium.org <dmichael@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-07-20 18:11:51 +0000
committerdmichael@chromium.org <dmichael@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-07-20 18:11:51 +0000
commita19358d3fc8effc088e5212d11d7ab4eed4a04c9 (patch)
tree2ea723b39505fba7a77a4d2d31ce21c00d0d7486 /ppapi/shared_impl/ppp_instance_combined.h
parenta45f18300d227334e573e2fde960d1a181757c5a (diff)
downloadchromium_src-a19358d3fc8effc088e5212d11d7ab4eed4a04c9.zip
chromium_src-a19358d3fc8effc088e5212d11d7ab4eed4a04c9.tar.gz
chromium_src-a19358d3fc8effc088e5212d11d7ab4eed4a04c9.tar.bz2
Reland http://codereview.chromium.org/7452002/
Update chromoting input events. (Clang caught this. Thanks, Clang!) Note I'm leaving in temporary backwards-compatibility. brettw, just need a rubber-stamp. This is the same as the last CL. awong/garykac/sergeyu, looking for someone on chromoting team to glance at my changes and make sure I didn't do anything you don't like. This is a high priority for 14, so please look if you can. BUG=None TEST=ppapi tests Review URL: http://codereview.chromium.org/7466002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@93223 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ppapi/shared_impl/ppp_instance_combined.h')
-rw-r--r--ppapi/shared_impl/ppp_instance_combined.h42
1 files changed, 41 insertions, 1 deletions
diff --git a/ppapi/shared_impl/ppp_instance_combined.h b/ppapi/shared_impl/ppp_instance_combined.h
index 33548d5..57b5beb 100644
--- a/ppapi/shared_impl/ppp_instance_combined.h
+++ b/ppapi/shared_impl/ppp_instance_combined.h
@@ -8,11 +8,51 @@
#include "base/basictypes.h"
#include "ppapi/c/ppp_instance.h"
+// TODO(dmichael): This is here only for temporary backwards compatibility so
+// that NaCl and other plugins aren't broken while the change propagates. This
+// needs to be deleted in 14, because we don't intend to support PPP_Instance.
+// HandleInputEvent.
+// --- Begin backwards compatibility code.
+union PP_InputEventData {
+ struct PP_InputEvent_Key key;
+ struct PP_InputEvent_Character character;
+ struct PP_InputEvent_Mouse mouse;
+ struct PP_InputEvent_Wheel wheel;
+ char padding[64];
+};
+struct PP_InputEvent {
+ PP_InputEvent_Type type;
+ int32_t padding;
+ PP_TimeTicks time_stamp;
+ union PP_InputEventData u;
+};
+PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PP_InputEvent, 80);
+
+#define PPP_INSTANCE_INTERFACE_0_5 "PPP_Instance;0.5"
+
+struct PPP_Instance_0_5 {
+ PP_Bool (*DidCreate)(PP_Instance instance,
+ uint32_t argc,
+ const char* argn[],
+ const char* argv[]);
+ void (*DidDestroy)(PP_Instance instance);
+ void (*DidChangeView)(PP_Instance instance,
+ const struct PP_Rect* position,
+ const struct PP_Rect* clip);
+ void (*DidChangeFocus)(PP_Instance instance, PP_Bool has_focus);
+ PP_Bool (*HandleInputEvent)(PP_Instance instance,
+ const struct PP_InputEvent* event);
+ PP_Bool (*HandleDocumentLoad)(PP_Instance instance, PP_Resource url_loader);
+};
+// --- End backwards compatibility code.
namespace ppapi {
-struct PPP_Instance_Combined : public PPP_Instance_0_5 {
+struct PPP_Instance_Combined : public PPP_Instance_1_0 {
public:
+ explicit PPP_Instance_Combined(const PPP_Instance_1_0& instance_if);
explicit PPP_Instance_Combined(const PPP_Instance_0_5& instance_if);
+ PP_Bool (*HandleInputEvent_0_5)(PP_Instance instance,
+ const struct PP_InputEvent* event);
DISALLOW_COPY_AND_ASSIGN(PPP_Instance_Combined);
};