diff options
Diffstat (limited to 'webkit')
-rw-r--r-- | webkit/glue/webkit_glue.gypi | 2 | ||||
-rw-r--r-- | webkit/plugins/ppapi/event_conversion.cc | 6 | ||||
-rw-r--r-- | webkit/plugins/ppapi/plugin_module.cc | 1 | ||||
-rw-r--r-- | webkit/plugins/ppapi/ppb_text_input_impl.cc | 59 | ||||
-rw-r--r-- | webkit/plugins/ppapi/ppb_text_input_impl.h | 44 | ||||
-rw-r--r-- | webkit/plugins/ppapi/resource_tracker.cc | 5 |
6 files changed, 113 insertions, 4 deletions
diff --git a/webkit/glue/webkit_glue.gypi b/webkit/glue/webkit_glue.gypi index a6adf2b..e6ba8fd 100644 --- a/webkit/glue/webkit_glue.gypi +++ b/webkit/glue/webkit_glue.gypi @@ -274,6 +274,8 @@ '../plugins/ppapi/ppb_scrollbar_impl.h', '../plugins/ppapi/ppb_surface_3d_impl.cc', '../plugins/ppapi/ppb_surface_3d_impl.h', + '../plugins/ppapi/ppb_text_input_impl.cc', + '../plugins/ppapi/ppb_text_input_impl.h', '../plugins/ppapi/ppb_uma_private_impl.cc', '../plugins/ppapi/ppb_uma_private_impl.h', '../plugins/ppapi/ppb_url_loader_impl.cc', diff --git a/webkit/plugins/ppapi/event_conversion.cc b/webkit/plugins/ppapi/event_conversion.cc index 80df1f6..cec3a64 100644 --- a/webkit/plugins/ppapi/event_conversion.cc +++ b/webkit/plugins/ppapi/event_conversion.cc @@ -302,9 +302,9 @@ WebInputEvent* CreateWebInputEvent(const InputEventData& event) { case PP_INPUTEVENT_TYPE_CHAR: web_input_event.reset(BuildCharEvent(event)); break; - case PP_INPUTEVENT_TYPE_COMPOSITION_START: - case PP_INPUTEVENT_TYPE_COMPOSITION_UPDATE: - case PP_INPUTEVENT_TYPE_COMPOSITION_END: + case PP_INPUTEVENT_TYPE_IME_COMPOSITION_START: + case PP_INPUTEVENT_TYPE_IME_COMPOSITION_UPDATE: + case PP_INPUTEVENT_TYPE_IME_COMPOSITION_END: case PP_INPUTEVENT_TYPE_IME_TEXT: // TODO(kinaba) implement in WebKit an event structure to handle // composition events. diff --git a/webkit/plugins/ppapi/plugin_module.cc b/webkit/plugins/ppapi/plugin_module.cc index a1f0c8c..43fbd6f 100644 --- a/webkit/plugins/ppapi/plugin_module.cc +++ b/webkit/plugins/ppapi/plugin_module.cc @@ -32,6 +32,7 @@ #include "ppapi/c/dev/ppb_scrollbar_dev.h" #include "ppapi/c/dev/ppb_surface_3d_dev.h" #include "ppapi/c/dev/ppb_testing_dev.h" +#include "ppapi/c/dev/ppb_text_input_dev.h" #include "ppapi/c/dev/ppb_transport_dev.h" #include "ppapi/c/dev/ppb_url_util_dev.h" #include "ppapi/c/dev/ppb_var_deprecated.h" diff --git a/webkit/plugins/ppapi/ppb_text_input_impl.cc b/webkit/plugins/ppapi/ppb_text_input_impl.cc new file mode 100644 index 0000000..fc02925 --- /dev/null +++ b/webkit/plugins/ppapi/ppb_text_input_impl.cc @@ -0,0 +1,59 @@ +// 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. + +#include "webkit/plugins/ppapi/ppb_text_input_impl.h" + +#include "base/logging.h" +#include "third_party/WebKit/Source/WebKit/chromium/public/WebTextInputType.h" +#include "webkit/plugins/ppapi/ppapi_plugin_instance.h" + +namespace webkit { +namespace ppapi { + +PPB_TextInput_Impl::PPB_TextInput_Impl(PluginInstance* instance) + : instance_(instance) { +} + +::ppapi::thunk::PPB_TextInput_FunctionAPI* +PPB_TextInput_Impl::AsPPB_TextInput_FunctionAPI() { + return this; +} + +COMPILE_ASSERT(int(WebKit::WebTextInputTypeNone) == \ + int(PP_TEXTINPUT_TYPE_NONE), mismatching_enums); +COMPILE_ASSERT(int(WebKit::WebTextInputTypeText) == \ + int(PP_TEXTINPUT_TYPE_TEXT), mismatching_enums); +COMPILE_ASSERT(int(WebKit::WebTextInputTypePassword) == \ + int(PP_TEXTINPUT_TYPE_PASSWORD), mismatching_enums); +COMPILE_ASSERT(int(WebKit::WebTextInputTypeSearch) == \ + int(PP_TEXTINPUT_TYPE_SEARCH), mismatching_enums); +COMPILE_ASSERT(int(WebKit::WebTextInputTypeEmail) == \ + int(PP_TEXTINPUT_TYPE_EMAIL), mismatching_enums); +COMPILE_ASSERT(int(WebKit::WebTextInputTypeNumber) == \ + int(PP_TEXTINPUT_TYPE_NUMBER), mismatching_enums); +COMPILE_ASSERT(int(WebKit::WebTextInputTypeTelephone) == \ + int(PP_TEXTINPUT_TYPE_TELEPHONE), mismatching_enums); +COMPILE_ASSERT(int(WebKit::WebTextInputTypeURL) == \ + int(PP_TEXTINPUT_TYPE_URL), mismatching_enums); + +void PPB_TextInput_Impl::SetTextInputType(PP_Instance instance, + PP_TextInput_Type type) { + // TODO(kinaba) the implementation is split to another CL for reviewing. + NOTIMPLEMENTED(); +} + +void PPB_TextInput_Impl::UpdateCaretPosition(PP_Instance instance, + const PP_Rect& caret, + const PP_Rect& bounding_box) { + // TODO(kinaba) the implementation is split to another CL for reviewing. + NOTIMPLEMENTED(); +} + +void PPB_TextInput_Impl::CancelCompositionText(PP_Instance instance) { + // TODO(kinaba) the implementation is split to another CL for reviewing. + NOTIMPLEMENTED(); +} + +} // namespace ppapi +} // namespace webkit diff --git a/webkit/plugins/ppapi/ppb_text_input_impl.h b/webkit/plugins/ppapi/ppb_text_input_impl.h new file mode 100644 index 0000000..b6d25e1 --- /dev/null +++ b/webkit/plugins/ppapi/ppb_text_input_impl.h @@ -0,0 +1,44 @@ +// 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 WEBKIT_PLUGINS_PPAPI_PPB_TEXT_INPUT_IMPL_H_ +#define WEBKIT_PLUGINS_PPAPI_PPB_TEXT_INPUT_IMPL_H_ + +#include "base/basictypes.h" +#include "base/compiler_specific.h" +#include "ppapi/shared_impl/function_group_base.h" +#include "ppapi/thunk/ppb_text_input_api.h" + +namespace webkit { +namespace ppapi { + +class PluginInstance; + +class PPB_TextInput_Impl + : public ::ppapi::FunctionGroupBase, + public ::ppapi::thunk::PPB_TextInput_FunctionAPI { + public: + PPB_TextInput_Impl(PluginInstance* instance); + + // FunctionGroupBase overrides. + virtual ::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; + + private: + PluginInstance* instance_; + DISALLOW_COPY_AND_ASSIGN(PPB_TextInput_Impl); +}; + +} // namespace ppapi +} // namespace webkit + +#endif // WEBKIT_PLUGINS_PPAPI_PPB_TEXT_INPUT_IMPL_H_ diff --git a/webkit/plugins/ppapi/resource_tracker.cc b/webkit/plugins/ppapi/resource_tracker.cc index c69fb5f..770384b 100644 --- a/webkit/plugins/ppapi/resource_tracker.cc +++ b/webkit/plugins/ppapi/resource_tracker.cc @@ -21,6 +21,7 @@ #include "webkit/plugins/ppapi/ppb_char_set_impl.h" #include "webkit/plugins/ppapi/ppb_cursor_control_impl.h" #include "webkit/plugins/ppapi/ppb_font_impl.h" +#include "webkit/plugins/ppapi/ppb_text_input_impl.h" #include "webkit/plugins/ppapi/resource_creation_impl.h" #include "webkit/plugins/ppapi/resource_helper.h" @@ -144,6 +145,9 @@ void ResourceTracker::CleanupInstanceData(PP_Instance instance, case ::ppapi::proxy::INTERFACE_ID_PPB_FONT: proxy.reset(new PPB_Font_FunctionImpl(instance)); break; + case ::ppapi::proxy::INTERFACE_ID_PPB_TEXT_INPUT: + proxy.reset(new PPB_TextInput_Impl(instance)); + break; case ::ppapi::proxy::INTERFACE_ID_RESOURCE_CREATION: proxy.reset(new ResourceCreationImpl(instance)); break; @@ -323,4 +327,3 @@ void ResourceTracker::ClearSingletonOverride() { } // namespace ppapi } // namespace webkit - |