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

Unified Diff: sky/engine/core/page/EventHandler.cpp

Issue 693243002: Remove interactive content and form related API from HTMLElement. (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 6 years, 2 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « sky/engine/core/html/HTMLMediaElement.cpp ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sky/engine/core/page/EventHandler.cpp
diff --git a/sky/engine/core/page/EventHandler.cpp b/sky/engine/core/page/EventHandler.cpp
index 715bc939f410aeb88999c06d0229636f7c85792a..7ae123a095dc7bce2d73ecfb3d4bdc0b560be63a 100644
--- a/sky/engine/core/page/EventHandler.cpp
+++ b/sky/engine/core/page/EventHandler.cpp
@@ -1246,15 +1246,6 @@ void EventHandler::invalidateClick()
m_clickNode = nullptr;
}
-static Node* parentForClickEvent(const Node& node)
-{
- // IE doesn't dispatch click events for mousedown/mouseup events across form
- // controls.
- if (node.isHTMLElement() && toHTMLElement(node).isInteractiveContent())
- return 0;
- return NodeRenderingTraversal::parent(&node);
-}
-
bool EventHandler::handleMouseReleaseEvent(const PlatformMouseEvent& mouseEvent)
{
TRACE_EVENT0("blink", "EventHandler::handleMouseReleaseEvent");
@@ -1293,7 +1284,7 @@ bool EventHandler::handleMouseReleaseEvent(const PlatformMouseEvent& mouseEvent)
bool swallowClickEvent = false;
if (m_clickCount > 0 && mev.targetNode() && m_clickNode) {
- if (Node* clickTargetNode = mev.targetNode()->commonAncestor(*m_clickNode, parentForClickEvent))
+ if (Node* clickTargetNode = NodeRenderingTraversal::commonAncestor(*mev.targetNode(), *m_clickNode))
swallowClickEvent = !dispatchMouseEvent(EventTypeNames::click, clickTargetNode, m_clickCount, mouseEvent, true);
}
@@ -1770,7 +1761,7 @@ bool EventHandler::handleGestureTap(const GestureEventWithHitTestResults& target
bool swallowClickEvent = false;
if (m_clickNode) {
if (currentHitTest.innerNode()) {
- Node* clickTargetNode = currentHitTest.innerNode()->commonAncestor(*m_clickNode, parentForClickEvent);
+ Node* clickTargetNode = NodeRenderingTraversal::commonAncestor(*currentHitTest.innerNode(), *m_clickNode);
swallowClickEvent = !dispatchMouseEvent(EventTypeNames::click, clickTargetNode, gestureEvent.tapCount(), fakeMouseUp, true);
}
m_clickNode = nullptr;
@@ -2270,7 +2261,9 @@ bool EventHandler::handleAccessKey(const PlatformKeyboardEvent& evt)
Element* elem = m_frame->document()->getElementByAccessKey(key.lower());
if (!elem)
return false;
- elem->accessKeyAction(false);
+ // FIXME(sky): We should probably pass SendMouseUpDownEvents here, not
+ // firing mouseup and mousedown is IE legacy.
+ elem->dispatchSimulatedClick(0, SendNoEvents);
return true;
}
« no previous file with comments | « sky/engine/core/html/HTMLMediaElement.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698