summaryrefslogtreecommitdiff
path: root/Source/WebCore/dom/EventContext.cpp
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@lorry>2017-06-27 06:07:23 +0000
committerLorry Tar Creator <lorry-tar-importer@lorry>2017-06-27 06:07:23 +0000
commit1bf1084f2b10c3b47fd1a588d85d21ed0eb41d0c (patch)
tree46dcd36c86e7fbc6e5df36deb463b33e9967a6f7 /Source/WebCore/dom/EventContext.cpp
parent32761a6cee1d0dee366b885b7b9c777e67885688 (diff)
downloadWebKitGtk-tarball-master.tar.gz
Diffstat (limited to 'Source/WebCore/dom/EventContext.cpp')
-rw-r--r--Source/WebCore/dom/EventContext.cpp45
1 files changed, 24 insertions, 21 deletions
diff --git a/Source/WebCore/dom/EventContext.cpp b/Source/WebCore/dom/EventContext.cpp
index 5c1feb171..8fc38a360 100644
--- a/Source/WebCore/dom/EventContext.cpp
+++ b/Source/WebCore/dom/EventContext.cpp
@@ -10,10 +10,10 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
- * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
@@ -34,7 +34,7 @@
namespace WebCore {
-EventContext::EventContext(PassRefPtr<Node> node, PassRefPtr<EventTarget> currentTarget, PassRefPtr<EventTarget> target)
+EventContext::EventContext(Node* node, EventTarget* currentTarget, EventTarget* target)
: m_node(node)
, m_currentTarget(currentTarget)
, m_target(target)
@@ -64,9 +64,8 @@ bool EventContext::isTouchEventContext() const
return false;
}
-MouseOrFocusEventContext::MouseOrFocusEventContext(PassRefPtr<Node> node, PassRefPtr<EventTarget> currentTarget, PassRefPtr<EventTarget> target)
+MouseOrFocusEventContext::MouseOrFocusEventContext(Node* node, EventTarget* currentTarget, EventTarget* target)
: EventContext(node, currentTarget, target)
- , m_relatedTarget(0)
{
}
@@ -76,12 +75,12 @@ MouseOrFocusEventContext::~MouseOrFocusEventContext()
void MouseOrFocusEventContext::handleLocalEvents(Event& event) const
{
- ASSERT(event.isMouseEvent() || event.isFocusEvent());
+ ASSERT(is<MouseEvent>(event) || is<FocusEvent>(event));
if (m_relatedTarget) {
- if (event.isMouseEvent())
- toMouseEvent(event).setRelatedTarget(m_relatedTarget.get());
- else if (event.isFocusEvent())
- toFocusEvent(event).setRelatedTarget(m_relatedTarget.get());
+ if (is<MouseEvent>(event))
+ downcast<MouseEvent>(event).setRelatedTarget(m_relatedTarget.get());
+ else if (is<FocusEvent>(event))
+ downcast<FocusEvent>(event).setRelatedTarget(m_relatedTarget.get());
}
EventContext::handleLocalEvents(event);
}
@@ -91,8 +90,9 @@ bool MouseOrFocusEventContext::isMouseOrFocusEventContext() const
return true;
}
-#if ENABLE(TOUCH_EVENTS) && !PLATFORM(IOS)
-TouchEventContext::TouchEventContext(PassRefPtr<Node> node, PassRefPtr<EventTarget> currentTarget, PassRefPtr<EventTarget> target)
+#if ENABLE(TOUCH_EVENTS)
+
+TouchEventContext::TouchEventContext(Node* node, EventTarget* currentTarget, EventTarget* target)
: EventContext(node, currentTarget, target)
, m_touches(TouchList::create())
, m_targetTouches(TouchList::create())
@@ -106,16 +106,16 @@ TouchEventContext::~TouchEventContext()
void TouchEventContext::handleLocalEvents(Event& event) const
{
-#ifndef NDEBUG
+#if !ASSERT_DISABLED
checkReachability(m_touches.get());
checkReachability(m_targetTouches.get());
checkReachability(m_changedTouches.get());
#endif
- ASSERT(event.isTouchEvent());
- TouchEvent& touchEvent = toTouchEvent(event);
- touchEvent.setTouches(m_touches);
- touchEvent.setTargetTouches(m_targetTouches);
- touchEvent.setChangedTouches(m_changedTouches);
+ ASSERT(is<TouchEvent>(event));
+ TouchEvent& touchEvent = downcast<TouchEvent>(event);
+ touchEvent.setTouches(m_touches.get());
+ touchEvent.setTargetTouches(m_targetTouches.get());
+ touchEvent.setChangedTouches(m_changedTouches.get());
EventContext::handleLocalEvents(event);
}
@@ -124,12 +124,15 @@ bool TouchEventContext::isTouchEventContext() const
return true;
}
-#ifndef NDEBUG
+#if !ASSERT_DISABLED
+
void TouchEventContext::checkReachability(TouchList* touchList) const
{
- for (size_t i = 0; i < touchList->length(); ++i)
- ASSERT(isReachable(touchList->item(i)->target()->toNode()));
+ size_t length = touchList->length();
+ for (size_t i = 0; i < length; ++i)
+ ASSERT(!isUnreachableNode(touchList->item(i)->target()->toNode()));
}
+
#endif
#endif // ENABLE(TOUCH_EVENTS) && !PLATFORM(IOS)