diff options
-rw-r--r-- | chrome/browser/renderer_host/render_widget_host.h | 3 | ||||
-rw-r--r-- | chrome/renderer/render_view.cc | 5 |
2 files changed, 6 insertions, 2 deletions
diff --git a/chrome/browser/renderer_host/render_widget_host.h b/chrome/browser/renderer_host/render_widget_host.h index ea6c843..146be7f 100644 --- a/chrome/browser/renderer_host/render_widget_host.h +++ b/chrome/browser/renderer_host/render_widget_host.h @@ -339,7 +339,8 @@ class RenderWidgetHost : public IPC::Channel::Listener, // Makes an IPC call to toggle the spelling panel. void ToggleSpellPanel(bool is_currently_visible); - // Makes an IPC call to tell webkit to replace the currently selected word. + // Makes an IPC call to tell webkit to replace the currently selected word + // or a word around the cursor. void Replace(const string16& word); // Makes an IPC call to tell webkit to advance to the next misspelling. diff --git a/chrome/renderer/render_view.cc b/chrome/renderer/render_view.cc index 96b38c9..54cb6c2 100644 --- a/chrome/renderer/render_view.cc +++ b/chrome/renderer/render_view.cc @@ -1043,7 +1043,10 @@ void RenderView::OnReplace(const string16& text) { if (!webview()) return; - webview()->focusedFrame()->replaceSelection(text); + WebFrame* frame = webview()->focusedFrame(); + if (!frame->hasSelection()) + frame->selectWordAroundCaret(); + frame->replaceSelection(text); } void RenderView::OnAdvanceToNextMisspelling() { |