diff options
author | Shimeng (Simon) Wang <swang@google.com> | 2010-12-07 17:22:45 -0800 |
---|---|---|
committer | Shimeng (Simon) Wang <swang@google.com> | 2010-12-22 14:15:40 -0800 |
commit | 4576aa36e9a9671459299c7963ac95aa94beaea9 (patch) | |
tree | 3863574e050f168c0126ecb47c83319fab0972d8 /WebCore/page/EventHandler.cpp | |
parent | 55323ac613cc31553107b68603cb627264d22bb0 (diff) | |
download | external_webkit-4576aa36e9a9671459299c7963ac95aa94beaea9.zip external_webkit-4576aa36e9a9671459299c7963ac95aa94beaea9.tar.gz external_webkit-4576aa36e9a9671459299c7963ac95aa94beaea9.tar.bz2 |
Merge WebKit at r73109: Initial merge by git.
Change-Id: I61f1a66d9642e3d8405d3ac6ccab2a53421c75d8
Diffstat (limited to 'WebCore/page/EventHandler.cpp')
-rw-r--r-- | WebCore/page/EventHandler.cpp | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/WebCore/page/EventHandler.cpp b/WebCore/page/EventHandler.cpp index 22c2ecc..e044daa 100644 --- a/WebCore/page/EventHandler.cpp +++ b/WebCore/page/EventHandler.cpp @@ -1880,9 +1880,10 @@ bool EventHandler::dispatchMouseEvent(const AtomicString& eventType, Node* targe // Walk up the render tree to search for a node to focus. // Walking up the DOM tree wouldn't work for shadow trees, like those behind the engine-based text fields. + // FIXME: Rework to use shadowParent. No need to traverse with the render tree. while (renderer) { node = renderer->node(); - if (node && node->isFocusable()) { + if (node && node->isMouseFocusable()) { // To fix <rdar://problem/4895428> Can't drag selected ToDo, we don't focus a // node on mouse down if it's selected and inside a focused node. It will be // focused if the user does a mouseup over it, however, because the mouseup @@ -2028,11 +2029,8 @@ bool EventHandler::sendContextMenuEvent(const PlatformMouseEvent& event) HitTestRequest request(HitTestRequest::Active); MouseEventWithHitTestResults mev = doc->prepareMouseEvent(request, viewportPos, event); - // Context menu events shouldn't select text in GTK+ applications or in Chromium. - // FIXME: This should probably be configurable by embedders. Consider making it a WebPreferences setting. - // See: https://bugs.webkit.org/show_bug.cgi?id=15279 -#if !PLATFORM(GTK) && !PLATFORM(CHROMIUM) - if (!m_frame->selection()->contains(viewportPos) + if (m_frame->editor()->behavior().shouldSelectOnContextualMenuClick() + && !m_frame->selection()->contains(viewportPos) // FIXME: In the editable case, word selection sometimes selects content that isn't underneath the mouse. // If the selection is non-editable, we do word selection to make it easier to use the contextual menu items // available for text selections. But only if we're above text. @@ -2040,7 +2038,6 @@ bool EventHandler::sendContextMenuEvent(const PlatformMouseEvent& event) m_mouseDownMayStartSelect = true; // context menu events are always allowed to perform a selection selectClosestWordOrLinkFromMouseEvent(mev); } -#endif swallowEvent = dispatchMouseEvent(eventNames().contextmenuEvent, mev.targetNode(), true, 0, event, false); |