Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(18)

Side by Side Diff: third_party/WebKit/Source/core/input/EventHandler.cpp

Issue 2809333002: WIP Logging for Contextual Search: Node->Element. (Closed)
Patch Set: Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights 2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights
3 * reserved. 3 * reserved.
4 * Copyright (C) 2006 Alexey Proskuryakov (ap@webkit.org) 4 * Copyright (C) 2006 Alexey Proskuryakov (ap@webkit.org)
5 * Copyright (C) 2012 Digia Plc. and/or its subsidiary(-ies) 5 * Copyright (C) 2012 Digia Plc. and/or its subsidiary(-ies)
6 * 6 *
7 * Redistribution and use in source and binary forms, with or without 7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions 8 * modification, are permitted provided that the following conditions
9 * are met: 9 * are met:
10 * 1. Redistributions of source code must retain the above copyright 10 * 1. Redistributions of source code must retain the above copyright
(...skipping 634 matching lines...) Expand 10 before | Expand all | Expand 10 after
645 if (is_middle_click_autoscroll_in_progress) { 645 if (is_middle_click_autoscroll_in_progress) {
646 // We invalidate the click when exiting middle click auto scroll so that 646 // We invalidate the click when exiting middle click auto scroll so that
647 // we don't inadvertently navigate away from the current page (e.g. the 647 // we don't inadvertently navigate away from the current page (e.g. the
648 // click was on a hyperlink). See <rdar://problem/6095023>. 648 // click was on a hyperlink). See <rdar://problem/6095023>.
649 mouse_event_manager_->InvalidateClick(); 649 mouse_event_manager_->InvalidateClick();
650 return WebInputEventResult::kHandledSuppressed; 650 return WebInputEventResult::kHandledSuppressed;
651 } 651 }
652 } 652 }
653 653
654 mouse_event_manager_->SetClickCount(mouse_event.click_count); 654 mouse_event_manager_->SetClickCount(mouse_event.click_count);
655 mouse_event_manager_->SetClickNode( 655 mouse_event_manager_->SetClickElement(
656 mev.InnerNode()->IsTextNode() 656 EventHandlingUtil::ParentElementIfNeeded(mev.InnerNode()));
657 ? FlatTreeTraversal::Parent(*mev.InnerNode())
658 : mev.InnerNode());
659 657
660 if (!mouse_event.FromTouch()) 658 if (!mouse_event.FromTouch())
661 frame_->Selection().SetCaretBlinkingSuspended(true); 659 frame_->Selection().SetCaretBlinkingSuspended(true);
662 660
663 WebInputEventResult event_result = UpdatePointerTargetAndDispatchEvents( 661 WebInputEventResult event_result = UpdatePointerTargetAndDispatchEvents(
664 EventTypeNames::mousedown, mev.InnerNode(), mev.CanvasRegionId(), 662 EventTypeNames::mousedown, mev.InnerNode(), mev.CanvasRegionId(),
665 mev.Event(), Vector<WebMouseEvent>()); 663 mev.Event(), Vector<WebMouseEvent>());
666 664
667 if (event_result == WebInputEventResult::kNotHandled && frame_->View()) { 665 if (event_result == WebInputEventResult::kNotHandled && frame_->View()) {
668 FrameView* view = frame_->View(); 666 FrameView* view = frame_->View();
(...skipping 284 matching lines...) Expand 10 before | Expand all | Expand 10 after
953 String(), mouse_event, Vector<WebMouseEvent>()); 951 String(), mouse_event, Vector<WebMouseEvent>());
954 } 952 }
955 953
956 // Mouse events simulated from touch should not hit-test again. 954 // Mouse events simulated from touch should not hit-test again.
957 ASSERT(!mouse_event.FromTouch()); 955 ASSERT(!mouse_event.FromTouch());
958 956
959 HitTestRequest::HitTestRequestType hit_type = HitTestRequest::kRelease; 957 HitTestRequest::HitTestRequestType hit_type = HitTestRequest::kRelease;
960 HitTestRequest request(hit_type); 958 HitTestRequest request(hit_type);
961 MouseEventWithHitTestResults mev = 959 MouseEventWithHitTestResults mev =
962 EventHandlingUtil::PerformMouseEventHitTest(frame_, request, mouse_event); 960 EventHandlingUtil::PerformMouseEventHitTest(frame_, request, mouse_event);
961 Element* mouse_release_target =
962 EventHandlingUtil::ParentElementIfNeeded(mev.InnerNode());
963 LocalFrame* subframe = 963 LocalFrame* subframe =
964 capturing_mouse_events_node_.Get() 964 capturing_mouse_events_node_.Get()
965 ? SubframeForTargetNode(capturing_mouse_events_node_.Get()) 965 ? SubframeForTargetNode(capturing_mouse_events_node_.Get())
966 : SubframeForHitTestResult(mev); 966 : SubframeForHitTestResult(mev);
967 if (event_handler_will_reset_capturing_mouse_events_node_) 967 if (event_handler_will_reset_capturing_mouse_events_node_)
968 capturing_mouse_events_node_ = nullptr; 968 capturing_mouse_events_node_ = nullptr;
969 if (subframe) 969 if (subframe)
970 return PassMouseReleaseEventToSubframe(mev, subframe); 970 return PassMouseReleaseEventToSubframe(mev, subframe);
971 971
972 // Mouse events will be associated with the Document where mousedown 972 // Mouse events will be associated with the Document where mousedown
(...skipping 12 matching lines...) Expand all
985 } else { 985 } else {
986 gesture_indicator = WTF::WrapUnique(new UserGestureIndicator( 986 gesture_indicator = WTF::WrapUnique(new UserGestureIndicator(
987 DocumentUserGestureToken::Create(frame_->GetDocument()))); 987 DocumentUserGestureToken::Create(frame_->GetDocument())));
988 } 988 }
989 989
990 WebInputEventResult event_result = UpdatePointerTargetAndDispatchEvents( 990 WebInputEventResult event_result = UpdatePointerTargetAndDispatchEvents(
991 EventTypeNames::mouseup, mev.InnerNode(), mev.CanvasRegionId(), 991 EventTypeNames::mouseup, mev.InnerNode(), mev.CanvasRegionId(),
992 mev.Event(), Vector<WebMouseEvent>()); 992 mev.Event(), Vector<WebMouseEvent>());
993 993
994 WebInputEventResult click_event_result = 994 WebInputEventResult click_event_result =
995 mouse_event_manager_->DispatchMouseClickIfNeeded(mev); 995 mouse_release_target ? mouse_event_manager_->DispatchMouseClickIfNeeded(
996 mev, *mouse_release_target)
997 : WebInputEventResult::kNotHandled;
996 998
997 scroll_manager_->ClearResizeScrollableArea(false); 999 scroll_manager_->ClearResizeScrollableArea(false);
998 1000
999 if (event_result == WebInputEventResult::kNotHandled) 1001 if (event_result == WebInputEventResult::kNotHandled)
1000 event_result = mouse_event_manager_->HandleMouseReleaseEvent(mev); 1002 event_result = mouse_event_manager_->HandleMouseReleaseEvent(mev);
1001 mouse_event_manager_->ClearDragHeuristicState(); 1003 mouse_event_manager_->ClearDragHeuristicState();
1002 1004
1003 mouse_event_manager_->InvalidateClick(); 1005 mouse_event_manager_->InvalidateClick();
1004 1006
1005 return EventHandlingUtil::MergeEventResult(click_event_result, event_result); 1007 return EventHandlingUtil::MergeEventResult(click_event_result, event_result);
(...skipping 1104 matching lines...) Expand 10 before | Expand all | Expand 10 after
2110 MouseEventWithHitTestResults& mev, 2112 MouseEventWithHitTestResults& mev,
2111 LocalFrame* subframe) { 2113 LocalFrame* subframe) {
2112 WebInputEventResult result = 2114 WebInputEventResult result =
2113 subframe->GetEventHandler().HandleMouseReleaseEvent(mev.Event()); 2115 subframe->GetEventHandler().HandleMouseReleaseEvent(mev.Event());
2114 if (result != WebInputEventResult::kNotHandled) 2116 if (result != WebInputEventResult::kNotHandled)
2115 return result; 2117 return result;
2116 return WebInputEventResult::kHandledSystem; 2118 return WebInputEventResult::kHandledSystem;
2117 } 2119 }
2118 2120
2119 } // namespace blink 2121 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698