OLD | NEW |
---|---|
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "ppapi/c/ppb_text_input_controller.h" | |
6 | |
7 #include "ppapi/shared_impl/var.h" | |
5 #include "ppapi/thunk/enter.h" | 8 #include "ppapi/thunk/enter.h" |
9 #include "ppapi/thunk/ppb_instance_api.h" | |
6 #include "ppapi/thunk/thunk.h" | 10 #include "ppapi/thunk/thunk.h" |
7 #include "ppapi/thunk/ppb_instance_api.h" | |
8 | 11 |
9 namespace ppapi { | 12 namespace ppapi { |
10 namespace thunk { | 13 namespace thunk { |
11 | 14 |
12 namespace { | 15 namespace { |
13 | 16 |
14 void SetTextInputType(PP_Instance instance, PP_TextInput_Type type) { | 17 void SetTextInputType(PP_Instance instance, PP_TextInput_Type type) { |
15 EnterInstance enter(instance); | 18 EnterInstance enter(instance); |
16 if (enter.succeeded()) | 19 if (enter.succeeded()) |
17 enter.functions()->SetTextInputType(instance, type); | 20 enter.functions()->SetTextInputType(instance, type); |
18 } | 21 } |
19 | 22 |
20 void UpdateCaretPosition(PP_Instance instance, | 23 void UpdateCaretPosition_0_2(PP_Instance instance, |
21 const PP_Rect* caret, | 24 const PP_Rect* caret, |
22 const PP_Rect* bounding_box) { | 25 const PP_Rect* bounding_box) { |
23 EnterInstance enter(instance); | 26 EnterInstance enter(instance); |
24 if (enter.succeeded() && caret && bounding_box) | 27 if (enter.succeeded() && caret && bounding_box) |
25 enter.functions()->UpdateCaretPosition(instance, *caret, *bounding_box); | 28 enter.functions()->UpdateCaretPosition(instance, *caret, *bounding_box); |
26 } | 29 } |
27 | 30 |
31 void UpdateCaretPosition(PP_Instance instance, | |
32 const PP_Rect* caret) { | |
33 EnterInstance enter(instance); | |
34 if (enter.succeeded() && caret) | |
35 enter.functions()->UpdateCaretPosition(instance, *caret, PP_Rect()); | |
36 } | |
37 | |
28 void CancelCompositionText(PP_Instance instance) { | 38 void CancelCompositionText(PP_Instance instance) { |
29 EnterInstance enter(instance); | 39 EnterInstance enter(instance); |
30 if (enter.succeeded()) | 40 if (enter.succeeded()) |
31 enter.functions()->CancelCompositionText(instance); | 41 enter.functions()->CancelCompositionText(instance); |
32 } | 42 } |
33 | 43 |
34 void UpdateSurroundingText(PP_Instance instance, const char* text, | 44 void UpdateSurroundingText_0_2(PP_Instance instance, const char* text, |
35 uint32_t caret, uint32_t anchor) { | 45 uint32_t caret, uint32_t anchor) { |
36 EnterInstance enter(instance); | 46 EnterInstance enter(instance); |
37 if (enter.succeeded()) | 47 if (enter.succeeded()) |
38 enter.functions()->UpdateSurroundingText(instance, text, caret, anchor); | 48 enter.functions()->UpdateSurroundingText(instance, text, caret, anchor); |
39 } | 49 } |
40 | 50 |
51 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.
| |
52 uint32_t caret, uint32_t anchor) { | |
53 EnterInstance enter(instance); | |
54 StringVar* var = StringVar::FromPPVar(text); | |
55 if (enter.succeeded() && var) | |
56 enter.functions()->UpdateSurroundingText(instance, | |
57 var->value().c_str(), | |
58 caret, | |
59 anchor); | |
60 } | |
61 | |
41 void SelectionChanged(PP_Instance instance) { | 62 void SelectionChanged(PP_Instance instance) { |
42 EnterInstance enter(instance); | 63 EnterInstance enter(instance); |
43 if (enter.succeeded()) | 64 if (enter.succeeded()) |
44 enter.functions()->SelectionChanged(instance); | 65 enter.functions()->SelectionChanged(instance); |
45 } | 66 } |
46 | 67 |
47 const PPB_TextInput_Dev_0_1 g_ppb_textinput_0_1_thunk = { | 68 const PPB_TextInput_Dev_0_1 g_ppb_textinput_0_1_thunk = { |
48 &SetTextInputType, | 69 &SetTextInputType, |
49 &UpdateCaretPosition, | 70 &UpdateCaretPosition_0_2, |
50 &CancelCompositionText, | 71 &CancelCompositionText, |
51 }; | 72 }; |
52 | 73 |
53 const PPB_TextInput_Dev g_ppb_textinput_0_2_thunk = { | 74 const PPB_TextInput_Dev_0_2 g_ppb_textinput_0_2_thunk = { |
75 &SetTextInputType, | |
76 &UpdateCaretPosition_0_2, | |
77 &CancelCompositionText, | |
78 &UpdateSurroundingText_0_2, | |
79 &SelectionChanged, | |
80 }; | |
81 | |
82 const PPB_TextInputController_1_0 g_ppb_textinputcontroller_1_0_thunk = { | |
54 &SetTextInputType, | 83 &SetTextInputType, |
55 &UpdateCaretPosition, | 84 &UpdateCaretPosition, |
56 &CancelCompositionText, | 85 &CancelCompositionText, |
57 &UpdateSurroundingText, | 86 &UpdateSurroundingText, |
58 &SelectionChanged, | |
59 }; | 87 }; |
60 | 88 |
61 } // namespace | 89 } // namespace |
62 | 90 |
63 const PPB_TextInput_Dev_0_1* GetPPB_TextInput_Dev_0_1_Thunk() { | 91 const PPB_TextInput_Dev_0_1* GetPPB_TextInput_Dev_0_1_Thunk() { |
64 return &g_ppb_textinput_0_1_thunk; | 92 return &g_ppb_textinput_0_1_thunk; |
65 } | 93 } |
66 | 94 |
67 const PPB_TextInput_Dev_0_2* GetPPB_TextInput_Dev_0_2_Thunk() { | 95 const PPB_TextInput_Dev_0_2* GetPPB_TextInput_Dev_0_2_Thunk() { |
68 return &g_ppb_textinput_0_2_thunk; | 96 return &g_ppb_textinput_0_2_thunk; |
69 } | 97 } |
70 | 98 |
99 const PPB_TextInputController_1_0* GetPPB_TextInputController_1_0_Thunk() { | |
100 return &g_ppb_textinputcontroller_1_0_thunk; | |
101 } | |
102 | |
71 } // namespace thunk | 103 } // namespace thunk |
72 } // namespace ppapi | 104 } // namespace ppapi |
OLD | NEW |