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

Unified Diff: content/browser/renderer_host/render_widget_host_view_guest.cc

Issue 103403006: Implement Input Method related WebPlugin interface for browser plugin (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Translate coordinates of parameter for ImeCompositionRangeChanged Created 7 years 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 side-by-side diff with in-line comments
Download patch
Index: content/browser/renderer_host/render_widget_host_view_guest.cc
diff --git a/content/browser/renderer_host/render_widget_host_view_guest.cc b/content/browser/renderer_host/render_widget_host_view_guest.cc
index 907119de3c640eb1b39c2ef72b7f37987b238c67..bbe5c8b4b86bccc1793eba9d9e3c80895cc27a6b 100644
--- a/content/browser/renderer_host/render_widget_host_view_guest.cc
+++ b/content/browser/renderer_host/render_widget_host_view_guest.cc
@@ -301,19 +301,38 @@ void RenderWidgetHostViewGuest::TextInputTypeChanged(
ui::TextInputType type,
ui::TextInputMode input_mode,
bool can_compose_inline) {
- RenderWidgetHostViewPort::FromRWHV(
- guest_->GetEmbedderRenderWidgetHostView())->
- TextInputTypeChanged(type, input_mode, can_compose_inline);
+ RenderWidgetHostViewPort* rwhv = RenderWidgetHostViewPort::FromRWHV(
+ guest_->GetEmbedderRenderWidgetHostView());
+ if (!rwhv)
+ return;
+ // Forward the information to embedding RWHV.
+ rwhv->TextInputTypeChanged(type, input_mode, can_compose_inline);
}
void RenderWidgetHostViewGuest::ImeCancelComposition() {
- platform_view_->ImeCancelComposition();
+ RenderWidgetHostViewPort* rwhv = RenderWidgetHostViewPort::FromRWHV(
+ guest_->GetEmbedderRenderWidgetHostView());
+ if (!rwhv)
+ return;
+ // Forward the information to embedding RWHV.
+ rwhv->ImeCancelComposition();
}
#if defined(OS_MACOSX) || defined(OS_WIN) || defined(USE_AURA)
void RenderWidgetHostViewGuest::ImeCompositionRangeChanged(
const gfx::Range& range,
const std::vector<gfx::Rect>& character_bounds) {
+ RenderWidgetHostViewPort* rwhv = RenderWidgetHostViewPort::FromRWHV(
+ guest_->GetEmbedderRenderWidgetHostView());
+ if (!rwhv)
+ return;
+ std::vector<gfx::Rect> guest_character_bounds;
+ for (size_t i = 0; i < character_bounds.size(); ++i) {
+ gfx::Rect guest_rect = guest_->ToGuestRect(character_bounds[i]);
+ guest_character_bounds.push_back(guest_rect);
+ }
kochi 2013/12/13 06:41:24 Self-review: This part was missing. As in Selecti
+ // Forward the information to embedding RWHV.
+ rwhv->ImeCompositionRangeChanged(range, guest_character_bounds);
}
#endif
@@ -328,12 +347,24 @@ void RenderWidgetHostViewGuest::DidUpdateBackingStore(
void RenderWidgetHostViewGuest::SelectionChanged(const base::string16& text,
size_t offset,
const gfx::Range& range) {
- platform_view_->SelectionChanged(text, offset, range);
+ RenderWidgetHostViewPort* rwhv = RenderWidgetHostViewPort::FromRWHV(
+ guest_->GetEmbedderRenderWidgetHostView());
+ if (!rwhv)
+ return;
+ // Forward the information to embedding RWHV.
+ rwhv->SelectionChanged(text, offset, range);
}
void RenderWidgetHostViewGuest::SelectionBoundsChanged(
const ViewHostMsg_SelectionBounds_Params& params) {
- platform_view_->SelectionBoundsChanged(params);
+ RenderWidgetHostViewPort* rwhv = RenderWidgetHostViewPort::FromRWHV(
+ guest_->GetEmbedderRenderWidgetHostView());
+ if (!rwhv)
+ return;
+ ViewHostMsg_SelectionBounds_Params guest_params(params);
+ guest_params.anchor_rect = guest_->ToGuestRect(params.anchor_rect);
+ guest_params.focus_rect = guest_->ToGuestRect(params.focus_rect);
+ rwhv->SelectionBoundsChanged(guest_params);
}
void RenderWidgetHostViewGuest::ScrollOffsetChanged() {
« no previous file with comments | « content/browser/browser_plugin/test_browser_plugin_guest.cc ('k') | content/common/browser_plugin/browser_plugin_messages.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698