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

Side by Side Diff: third_party/WebKit/Source/core/dom/Node.cpp

Issue 1479923002: Enumerate the return value of dispatchEvent so it is clear. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master_passive_uma_add
Patch Set: Rebase Created 5 years 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) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) 3 * (C) 1999 Antti Koivisto (koivisto@kde.org)
4 * (C) 2001 Dirk Mueller (mueller@kde.org) 4 * (C) 2001 Dirk Mueller (mueller@kde.org)
5 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All r ights reserved. 5 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All r ights reserved.
6 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies) 6 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies)
7 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo bile.com/) 7 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo bile.com/)
8 * 8 *
9 * This library is free software; you can redistribute it and/or 9 * This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU Library General Public 10 * modify it under the terms of the GNU Library General Public
(...skipping 1962 matching lines...) Expand 10 before | Expand all | Expand 10 after
1973 1973
1974 fireEventListeners(&event); 1974 fireEventListeners(&event);
1975 } 1975 }
1976 1976
1977 void Node::dispatchScopedEvent(PassRefPtrWillBeRawPtr<Event> event) 1977 void Node::dispatchScopedEvent(PassRefPtrWillBeRawPtr<Event> event)
1978 { 1978 {
1979 event->setTrusted(true); 1979 event->setTrusted(true);
1980 EventDispatcher::dispatchScopedEvent(*this, event->createMediator()); 1980 EventDispatcher::dispatchScopedEvent(*this, event->createMediator());
1981 } 1981 }
1982 1982
1983 bool Node::dispatchEventInternal(PassRefPtrWillBeRawPtr<Event> event) 1983 WebInputEventResult Node::dispatchEventInternal(PassRefPtrWillBeRawPtr<Event> ev ent)
1984 { 1984 {
1985 return EventDispatcher::dispatchEvent(*this, event->createMediator()); 1985 return EventDispatcher::dispatchEvent(*this, event->createMediator());
1986 } 1986 }
1987 1987
1988 void Node::dispatchSubtreeModifiedEvent() 1988 void Node::dispatchSubtreeModifiedEvent()
1989 { 1989 {
1990 if (isInShadowTree()) 1990 if (isInShadowTree())
1991 return; 1991 return;
1992 1992
1993 ASSERT(!EventDispatchForbiddenScope::isEventDispatchForbidden()); 1993 ASSERT(!EventDispatchForbiddenScope::isEventDispatchForbidden());
1994 1994
1995 if (!document().hasListenerType(Document::DOMSUBTREEMODIFIED_LISTENER)) 1995 if (!document().hasListenerType(Document::DOMSUBTREEMODIFIED_LISTENER))
1996 return; 1996 return;
1997 1997
1998 dispatchScopedEvent(MutationEvent::create(EventTypeNames::DOMSubtreeModified , true)); 1998 dispatchScopedEvent(MutationEvent::create(EventTypeNames::DOMSubtreeModified , true));
1999 } 1999 }
2000 2000
2001 bool Node::dispatchDOMActivateEvent(int detail, PassRefPtrWillBeRawPtr<Event> un derlyingEvent) 2001 WebInputEventResult Node::dispatchDOMActivateEvent(int detail, PassRefPtrWillBeR awPtr<Event> underlyingEvent)
2002 { 2002 {
2003 ASSERT(!EventDispatchForbiddenScope::isEventDispatchForbidden()); 2003 ASSERT(!EventDispatchForbiddenScope::isEventDispatchForbidden());
2004 RefPtrWillBeRawPtr<UIEvent> event = UIEvent::create(EventTypeNames::DOMActiv ate, true, true, document().domWindow(), detail); 2004 RefPtrWillBeRawPtr<UIEvent> event = UIEvent::create(EventTypeNames::DOMActiv ate, true, true, document().domWindow(), detail);
2005 event->setUnderlyingEvent(underlyingEvent); 2005 event->setUnderlyingEvent(underlyingEvent);
2006 dispatchScopedEvent(event); 2006 dispatchScopedEvent(event);
2007 return event->defaultHandled(); 2007
2008 // TODO(dtapuska): Dispatching scoped events shouldn't check the return
2009 // type because the scoped event could get put off in the delayed queue.
2010 return event->eventResult();
2008 } 2011 }
2009 2012
2010 bool Node::dispatchMouseEvent(const PlatformMouseEvent& nativeEvent, const Atomi cString& eventType, 2013 WebInputEventResult Node::dispatchMouseEvent(const PlatformMouseEvent& nativeEve nt, const AtomicString& eventType,
2011 int detail, Node* relatedTarget) 2014 int detail, Node* relatedTarget)
2012 { 2015 {
2013 RefPtrWillBeRawPtr<MouseEvent> event = MouseEvent::create(eventType, documen t().domWindow(), nativeEvent, detail, relatedTarget); 2016 RefPtrWillBeRawPtr<MouseEvent> event = MouseEvent::create(eventType, documen t().domWindow(), nativeEvent, detail, relatedTarget);
2014 return dispatchEvent(event); 2017 return dispatchEvent(event);
2015 } 2018 }
2016 2019
2017 void Node::dispatchSimulatedClick(Event* underlyingEvent, SimulatedClickMouseEve ntOptions eventOptions, SimulatedClickCreationScope scope) 2020 void Node::dispatchSimulatedClick(Event* underlyingEvent, SimulatedClickMouseEve ntOptions eventOptions, SimulatedClickCreationScope scope)
2018 { 2021 {
2019 EventDispatcher::dispatchSimulatedClick(*this, underlyingEvent, eventOptions , scope); 2022 EventDispatcher::dispatchSimulatedClick(*this, underlyingEvent, eventOptions , scope);
2020 } 2023 }
2021 2024
2022 void Node::dispatchInputEvent() 2025 void Node::dispatchInputEvent()
2023 { 2026 {
2024 dispatchScopedEvent(Event::createBubble(EventTypeNames::input)); 2027 dispatchScopedEvent(Event::createBubble(EventTypeNames::input));
2025 } 2028 }
2026 2029
2027 void Node::defaultEventHandler(Event* event) 2030 void Node::defaultEventHandler(Event* event)
2028 { 2031 {
2029 if (event->target() != this) 2032 if (event->target() != this)
2030 return; 2033 return;
2031 const AtomicString& eventType = event->type(); 2034 const AtomicString& eventType = event->type();
2032 if (eventType == EventTypeNames::keydown || eventType == EventTypeNames::key press) { 2035 if (eventType == EventTypeNames::keydown || eventType == EventTypeNames::key press) {
2033 if (event->isKeyboardEvent()) { 2036 if (event->isKeyboardEvent()) {
2034 if (LocalFrame* frame = document().frame()) 2037 if (LocalFrame* frame = document().frame())
2035 frame->eventHandler().defaultKeyboardEventHandler(toKeyboardEven t(event)); 2038 frame->eventHandler().defaultKeyboardEventHandler(toKeyboardEven t(event));
2036 } 2039 }
2037 } else if (eventType == EventTypeNames::click) { 2040 } else if (eventType == EventTypeNames::click) {
2038 int detail = event->isUIEvent() ? static_cast<UIEvent*>(event)->detail() : 0; 2041 int detail = event->isUIEvent() ? static_cast<UIEvent*>(event)->detail() : 0;
2039 if (dispatchDOMActivateEvent(detail, event)) 2042 if (dispatchDOMActivateEvent(detail, event) != WebInputEventResult::NotH andled)
2040 event->setDefaultHandled(); 2043 event->setDefaultHandled();
2041 } else if (eventType == EventTypeNames::contextmenu) { 2044 } else if (eventType == EventTypeNames::contextmenu) {
2042 if (Page* page = document().page()) 2045 if (Page* page = document().page())
2043 page->contextMenuController().handleContextMenuEvent(event); 2046 page->contextMenuController().handleContextMenuEvent(event);
2044 } else if (eventType == EventTypeNames::textInput) { 2047 } else if (eventType == EventTypeNames::textInput) {
2045 if (event->hasInterface(EventNames::TextEvent)) { 2048 if (event->hasInterface(EventNames::TextEvent)) {
2046 if (LocalFrame* frame = document().frame()) 2049 if (LocalFrame* frame = document().frame())
2047 frame->eventHandler().defaultTextInputEventHandler(toTextEvent(e vent)); 2050 frame->eventHandler().defaultTextInputEventHandler(toTextEvent(e vent));
2048 } 2051 }
2049 #if OS(WIN) 2052 #if OS(WIN)
(...skipping 301 matching lines...) Expand 10 before | Expand all | Expand 10 after
2351 2354
2352 void showNodePath(const blink::Node* node) 2355 void showNodePath(const blink::Node* node)
2353 { 2356 {
2354 if (node) 2357 if (node)
2355 node->showNodePathForThis(); 2358 node->showNodePathForThis();
2356 else 2359 else
2357 fprintf(stderr, "Cannot showNodePath for (nil)\n"); 2360 fprintf(stderr, "Cannot showNodePath for (nil)\n");
2358 } 2361 }
2359 2362
2360 #endif 2363 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698