diff options
author | kinaba@chromium.org <kinaba@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-10-21 22:40:50 +0000 |
---|---|---|
committer | kinaba@chromium.org <kinaba@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-10-21 22:40:50 +0000 |
commit | 3f783369aa10fa323d79b6ec69afbd7035350fcd (patch) | |
tree | e1a5000171b7c854a8625947817e541a5843f419 /webkit | |
parent | 5d921d4cb8e9d5c90366183a523817b99c9bc63f (diff) | |
download | chromium_src-3f783369aa10fa323d79b6ec69afbd7035350fcd.zip chromium_src-3f783369aa10fa323d79b6ec69afbd7035350fcd.tar.gz chromium_src-3f783369aa10fa323d79b6ec69afbd7035350fcd.tar.bz2 |
Handle the change from CaretBounds to SelectionBounds for PPAPI Plugins.
BUG=101173
TEST=Manual: run ppapi_example_ime and verify the candidate window to pop up
in a correct place, or open a Flash website with text field on Chrome OS, and
verify that the candidate window is displayed in the bottom-left corner of
the Flash rect.
This CL is to reflect the refactoring http://crrev.com/105699 on IPCs also
for Pepper plugins, and make IME candidate windows to be displayed on intended
positions.
Review URL: http://codereview.chromium.org/8363015
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106796 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit')
-rw-r--r-- | webkit/plugins/ppapi/mock_plugin_delegate.cc | 3 | ||||
-rw-r--r-- | webkit/plugins/ppapi/mock_plugin_delegate.h | 1 | ||||
-rw-r--r-- | webkit/plugins/ppapi/plugin_delegate.h | 3 | ||||
-rw-r--r-- | webkit/plugins/ppapi/ppapi_plugin_instance.cc | 2 |
4 files changed, 9 insertions, 0 deletions
diff --git a/webkit/plugins/ppapi/mock_plugin_delegate.cc b/webkit/plugins/ppapi/mock_plugin_delegate.cc index 2ee70c3..bc12ee4 100644 --- a/webkit/plugins/ppapi/mock_plugin_delegate.cc +++ b/webkit/plugins/ppapi/mock_plugin_delegate.cc @@ -25,6 +25,9 @@ void MockPluginDelegate::PluginFocusChanged(PluginInstance* instance, void MockPluginDelegate::PluginTextInputTypeChanged(PluginInstance* instance) { } +void MockPluginDelegate::PluginCaretPositionChanged(PluginInstance* instance) { +} + void MockPluginDelegate::PluginRequestedCancelComposition( PluginInstance* instance) { } diff --git a/webkit/plugins/ppapi/mock_plugin_delegate.h b/webkit/plugins/ppapi/mock_plugin_delegate.h index c691cdb..291cf78 100644 --- a/webkit/plugins/ppapi/mock_plugin_delegate.h +++ b/webkit/plugins/ppapi/mock_plugin_delegate.h @@ -17,6 +17,7 @@ class MockPluginDelegate : public PluginDelegate { virtual void PluginFocusChanged(PluginInstance* instance, bool focused); virtual void PluginTextInputTypeChanged(PluginInstance* instance); + virtual void PluginCaretPositionChanged(PluginInstance* instance); virtual void PluginRequestedCancelComposition(PluginInstance* instance); virtual void PluginCrashed(PluginInstance* instance); virtual void InstanceCreated(PluginInstance* instance); diff --git a/webkit/plugins/ppapi/plugin_delegate.h b/webkit/plugins/ppapi/plugin_delegate.h index 2a92985..394bcab 100644 --- a/webkit/plugins/ppapi/plugin_delegate.h +++ b/webkit/plugins/ppapi/plugin_delegate.h @@ -251,6 +251,9 @@ class PluginDelegate { // Notification that the text input status of the given plugin is changed. virtual void PluginTextInputTypeChanged( webkit::ppapi::PluginInstance* instance) = 0; + // Notification that the caret position in the given plugin is changed. + virtual void PluginCaretPositionChanged( + webkit::ppapi::PluginInstance* instance) = 0; // Notification that the plugin requested to cancel the current composition. virtual void PluginRequestedCancelComposition( webkit::ppapi::PluginInstance* instance) = 0; diff --git a/webkit/plugins/ppapi/ppapi_plugin_instance.cc b/webkit/plugins/ppapi/ppapi_plugin_instance.cc index 6d6034f..6ed9212 100644 --- a/webkit/plugins/ppapi/ppapi_plugin_instance.cc +++ b/webkit/plugins/ppapi/ppapi_plugin_instance.cc @@ -628,10 +628,12 @@ void PluginInstance::UpdateCaretPosition(const gfx::Rect& caret, text_input_caret_ = caret; text_input_caret_bounds_ = bounding_box; text_input_caret_set_ = true; + delegate()->PluginCaretPositionChanged(this); } void PluginInstance::SetTextInputType(ui::TextInputType type) { text_input_type_ = type; + delegate()->PluginTextInputTypeChanged(this); } bool PluginInstance::IsPluginAcceptingCompositionEvents() const { |