Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(94)

Side by Side Diff: webkit/plugins/ppapi/ppb_text_input_impl.cc

Issue 10170014: Move text input API to Instance. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
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
3 // found in the LICENSE file.
4
5 #include "webkit/plugins/ppapi/ppb_text_input_impl.h"
6
7 #include "base/logging.h"
8 #include "ui/base/ime/text_input_type.h"
9 #include "ui/gfx/rect.h"
10 #include "webkit/plugins/ppapi/ppapi_plugin_instance.h"
11
12 namespace webkit {
13 namespace ppapi {
14
15 PPB_TextInput_Impl::PPB_TextInput_Impl(PluginInstance* instance)
16 : instance_(instance) {
17 }
18
19 ::ppapi::thunk::PPB_TextInput_FunctionAPI*
20 PPB_TextInput_Impl::AsPPB_TextInput_FunctionAPI() {
21 return this;
22 }
23
24 // Check PP_TextInput_Type and ui::TextInputType are kept in sync.
25 COMPILE_ASSERT(int(ui::TEXT_INPUT_TYPE_NONE) == \
26 int(PP_TEXTINPUT_TYPE_NONE), mismatching_enums);
27 COMPILE_ASSERT(int(ui::TEXT_INPUT_TYPE_TEXT) == \
28 int(PP_TEXTINPUT_TYPE_TEXT), mismatching_enums);
29 COMPILE_ASSERT(int(ui::TEXT_INPUT_TYPE_PASSWORD) == \
30 int(PP_TEXTINPUT_TYPE_PASSWORD), mismatching_enums);
31 COMPILE_ASSERT(int(ui::TEXT_INPUT_TYPE_SEARCH) == \
32 int(PP_TEXTINPUT_TYPE_SEARCH), mismatching_enums);
33 COMPILE_ASSERT(int(ui::TEXT_INPUT_TYPE_EMAIL) == \
34 int(PP_TEXTINPUT_TYPE_EMAIL), mismatching_enums);
35 COMPILE_ASSERT(int(ui::TEXT_INPUT_TYPE_NUMBER) == \
36 int(PP_TEXTINPUT_TYPE_NUMBER), mismatching_enums);
37 COMPILE_ASSERT(int(ui::TEXT_INPUT_TYPE_TELEPHONE) == \
38 int(PP_TEXTINPUT_TYPE_TELEPHONE), mismatching_enums);
39 COMPILE_ASSERT(int(ui::TEXT_INPUT_TYPE_URL) == \
40 int(PP_TEXTINPUT_TYPE_URL), mismatching_enums);
41
42 void PPB_TextInput_Impl::SetTextInputType(PP_Instance instance,
43 PP_TextInput_Type type) {
44 int itype = type;
45 if (itype < 0 || itype > ui::TEXT_INPUT_TYPE_URL)
46 itype = ui::TEXT_INPUT_TYPE_NONE;
47 instance_->SetTextInputType(static_cast<ui::TextInputType>(itype));
48 }
49
50 void PPB_TextInput_Impl::UpdateCaretPosition(PP_Instance instance,
51 const PP_Rect& caret,
52 const PP_Rect& bounding_box) {
53 instance_->UpdateCaretPosition(
54 gfx::Rect(caret.point.x, caret.point.y,
55 caret.size.width, caret.size.height),
56 gfx::Rect(bounding_box.point.x, bounding_box.point.y,
57 bounding_box.size.width, bounding_box.size.height));
58 }
59
60 void PPB_TextInput_Impl::CancelCompositionText(PP_Instance instance) {
61 instance_->delegate()->PluginRequestedCancelComposition(instance_);
62 }
63
64 void PPB_TextInput_Impl::SelectionChanged(PP_Instance instance) {
65 instance_->SelectionChanged();
66 }
67
68 void PPB_TextInput_Impl::UpdateSurroundingText(PP_Instance instance,
69 const char* text,
70 uint32_t caret,
71 uint32_t anchor) {
72 instance_->UpdateSurroundingText(text, caret, anchor);
73 }
74
75
76 } // namespace ppapi
77 } // namespace webkit
OLDNEW
« ppapi/shared_impl/function_group_base.h ('K') | « webkit/plugins/ppapi/ppb_text_input_impl.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698