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

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

Issue 1210253003: Fix wheel event dispatch logic to fallback to document when hit-test fails (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 5 years, 5 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 reserv ed. 2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserv ed.
3 * Copyright (C) 2006 Alexey Proskuryakov (ap@webkit.org) 3 * Copyright (C) 2006 Alexey Proskuryakov (ap@webkit.org)
4 * Copyright (C) 2012 Digia Plc. and/or its subsidiary(-ies) 4 * Copyright (C) 2012 Digia Plc. and/or its subsidiary(-ies)
5 * 5 *
6 * Redistribution and use in source and binary forms, with or without 6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions 7 * modification, are permitted provided that the following conditions
8 * are met: 8 * are met:
9 * 1. Redistributions of source code must retain the above copyright 9 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer. 10 * notice, this list of conditions and the following disclaimer.
(...skipping 1744 matching lines...) Expand 10 before | Expand all | Expand 10 after
1755 1755
1756 if (node) { 1756 if (node) {
1757 // Figure out which view to send the event to. 1757 // Figure out which view to send the event to.
1758 LayoutObject* target = node->layoutObject(); 1758 LayoutObject* target = node->layoutObject();
1759 1759
1760 if (isOverWidget && target && target->isLayoutPart()) { 1760 if (isOverWidget && target && target->isLayoutPart()) {
1761 Widget* widget = toLayoutPart(target)->widget(); 1761 Widget* widget = toLayoutPart(target)->widget();
1762 if (widget && passWheelEventToWidget(event, *widget)) 1762 if (widget && passWheelEventToWidget(event, *widget))
1763 RETURN_WHEEL_EVENT_HANDLED(); 1763 RETURN_WHEEL_EVENT_HANDLED();
1764 } 1764 }
1765 } else {
1766 // Dispatch the event to document if hit-test is empty
1767 node = m_frame->document();
Rick Byers 2015/06/26 12:34:49 How did you decide to fall back to 'document' vs.
majidvp 2015/06/29 16:58:40 Hit test falls back to document for clicks and tou
Rick Byers 2015/06/29 17:07:59 Great! That code in DeprecatedPaintLayer has seem
majidvp 2015/06/30 15:33:04 Created a bug (crbug.com/505825 owned by dtapuska@
1768 }
1765 1769
1766 if (node && !node->dispatchWheelEvent(event)) 1770 if (node && !node->dispatchWheelEvent(event))
1767 RETURN_WHEEL_EVENT_HANDLED(); 1771 RETURN_WHEEL_EVENT_HANDLED();
1768 }
1769 1772
1770 // We do another check on the frame view because the event handler can run 1773 // We do another check on the frame view because the event handler can run
1771 // JS which results in the frame getting destroyed. 1774 // JS which results in the frame getting destroyed.
1772 view = m_frame->view(); 1775 view = m_frame->view();
1773 if (!view) 1776 if (!view)
1774 return false; 1777 return false;
1775 1778
1776 if (view->scrollableArea()->handleWheel(event).didScroll()) 1779 if (view->scrollableArea()->handleWheel(event).didScroll())
1777 RETURN_WHEEL_EVENT_HANDLED(); 1780 RETURN_WHEEL_EVENT_HANDLED();
1778 1781
(...skipping 1982 matching lines...) Expand 10 before | Expand all | Expand 10 after
3761 unsigned EventHandler::accessKeyModifiers() 3764 unsigned EventHandler::accessKeyModifiers()
3762 { 3765 {
3763 #if OS(MACOSX) 3766 #if OS(MACOSX)
3764 return PlatformEvent::CtrlKey | PlatformEvent::AltKey; 3767 return PlatformEvent::CtrlKey | PlatformEvent::AltKey;
3765 #else 3768 #else
3766 return PlatformEvent::AltKey; 3769 return PlatformEvent::AltKey;
3767 #endif 3770 #endif
3768 } 3771 }
3769 3772
3770 } // namespace blink 3773 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698