summaryrefslogtreecommitdiffstats
path: root/content/renderer
diff options
context:
space:
mode:
authorcjhopman@chromium.org <cjhopman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-01-16 18:55:46 +0000
committercjhopman@chromium.org <cjhopman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-01-16 18:55:46 +0000
commit50ae2ff1ef5765dd1735bee360f0880373bd9735 (patch)
tree1cfe0baff71bc31373491be1816b451504404fc5 /content/renderer
parent4bd875313272c66c696d3a826d74eee8d1e13152 (diff)
downloadchromium_src-50ae2ff1ef5765dd1735bee360f0880373bd9735.zip
chromium_src-50ae2ff1ef5765dd1735bee360f0880373bd9735.tar.gz
chromium_src-50ae2ff1ef5765dd1735bee360f0880373bd9735.tar.bz2
Merge 176454
> Add a new code/message path for moving an insertion handle > > On Android, we've been using selectRange for moving an insertion handle. > However, we don't really want the behavior of selectRange (for example, > dragging an insertion handle outside of a text box should not actual do > a "selectRange" on the position outside of the text box). The behavior > that we want has been added to WebKit as > WebFrame::moveCaretSelectionTowardsWindowPoint. > > This change introduces the code/message path from the Browser side > InsertionHandleController to WebKit similar to the current SelectRange > path. > > BUG=165244,163979,165661 > > > Review URL: https://chromiumcodereview.appspot.com/11593011 TBR=cjhopman@chromium.org Review URL: https://codereview.chromium.org/11962020 git-svn-id: svn://svn.chromium.org/chrome/branches/1364/src@177185 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/renderer')
-rw-r--r--content/renderer/render_view_impl.cc10
-rw-r--r--content/renderer/render_view_impl.h1
2 files changed, 11 insertions, 0 deletions
diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc
index 21cbd77..02aa00f 100644
--- a/content/renderer/render_view_impl.cc
+++ b/content/renderer/render_view_impl.cc
@@ -948,6 +948,7 @@ bool RenderViewImpl::OnMessageReceived(const IPC::Message& message) {
IPC_MESSAGE_HANDLER(ViewMsg_ExtendSelectionAndDelete,
OnExtendSelectionAndDelete)
IPC_MESSAGE_HANDLER(ViewMsg_SelectRange, OnSelectRange)
+ IPC_MESSAGE_HANDLER(ViewMsg_MoveCaret, OnMoveCaret)
IPC_MESSAGE_HANDLER(ViewMsg_CopyImageAt, OnCopyImageAt)
IPC_MESSAGE_HANDLER(ViewMsg_ExecuteEditCommand, OnExecuteEditCommand)
IPC_MESSAGE_HANDLER(ViewMsg_Find, OnFind)
@@ -1406,6 +1407,15 @@ void RenderViewImpl::OnSelectRange(const gfx::Point& start,
handling_select_range_ = false;
}
+void RenderViewImpl::OnMoveCaret(const gfx::Point& point) {
+ if (!webview())
+ return;
+
+ Send(new ViewHostMsg_MoveCaret_ACK(routing_id_));
+
+ webview()->focusedFrame()->moveCaretSelectionTowardsWindowPoint(point);
+}
+
void RenderViewImpl::OnSetHistoryLengthAndPrune(int history_length,
int32 minimum_page_id) {
DCHECK_GE(history_length, 0);
diff --git a/content/renderer/render_view_impl.h b/content/renderer/render_view_impl.h
index abe9b57cf..2780f67 100644
--- a/content/renderer/render_view_impl.h
+++ b/content/renderer/render_view_impl.h
@@ -982,6 +982,7 @@ class CONTENT_EXPORT RenderViewImpl
bool notify_result);
void OnSelectAll();
void OnSelectRange(const gfx::Point& start, const gfx::Point& end);
+ void OnMoveCaret(const gfx::Point& point);
void OnSetAccessibilityMode(AccessibilityMode new_mode);
void OnSetActive(bool active);
void OnSetAltErrorPageURL(const GURL& gurl);