summaryrefslogtreecommitdiffstats
path: root/ppapi/shared_impl
diff options
context:
space:
mode:
authordmichael@chromium.org <dmichael@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-07-20 16:03:38 +0000
committerdmichael@chromium.org <dmichael@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-07-20 16:03:38 +0000
commit61e3ef3a32dd7b5bd4c8c6b1b3a68ed081101a97 (patch)
treee3e36bb4af1681c01d613cd290e9f13e5308f3f3 /ppapi/shared_impl
parent8d5f3ace1907853bd6e838d4f061c23a526b5384 (diff)
downloadchromium_src-61e3ef3a32dd7b5bd4c8c6b1b3a68ed081101a97.zip
chromium_src-61e3ef3a32dd7b5bd4c8c6b1b3a68ed081101a97.tar.gz
chromium_src-61e3ef3a32dd7b5bd4c8c6b1b3a68ed081101a97.tar.bz2
Remove HandleInputEvent from PPP_Instance and freeze to 1.0.
Note I'm leaving in temporary backwards-compatibility. BUG= http://code.google.com/p/nativeclient/issues/detail?id=2035 TEST=ppapi tests Review URL: http://codereview.chromium.org/7452002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@93202 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ppapi/shared_impl')
-rw-r--r--ppapi/shared_impl/ppp_instance_combined.cc14
-rw-r--r--ppapi/shared_impl/ppp_instance_combined.h42
2 files changed, 54 insertions, 2 deletions
diff --git a/ppapi/shared_impl/ppp_instance_combined.cc b/ppapi/shared_impl/ppp_instance_combined.cc
index ce3d2c4..ffb96a4 100644
--- a/ppapi/shared_impl/ppp_instance_combined.cc
+++ b/ppapi/shared_impl/ppp_instance_combined.cc
@@ -7,8 +7,20 @@
namespace ppapi {
PPP_Instance_Combined::PPP_Instance_Combined(
+ const PPP_Instance_1_0& instance_if)
+ : PPP_Instance_1_0(instance_if),
+ HandleInputEvent_0_5(NULL) {
+}
+
+PPP_Instance_Combined::PPP_Instance_Combined(
const PPP_Instance_0_5& instance_if)
- : PPP_Instance_0_5(instance_if) {
+ : PPP_Instance_1_0(),
+ HandleInputEvent_0_5(instance_if.HandleInputEvent) {
+ DidCreate = instance_if.DidCreate;
+ DidDestroy = instance_if.DidDestroy;
+ DidChangeView = instance_if.DidChangeView;
+ DidChangeFocus = instance_if.DidChangeFocus;
+ HandleDocumentLoad = instance_if.HandleDocumentLoad;
}
} // namespace ppapi
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);
};