Index: ppapi/thunk/ppb_text_input_thunk.cc |
diff --git a/ppapi/thunk/ppb_text_input_thunk.cc b/ppapi/thunk/ppb_text_input_thunk.cc |
index 7d35e2a799fbb3f8b1e1b54b14182fc49233798b..55fb4c922bde4bfd20f58270c4950289ee680ce0 100644 |
--- a/ppapi/thunk/ppb_text_input_thunk.cc |
+++ b/ppapi/thunk/ppb_text_input_thunk.cc |
@@ -2,9 +2,12 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
+#include "ppapi/c/ppb_text_input_controller.h" |
+ |
+#include "ppapi/shared_impl/var.h" |
#include "ppapi/thunk/enter.h" |
-#include "ppapi/thunk/thunk.h" |
#include "ppapi/thunk/ppb_instance_api.h" |
+#include "ppapi/thunk/thunk.h" |
namespace ppapi { |
namespace thunk { |
@@ -17,7 +20,7 @@ void SetTextInputType(PP_Instance instance, PP_TextInput_Type type) { |
enter.functions()->SetTextInputType(instance, type); |
} |
-void UpdateCaretPosition(PP_Instance instance, |
+void UpdateCaretPosition_0_2(PP_Instance instance, |
const PP_Rect* caret, |
const PP_Rect* bounding_box) { |
EnterInstance enter(instance); |
@@ -25,19 +28,37 @@ void UpdateCaretPosition(PP_Instance instance, |
enter.functions()->UpdateCaretPosition(instance, *caret, *bounding_box); |
} |
+void UpdateCaretPosition(PP_Instance instance, |
+ const PP_Rect* caret) { |
+ EnterInstance enter(instance); |
+ if (enter.succeeded() && caret) |
+ enter.functions()->UpdateCaretPosition(instance, *caret, PP_Rect()); |
+} |
+ |
void CancelCompositionText(PP_Instance instance) { |
EnterInstance enter(instance); |
if (enter.succeeded()) |
enter.functions()->CancelCompositionText(instance); |
} |
-void UpdateSurroundingText(PP_Instance instance, const char* text, |
- uint32_t caret, uint32_t anchor) { |
+void UpdateSurroundingText_0_2(PP_Instance instance, const char* text, |
+ uint32_t caret, uint32_t anchor) { |
EnterInstance enter(instance); |
if (enter.succeeded()) |
enter.functions()->UpdateSurroundingText(instance, text, caret, anchor); |
} |
+void UpdateSurroundingText_1_0(PP_Instance instance, PP_Var text, |
+ uint32_t caret, uint32_t anchor) { |
+ EnterInstance enter(instance); |
+ StringVar* var = StringVar::FromPPVar(text); |
+ if (enter.succeeded() && var) |
+ enter.functions()->UpdateSurroundingText(instance, |
+ var->value().c_str(), |
+ caret, |
+ anchor); |
+} |
+ |
void SelectionChanged(PP_Instance instance) { |
EnterInstance enter(instance); |
if (enter.succeeded()) |
@@ -46,18 +67,25 @@ void SelectionChanged(PP_Instance instance) { |
const PPB_TextInput_Dev_0_1 g_ppb_textinput_0_1_thunk = { |
&SetTextInputType, |
- &UpdateCaretPosition, |
+ &UpdateCaretPosition_0_2, |
&CancelCompositionText, |
}; |
-const PPB_TextInput_Dev g_ppb_textinput_0_2_thunk = { |
+const PPB_TextInput_Dev_0_2 g_ppb_textinput_0_2_thunk = { |
&SetTextInputType, |
- &UpdateCaretPosition, |
+ &UpdateCaretPosition_0_2, |
&CancelCompositionText, |
- &UpdateSurroundingText, |
+ &UpdateSurroundingText_0_2, |
&SelectionChanged, |
}; |
+const PPB_TextInputController_1_0 g_ppb_textinputcontroller_1_0_thunk = { |
+ &SetTextInputType, |
+ &UpdateCaretPosition, |
+ &CancelCompositionText, |
+ &UpdateSurroundingText_1_0, |
+}; |
+ |
} // namespace |
const PPB_TextInput_Dev_0_1* GetPPB_TextInput_Dev_0_1_Thunk() { |
@@ -68,5 +96,9 @@ const PPB_TextInput_Dev_0_2* GetPPB_TextInput_Dev_0_2_Thunk() { |
return &g_ppb_textinput_0_2_thunk; |
} |
+const PPB_TextInputController_1_0* GetPPB_TextInputController_1_0_Thunk() { |
+ return &g_ppb_textinputcontroller_1_0_thunk; |
+} |
+ |
} // namespace thunk |
} // namespace ppapi |