OLD | NEW |
1 // Copyright (c) 2007-2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2007-2009 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "config.h" | 5 #include "config.h" |
6 #include "build/build_config.h" | 6 #include "build/build_config.h" |
7 | 7 |
8 #include "base/compiler_specific.h" | 8 #include "base/compiler_specific.h" |
9 MSVC_PUSH_WARNING_LEVEL(0); | 9 MSVC_PUSH_WARNING_LEVEL(0); |
10 #include "CSSStyleSelector.h" | 10 #include "CSSStyleSelector.h" |
(...skipping 17 matching lines...) Expand all Loading... |
28 #include "HitTestResult.h" | 28 #include "HitTestResult.h" |
29 #include "Image.h" | 29 #include "Image.h" |
30 #include "InspectorController.h" | 30 #include "InspectorController.h" |
31 #include "IntRect.h" | 31 #include "IntRect.h" |
32 #include "KeyboardCodes.h" | 32 #include "KeyboardCodes.h" |
33 #include "KeyboardEvent.h" | 33 #include "KeyboardEvent.h" |
34 #include "MIMETypeRegistry.h" | 34 #include "MIMETypeRegistry.h" |
35 #include "NodeRenderStyle.h" | 35 #include "NodeRenderStyle.h" |
36 #include "Page.h" | 36 #include "Page.h" |
37 #include "PageGroup.h" | 37 #include "PageGroup.h" |
| 38 #include "Pasteboard.h" |
38 #include "PlatformContextSkia.h" | 39 #include "PlatformContextSkia.h" |
39 #include "PlatformKeyboardEvent.h" | 40 #include "PlatformKeyboardEvent.h" |
40 #include "PlatformMouseEvent.h" | 41 #include "PlatformMouseEvent.h" |
41 #include "PlatformWheelEvent.h" | 42 #include "PlatformWheelEvent.h" |
42 #include "PluginInfoStore.h" | 43 #include "PluginInfoStore.h" |
43 #include "PopupMenuChromium.h" | 44 #include "PopupMenuChromium.h" |
44 #include "PopupMenuClient.h" | 45 #include "PopupMenuClient.h" |
45 #if defined(OS_WIN) | 46 #if defined(OS_WIN) |
46 #include "RenderThemeChromiumWin.h" | 47 #include "RenderThemeChromiumWin.h" |
47 #elif defined(OS_LINUX) | 48 #elif defined(OS_LINUX) |
(...skipping 509 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
557 // clears the text box. So it's important this happens after the | 558 // clears the text box. So it's important this happens after the |
558 // handleMouseReleaseEvent() earlier in this function | 559 // handleMouseReleaseEvent() earlier in this function |
559 if (event.button == WebMouseEvent::ButtonMiddle) { | 560 if (event.button == WebMouseEvent::ButtonMiddle) { |
560 Frame* focused = GetFocusedWebCoreFrame(); | 561 Frame* focused = GetFocusedWebCoreFrame(); |
561 IntPoint click_point(last_mouse_down_point_.x, last_mouse_down_point_.y); | 562 IntPoint click_point(last_mouse_down_point_.x, last_mouse_down_point_.y); |
562 HitTestResult hit_test_result = | 563 HitTestResult hit_test_result = |
563 focused->eventHandler()->hitTestResultAtPoint(click_point, false, false, | 564 focused->eventHandler()->hitTestResultAtPoint(click_point, false, false, |
564 ShouldHitTestScrollbars); | 565 ShouldHitTestScrollbars); |
565 if (!hit_test_result.scrollbar() && focused) { | 566 if (!hit_test_result.scrollbar() && focused) { |
566 Editor* editor = focused->editor(); | 567 Editor* editor = focused->editor(); |
567 if (editor && editor->canEdit()) | 568 Pasteboard* pasteboard = Pasteboard::generalPasteboard(); |
568 delegate_->PasteFromSelectionClipboard(); | 569 bool oldSelectionMode = pasteboard->isSelectionMode(); |
| 570 pasteboard->setSelectionMode(true); |
| 571 editor->command(AtomicString("Paste")).execute(); |
| 572 pasteboard->setSelectionMode(oldSelectionMode); |
569 } | 573 } |
570 } | 574 } |
571 #endif | 575 #endif |
572 | 576 |
573 mouseCaptureLost(); | 577 mouseCaptureLost(); |
574 main_frame()->frame()->eventHandler()->handleMouseReleaseEvent( | 578 main_frame()->frame()->eventHandler()->handleMouseReleaseEvent( |
575 PlatformMouseEventBuilder(main_frame()->frameview(), event)); | 579 PlatformMouseEventBuilder(main_frame()->frameview(), event)); |
576 | 580 |
577 #if defined(OS_WIN) | 581 #if defined(OS_WIN) |
578 // Dispatch the contextmenu event regardless of if the click was swallowed. | 582 // Dispatch the contextmenu event regardless of if the click was swallowed. |
(...skipping 1344 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1923 | 1927 |
1924 return document->focusedNode(); | 1928 return document->focusedNode(); |
1925 } | 1929 } |
1926 | 1930 |
1927 HitTestResult WebViewImpl::HitTestResultForWindowPos(const IntPoint& pos) { | 1931 HitTestResult WebViewImpl::HitTestResultForWindowPos(const IntPoint& pos) { |
1928 IntPoint doc_point( | 1932 IntPoint doc_point( |
1929 page_->mainFrame()->view()->windowToContents(pos)); | 1933 page_->mainFrame()->view()->windowToContents(pos)); |
1930 return page_->mainFrame()->eventHandler()-> | 1934 return page_->mainFrame()->eventHandler()-> |
1931 hitTestResultAtPoint(doc_point, false); | 1935 hitTestResultAtPoint(doc_point, false); |
1932 } | 1936 } |
OLD | NEW |