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

Unified Diff: Source/core/events/PointerEvent.cpp

Issue 1144313003: Added PointerEvent firing on touch events. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Rebased. TODO fixes. Created 5 years, 6 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 | « Source/core/events/PointerEvent.h ('k') | Source/core/events/PointerIdManager.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/events/PointerEvent.cpp
diff --git a/Source/core/events/PointerEvent.cpp b/Source/core/events/PointerEvent.cpp
index 3cfe5e0c6645a3ab36520117c1dcba83b753d19e..ce463f2b6ba9abe2ab61723ac5b7adc42b1b83c6 100644
--- a/Source/core/events/PointerEvent.cpp
+++ b/Source/core/events/PointerEvent.cpp
@@ -5,6 +5,9 @@
#include "config.h"
#include "core/events/PointerEvent.h"
+#include "core/dom/Element.h"
+#include "core/events/EventDispatcher.h"
+
namespace blink {
PointerEvent::PointerEvent()
@@ -46,6 +49,11 @@ PointerEvent::PointerEvent(const AtomicString& type, const PointerEventInit& ini
m_isPrimary = initializer.isPrimary();
}
+bool PointerEvent::isMouseEvent() const
+{
+ return false;
+}
+
bool PointerEvent::isPointerEvent() const
{
return true;
@@ -56,4 +64,36 @@ DEFINE_TRACE(PointerEvent)
MouseEvent::trace(visitor);
}
+PassRefPtrWillBeRawPtr<PointerEventDispatchMediator> PointerEventDispatchMediator::create(PassRefPtrWillBeRawPtr<PointerEvent> pointerEvent)
+{
+ return adoptRefWillBeNoop(new PointerEventDispatchMediator(pointerEvent));
+}
+
+PointerEventDispatchMediator::PointerEventDispatchMediator(PassRefPtrWillBeRawPtr<PointerEvent> pointerEvent)
+ : EventDispatchMediator(pointerEvent)
+{
+}
+
+PointerEvent& PointerEventDispatchMediator::event() const
+{
+ return toPointerEvent(EventDispatchMediator::event());
+}
+
+bool PointerEventDispatchMediator::dispatchEvent(EventDispatcher& dispatcher) const
+{
+ if (isDisabledFormControl(&dispatcher.node()))
+ return false;
+
+ if (event().type().isEmpty())
+ return true; // Shouldn't happen.
+
+ ASSERT(!event().target() || event().target() != event().relatedTarget());
+
+ EventTarget* relatedTarget = event().relatedTarget();
+ event().eventPath().adjustForRelatedTarget(dispatcher.node(), relatedTarget);
+
+ dispatcher.dispatch();
+ return !event().defaultHandled() && !event().defaultPrevented();
+}
+
} // namespace blink
« no previous file with comments | « Source/core/events/PointerEvent.h ('k') | Source/core/events/PointerIdManager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698