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

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

Issue 1238083002: Oilpan: Move the EventListener hierarchy to Oilpan's heap (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 5 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 1757 matching lines...) Expand 10 before | Expand all | Expand 10 after
1768 document().addMutationObserverTypes(registry->at(i)->mutationTypes() ); 1768 document().addMutationObserverTypes(registry->at(i)->mutationTypes() );
1769 } 1769 }
1770 } 1770 }
1771 1771
1772 if (transientMutationObserverRegistry()) { 1772 if (transientMutationObserverRegistry()) {
1773 for (MutationObserverRegistration* registration : *transientMutationObse rverRegistry()) 1773 for (MutationObserverRegistration* registration : *transientMutationObse rverRegistry())
1774 document().addMutationObserverTypes(registration->mutationTypes()); 1774 document().addMutationObserverTypes(registration->mutationTypes());
1775 } 1775 }
1776 } 1776 }
1777 1777
1778 static inline bool tryAddEventListener(Node* targetNode, const AtomicString& eve ntType, PassRefPtr<EventListener> listener, bool useCapture) 1778 static inline bool tryAddEventListener(Node* targetNode, const AtomicString& eve ntType, PassRefPtrWillBeRawPtr<EventListener> listener, bool useCapture)
1779 { 1779 {
1780 if (!targetNode->EventTarget::addEventListener(eventType, listener, useCaptu re)) 1780 if (!targetNode->EventTarget::addEventListener(eventType, listener, useCaptu re))
1781 return false; 1781 return false;
1782 1782
1783 Document& document = targetNode->document(); 1783 Document& document = targetNode->document();
1784 document.addListenerTypeIfNeeded(eventType); 1784 document.addListenerTypeIfNeeded(eventType);
1785 if (document.frameHost()) 1785 if (document.frameHost())
1786 document.frameHost()->eventHandlerRegistry().didAddEventHandler(*targetN ode, eventType); 1786 document.frameHost()->eventHandlerRegistry().didAddEventHandler(*targetN ode, eventType);
1787 1787
1788 return true; 1788 return true;
1789 } 1789 }
1790 1790
1791 bool Node::addEventListener(const AtomicString& eventType, PassRefPtr<EventListe ner> listener, bool useCapture) 1791 bool Node::addEventListener(const AtomicString& eventType, PassRefPtrWillBeRawPt r<EventListener> listener, bool useCapture)
1792 { 1792 {
1793 return tryAddEventListener(this, eventType, listener, useCapture); 1793 return tryAddEventListener(this, eventType, listener, useCapture);
1794 } 1794 }
1795 1795
1796 static inline bool tryRemoveEventListener(Node* targetNode, const AtomicString& eventType, PassRefPtr<EventListener> listener, bool useCapture) 1796 static inline bool tryRemoveEventListener(Node* targetNode, const AtomicString& eventType, PassRefPtrWillBeRawPtr<EventListener> listener, bool useCapture)
1797 { 1797 {
1798 if (!targetNode->EventTarget::removeEventListener(eventType, listener, useCa pture)) 1798 if (!targetNode->EventTarget::removeEventListener(eventType, listener, useCa pture))
1799 return false; 1799 return false;
1800 1800
1801 // FIXME: Notify Document that the listener has vanished. We need to keep tr ack of a number of 1801 // FIXME: Notify Document that the listener has vanished. We need to keep tr ack of a number of
1802 // listeners for each type, not just a bool - see https://bugs.webkit.org/sh ow_bug.cgi?id=33861 1802 // listeners for each type, not just a bool - see https://bugs.webkit.org/sh ow_bug.cgi?id=33861
1803 Document& document = targetNode->document(); 1803 Document& document = targetNode->document();
1804 if (document.frameHost()) 1804 if (document.frameHost())
1805 document.frameHost()->eventHandlerRegistry().didRemoveEventHandler(*targ etNode, eventType); 1805 document.frameHost()->eventHandlerRegistry().didRemoveEventHandler(*targ etNode, eventType);
1806 1806
1807 return true; 1807 return true;
1808 } 1808 }
1809 1809
1810 bool Node::removeEventListener(const AtomicString& eventType, PassRefPtr<EventLi stener> listener, bool useCapture) 1810 bool Node::removeEventListener(const AtomicString& eventType, PassRefPtrWillBeRa wPtr<EventListener> listener, bool useCapture)
1811 { 1811 {
1812 return tryRemoveEventListener(this, eventType, listener, useCapture); 1812 return tryRemoveEventListener(this, eventType, listener, useCapture);
1813 } 1813 }
1814 1814
1815 void Node::removeAllEventListeners() 1815 void Node::removeAllEventListeners()
1816 { 1816 {
1817 if (hasEventListeners() && document().frameHost()) 1817 if (hasEventListeners() && document().frameHost())
1818 document().frameHost()->eventHandlerRegistry().didRemoveAllEventHandlers (*this); 1818 document().frameHost()->eventHandlerRegistry().didRemoveAllEventHandlers (*this);
1819 EventTarget::removeAllEventListeners(); 1819 EventTarget::removeAllEventListeners();
1820 } 1820 }
(...skipping 590 matching lines...) Expand 10 before | Expand all | Expand 10 after
2411 2411
2412 void showNodePath(const blink::Node* node) 2412 void showNodePath(const blink::Node* node)
2413 { 2413 {
2414 if (node) 2414 if (node)
2415 node->showNodePathForThis(); 2415 node->showNodePathForThis();
2416 else 2416 else
2417 fprintf(stderr, "Cannot showNodePath for (nil)\n"); 2417 fprintf(stderr, "Cannot showNodePath for (nil)\n");
2418 } 2418 }
2419 2419
2420 #endif 2420 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698