diff options
author | Lorry Tar Creator <lorry-tar-importer@lorry> | 2017-06-27 06:07:23 +0000 |
---|---|---|
committer | Lorry Tar Creator <lorry-tar-importer@lorry> | 2017-06-27 06:07:23 +0000 |
commit | 1bf1084f2b10c3b47fd1a588d85d21ed0eb41d0c (patch) | |
tree | 46dcd36c86e7fbc6e5df36deb463b33e9967a6f7 /Source/WebCore/dom/EventContext.cpp | |
parent | 32761a6cee1d0dee366b885b7b9c777e67885688 (diff) | |
download | WebKitGtk-tarball-master.tar.gz |
webkitgtk-2.16.5HEADwebkitgtk-2.16.5master
Diffstat (limited to 'Source/WebCore/dom/EventContext.cpp')
-rw-r--r-- | Source/WebCore/dom/EventContext.cpp | 45 |
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) |