Chromium Code Reviews| 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..708e0abcaee2b2af6877f1ac71d473b17f312668 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(PP_Instance instance, PP_Var text, |
|
dmichael (off chromium)
2013/07/26 17:59:37
nit: I think it would be clearest to go ahead and
Seigo Nonaka
2013/07/31 18:05:32
Done.
|
| + 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,16 +67,23 @@ 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_0_2, |
| + &CancelCompositionText, |
| + &UpdateSurroundingText_0_2, |
| + &SelectionChanged, |
| +}; |
| + |
| +const PPB_TextInputController_1_0 g_ppb_textinputcontroller_1_0_thunk = { |
| &SetTextInputType, |
| &UpdateCaretPosition, |
| &CancelCompositionText, |
| &UpdateSurroundingText, |
| - &SelectionChanged, |
| }; |
| } // namespace |
| @@ -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 |