diff options
author | vandebo@chromium.org <vandebo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-10-08 22:28:17 +0000 |
---|---|---|
committer | vandebo@chromium.org <vandebo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-10-08 22:28:17 +0000 |
commit | 0b081d53f118869541d28139353457bd7aec32e5 (patch) | |
tree | 2086fe82e8a6b20d89755374bcff62f3aa2f1e24 /webkit/glue | |
parent | 0aa9e1e35034759ed0ae71723e42d9e968d2c535 (diff) | |
download | chromium_src-0b081d53f118869541d28139353457bd7aec32e5.zip chromium_src-0b081d53f118869541d28139353457bd7aec32e5.tar.gz chromium_src-0b081d53f118869541d28139353457bd7aec32e5.tar.bz2 |
When middle clicking a link in Linux, an onpaste event is fired. Prevent the onpaste from firing when the hittest detects that the middle click is over a link.
BUG=22810
TEST=Middle click a link on a page that has a body onpaste handler
Review URL: http://codereview.chromium.org/269025
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28460 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/glue')
-rw-r--r-- | webkit/glue/webview_impl.cc | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/webkit/glue/webview_impl.cc b/webkit/glue/webview_impl.cc index 78a15cef..fdf3fbc 100644 --- a/webkit/glue/webview_impl.cc +++ b/webkit/glue/webview_impl.cc @@ -568,7 +568,10 @@ void WebViewImpl::MouseUp(const WebMouseEvent& event) { HitTestResult hit_test_result = focused->eventHandler()->hitTestResultAtPoint(click_point, false, false, ShouldHitTestScrollbars); - if (!hit_test_result.scrollbar() && focused) { + // We don't want to send a paste when middle clicking a scroll bar or a + // link (which will navigate later in the code). + if (!hit_test_result.scrollbar() && !hit_test_result.isLiveLink() && + focused) { Editor* editor = focused->editor(); Pasteboard* pasteboard = Pasteboard::generalPasteboard(); bool oldSelectionMode = pasteboard->isSelectionMode(); |