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

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

Issue 171333003: Pass implementation object to supplemental classes by reference (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Rebase Created 6 years, 10 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 unified diff | Download patch | Annotate | Revision Log
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 1926 matching lines...) Expand 10 before | Expand all | Expand 10 after
1937 document().addListenerTypeIfNeeded(types[i]); 1937 document().addListenerTypeIfNeeded(types[i]);
1938 } 1938 }
1939 } 1939 }
1940 1940
1941 if (AXObjectCache::accessibilityEnabled()) { 1941 if (AXObjectCache::accessibilityEnabled()) {
1942 if (AXObjectCache* cache = oldDocument.existingAXObjectCache()) 1942 if (AXObjectCache* cache = oldDocument.existingAXObjectCache())
1943 cache->remove(this); 1943 cache->remove(this);
1944 } 1944 }
1945 1945
1946 const EventListenerVector& mousewheelListeners = getEventListeners(EventType Names::mousewheel); 1946 const EventListenerVector& mousewheelListeners = getEventListeners(EventType Names::mousewheel);
1947 WheelController* oldController = WheelController::from(&oldDocument); 1947 WheelController* oldController = WheelController::from(oldDocument);
1948 WheelController* newController = WheelController::from(&document()); 1948 WheelController* newController = WheelController::from(document());
1949 for (size_t i = 0; i < mousewheelListeners.size(); ++i) { 1949 for (size_t i = 0; i < mousewheelListeners.size(); ++i) {
1950 oldController->didRemoveWheelEventHandler(&oldDocument); 1950 oldController->didRemoveWheelEventHandler(oldDocument);
1951 newController->didAddWheelEventHandler(&document()); 1951 newController->didAddWheelEventHandler(document());
1952 } 1952 }
1953 1953
1954 const EventListenerVector& wheelListeners = getEventListeners(EventTypeNames ::wheel); 1954 const EventListenerVector& wheelListeners = getEventListeners(EventTypeNames ::wheel);
1955 for (size_t i = 0; i < wheelListeners.size(); ++i) { 1955 for (size_t i = 0; i < wheelListeners.size(); ++i) {
1956 oldController->didRemoveWheelEventHandler(&oldDocument); 1956 oldController->didRemoveWheelEventHandler(oldDocument);
1957 newController->didAddWheelEventHandler(&document()); 1957 newController->didAddWheelEventHandler(document());
1958 } 1958 }
1959 1959
1960 if (const TouchEventTargetSet* touchHandlers = oldDocument.touchEventTargets ()) { 1960 if (const TouchEventTargetSet* touchHandlers = oldDocument.touchEventTargets ()) {
1961 while (touchHandlers->contains(this)) { 1961 while (touchHandlers->contains(this)) {
1962 oldDocument.didRemoveTouchEventHandler(this); 1962 oldDocument.didRemoveTouchEventHandler(this);
1963 document().didAddTouchEventHandler(this); 1963 document().didAddTouchEventHandler(this);
1964 } 1964 }
1965 } 1965 }
1966 1966
1967 if (Vector<OwnPtr<MutationObserverRegistration> >* registry = mutationObserv erRegistry()) { 1967 if (Vector<OwnPtr<MutationObserverRegistration> >* registry = mutationObserv erRegistry()) {
(...skipping 10 matching lines...) Expand all
1978 } 1978 }
1979 1979
1980 static inline bool tryAddEventListener(Node* targetNode, const AtomicString& eve ntType, PassRefPtr<EventListener> listener, bool useCapture) 1980 static inline bool tryAddEventListener(Node* targetNode, const AtomicString& eve ntType, PassRefPtr<EventListener> listener, bool useCapture)
1981 { 1981 {
1982 if (!targetNode->EventTarget::addEventListener(eventType, listener, useCaptu re)) 1982 if (!targetNode->EventTarget::addEventListener(eventType, listener, useCaptu re))
1983 return false; 1983 return false;
1984 1984
1985 Document& document = targetNode->document(); 1985 Document& document = targetNode->document();
1986 document.addListenerTypeIfNeeded(eventType); 1986 document.addListenerTypeIfNeeded(eventType);
1987 if (eventType == EventTypeNames::wheel || eventType == EventTypeNames::mouse wheel) 1987 if (eventType == EventTypeNames::wheel || eventType == EventTypeNames::mouse wheel)
1988 WheelController::from(&document)->didAddWheelEventHandler(&document); 1988 WheelController::from(document)->didAddWheelEventHandler(document);
1989 else if (isTouchEventType(eventType)) 1989 else if (isTouchEventType(eventType))
1990 document.didAddTouchEventHandler(targetNode); 1990 document.didAddTouchEventHandler(targetNode);
1991 1991
1992 return true; 1992 return true;
1993 } 1993 }
1994 1994
1995 bool Node::addEventListener(const AtomicString& eventType, PassRefPtr<EventListe ner> listener, bool useCapture) 1995 bool Node::addEventListener(const AtomicString& eventType, PassRefPtr<EventListe ner> listener, bool useCapture)
1996 { 1996 {
1997 return tryAddEventListener(this, eventType, listener, useCapture); 1997 return tryAddEventListener(this, eventType, listener, useCapture);
1998 } 1998 }
1999 1999
2000 static inline bool tryRemoveEventListener(Node* targetNode, const AtomicString& eventType, EventListener* listener, bool useCapture) 2000 static inline bool tryRemoveEventListener(Node* targetNode, const AtomicString& eventType, EventListener* listener, bool useCapture)
2001 { 2001 {
2002 if (!targetNode->EventTarget::removeEventListener(eventType, listener, useCa pture)) 2002 if (!targetNode->EventTarget::removeEventListener(eventType, listener, useCa pture))
2003 return false; 2003 return false;
2004 2004
2005 // FIXME: Notify Document that the listener has vanished. We need to keep tr ack of a number of 2005 // FIXME: Notify Document that the listener has vanished. We need to keep tr ack of a number of
2006 // listeners for each type, not just a bool - see https://bugs.webkit.org/sh ow_bug.cgi?id=33861 2006 // listeners for each type, not just a bool - see https://bugs.webkit.org/sh ow_bug.cgi?id=33861
2007 Document& document = targetNode->document(); 2007 Document& document = targetNode->document();
2008 if (eventType == EventTypeNames::wheel || eventType == EventTypeNames::mouse wheel) 2008 if (eventType == EventTypeNames::wheel || eventType == EventTypeNames::mouse wheel)
2009 WheelController::from(&document)->didAddWheelEventHandler(&document); 2009 WheelController::from(document)->didAddWheelEventHandler(document);
2010 else if (isTouchEventType(eventType)) 2010 else if (isTouchEventType(eventType))
2011 document.didRemoveTouchEventHandler(targetNode); 2011 document.didRemoveTouchEventHandler(targetNode);
2012 2012
2013 return true; 2013 return true;
2014 } 2014 }
2015 2015
2016 bool Node::removeEventListener(const AtomicString& eventType, EventListener* lis tener, bool useCapture) 2016 bool Node::removeEventListener(const AtomicString& eventType, EventListener* lis tener, bool useCapture)
2017 { 2017 {
2018 return tryRemoveEventListener(this, eventType, listener, useCapture); 2018 return tryRemoveEventListener(this, eventType, listener, useCapture);
2019 } 2019 }
(...skipping 534 matching lines...) Expand 10 before | Expand all | Expand 10 after
2554 node->showTreeForThis(); 2554 node->showTreeForThis();
2555 } 2555 }
2556 2556
2557 void showNodePath(const WebCore::Node* node) 2557 void showNodePath(const WebCore::Node* node)
2558 { 2558 {
2559 if (node) 2559 if (node)
2560 node->showNodePathForThis(); 2560 node->showNodePathForThis();
2561 } 2561 }
2562 2562
2563 #endif 2563 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698