| Index: content/renderer/render_frame_impl.cc
|
| diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
|
| index e29e6f188a5a3af72d1c3aed7ae9065f5ef25919..4df9b57f123b6d8c747782f4d8804ca343499c2c 100644
|
| --- a/content/renderer/render_frame_impl.cc
|
| +++ b/content/renderer/render_frame_impl.cc
|
| @@ -1977,7 +1977,7 @@ void RenderFrameImpl::OnSelectRange(const gfx::Point& base,
|
|
|
| void RenderFrameImpl::OnAdjustSelectionByCharacterOffset(int start_adjust,
|
| int end_adjust) {
|
| - WebRange range = GetRenderWidget()->GetWebWidget()->CaretOrSelectionRange();
|
| + WebRange range = frame_->GetInputMethodController()->GetSelectionOffsets();
|
| if (range.IsNull())
|
| return;
|
|
|
| @@ -1998,7 +1998,7 @@ void RenderFrameImpl::OnAdjustSelectionByCharacterOffset(int start_adjust,
|
|
|
| void RenderFrameImpl::OnCollapseSelection() {
|
| const WebRange& range =
|
| - GetRenderWidget()->GetWebWidget()->CaretOrSelectionRange();
|
| + frame_->GetInputMethodController()->GetSelectionOffsets();
|
| if (range.IsNull())
|
| return;
|
|
|
| @@ -6222,7 +6222,7 @@ void RenderFrameImpl::SyncSelectionIfRequired() {
|
| #endif
|
| {
|
| WebRange selection =
|
| - GetRenderWidget()->GetWebWidget()->CaretOrSelectionRange();
|
| + frame_->GetInputMethodController()->GetSelectionOffsets();
|
| if (selection.IsNull())
|
| return;
|
|
|
| @@ -6245,9 +6245,8 @@ void RenderFrameImpl::SyncSelectionIfRequired() {
|
| text = frame_->SelectionAsText().Utf16();
|
| // http://crbug.com/101435
|
| // In some case, frame->selectionAsText() returned text's length is not
|
| - // equal to the length returned from
|
| - // GetWebWidget()->caretOrSelectionRange().
|
| - // So we have to set the range according to text.length().
|
| + // equal to the length returned from frame_->GetSelectionOffsets(). So we
|
| + // have to set the range according to text.length().
|
| range.set_end(range.start() + text.length());
|
| }
|
| }
|
|
|