summaryrefslogtreecommitdiffstats
path: root/ppapi/proxy/ppb_text_input_proxy.h
diff options
context:
space:
mode:
authorkinaba@chromium.org <kinaba@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-09-29 04:23:09 +0000
committerkinaba@chromium.org <kinaba@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-09-29 04:23:09 +0000
commit2daba2f3623744b78f1880d8ebb0a673d03f52d3 (patch)
tree5bdad577cacfe4147ffceddcb1b1d0e1b6955232 /ppapi/proxy/ppb_text_input_proxy.h
parent47d09f6e03e6d8ee179e479095c5afd9564921e0 (diff)
downloadchromium_src-2daba2f3623744b78f1880d8ebb0a673d03f52d3.zip
chromium_src-2daba2f3623744b78f1880d8ebb0a673d03f52d3.tar.gz
chromium_src-2daba2f3623744b78f1880d8ebb0a673d03f52d3.tar.bz2
Additional update on Pepper IME API and boilerplate thunk/proxy implementation.
BUG=59425 TEST=Check that ppapi_tests compile (with GYP_DEFINES=shared_library, too). This CL is the second (out of three) part for adding IME support for PPAPI. It reflects comments from James Su to the previous CL: http://codereview.chromium.org/7882004. - Renamed ..._COMPOSTION_START to _IME_COMPOSITON_START. - Changed to assure GetSegment to return a strictly increasing sequence of segmentation points from 0 to the length. and, - Added the mostly boilerplate code for interfacing with in-process & out-of-process plugins. The actual implementation of the IME support will come as the next and the last part of this series of patches. Review URL: http://codereview.chromium.org/8059006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103234 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ppapi/proxy/ppb_text_input_proxy.h')
-rw-r--r--ppapi/proxy/ppb_text_input_proxy.h56
1 files changed, 56 insertions, 0 deletions
diff --git a/ppapi/proxy/ppb_text_input_proxy.h b/ppapi/proxy/ppb_text_input_proxy.h
new file mode 100644
index 0000000..e234f33
--- /dev/null
+++ b/ppapi/proxy/ppb_text_input_proxy.h
@@ -0,0 +1,56 @@
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef PPAPI_PPB_TEXT_INPUT_PROXY_H_
+#define PPAPI_PPB_TEXT_INPUT_PROXY_H_
+
+#include "ppapi/c/pp_instance.h"
+#include "ppapi/c/pp_rect.h"
+#include "ppapi/proxy/interface_proxy.h"
+#include "ppapi/thunk/ppb_text_input_api.h"
+
+struct PPB_TextInput_Dev;
+
+namespace ppapi {
+namespace proxy {
+
+class PPB_TextInput_Proxy
+ : public InterfaceProxy,
+ public ppapi::thunk::PPB_TextInput_FunctionAPI {
+ public:
+ PPB_TextInput_Proxy(Dispatcher* dispatcher);
+ virtual ~PPB_TextInput_Proxy();
+
+ // FunctionGroupBase overrides.
+ ppapi::thunk::PPB_TextInput_FunctionAPI* AsPPB_TextInput_FunctionAPI()
+ OVERRIDE;
+
+ // PPB_TextInput_FunctionAPI implementation.
+ virtual void SetTextInputType(PP_Instance instance,
+ PP_TextInput_Type type) OVERRIDE;
+ virtual void UpdateCaretPosition(PP_Instance instance,
+ const PP_Rect& caret,
+ const PP_Rect& bounding_box) OVERRIDE;
+ virtual void CancelCompositionText(PP_Instance instance) OVERRIDE;
+
+ // InterfaceProxy implementation.
+ virtual bool OnMessageReceived(const IPC::Message& msg) OVERRIDE;
+
+ static const InterfaceID kInterfaceID = INTERFACE_ID_PPB_TEXT_INPUT;
+
+ private:
+ // Message handlers.
+ void OnMsgSetTextInputType(PP_Instance instance, PP_TextInput_Type type);
+ void OnMsgUpdateCaretPosition(PP_Instance instance,
+ PP_Rect caret,
+ PP_Rect bounding_box);
+ void OnMsgCancelCompositionText(PP_Instance instance);
+
+ DISALLOW_COPY_AND_ASSIGN(PPB_TextInput_Proxy);
+};
+
+} // namespace proxy
+} // namespace ppapi
+
+#endif // PPAPI_PPB_TEXT_INPUT_PROXY_H_