Index: ppapi/shared_impl/input_event_impl.h |
diff --git a/ppapi/shared_impl/input_event_impl.h b/ppapi/shared_impl/input_event_impl.h |
index b5411dd00495942442884dae957518e1f0d2801a..baa4bdab9e805cf9bcc271413b9a2098bca6b4b1 100644 |
--- a/ppapi/shared_impl/input_event_impl.h |
+++ b/ppapi/shared_impl/input_event_impl.h |
@@ -7,7 +7,9 @@ |
#include <string> |
+#include "base/basictypes.h" |
#include "base/compiler_specific.h" |
+#include "ppapi/shared_impl/resource.h" |
#include "ppapi/thunk/ppb_input_event_api.h" |
namespace ppapi { |
@@ -42,9 +44,22 @@ struct InputEventData { |
// This simple class implements the PPB_InputEvent_API in terms of the |
// shared InputEventData structure |
-class InputEventImpl : public thunk::PPB_InputEvent_API { |
+class InputEventImpl : public Resource, public thunk::PPB_InputEvent_API { |
public: |
- explicit InputEventImpl(const InputEventData& data); |
+ struct InitAsImpl {}; |
+ struct InitAsProxy {}; |
+ |
+ // The dummy arguments control which version of Resource's constructor is |
+ // called for this base class. |
+ InputEventImpl(const InitAsImpl&, |
+ PP_Instance instance, |
+ const InputEventData& data); |
+ InputEventImpl(const InitAsProxy&, |
+ PP_Instance instance, |
+ const InputEventData& data); |
+ |
+ // Resource overrides. |
+ virtual PPB_InputEvent_API* AsPPB_InputEvent_API() OVERRIDE; |
// PPB_InputEvent_API implementation. |
virtual const InputEventData& GetInputEventData() const OVERRIDE; |
@@ -60,13 +75,10 @@ class InputEventImpl : public thunk::PPB_InputEvent_API { |
virtual uint32_t GetKeyCode() OVERRIDE; |
virtual PP_Var GetCharacterText() OVERRIDE; |
- protected: |
- // Derived classes override this to convert a string to a PP_Var in either |
- // the proxy or the impl. |
- virtual PP_Var StringToPPVar(const std::string& str) = 0; |
- |
private: |
InputEventData data_; |
+ |
+ DISALLOW_IMPLICIT_CONSTRUCTORS(InputEventImpl); |
}; |
} // namespace ppapi |