OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Nikolas Zimmermann <zimmermann@kde
.org> | 2 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Nikolas Zimmermann <zimmermann@kde
.org> |
3 * Copyright (C) 2004, 2005, 2006, 2008 Rob Buis <buis@kde.org> | 3 * Copyright (C) 2004, 2005, 2006, 2008 Rob Buis <buis@kde.org> |
4 * Copyright (C) 2008 Apple Inc. All rights reserved. | 4 * Copyright (C) 2008 Apple Inc. All rights reserved. |
5 * Copyright (C) 2008 Alp Toker <alp@atoker.com> | 5 * Copyright (C) 2008 Alp Toker <alp@atoker.com> |
6 * Copyright (C) 2009 Cameron McCormack <cam@mcc.id.au> | 6 * Copyright (C) 2009 Cameron McCormack <cam@mcc.id.au> |
7 * | 7 * |
8 * This library is free software; you can redistribute it and/or | 8 * This library is free software; you can redistribute it and/or |
9 * modify it under the terms of the GNU Library General Public | 9 * modify it under the terms of the GNU Library General Public |
10 * License as published by the Free Software Foundation; either | 10 * License as published by the Free Software Foundation; either |
(...skipping 723 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
734 { | 734 { |
735 ASSERT(element); | 735 ASSERT(element); |
736 if (element->containingShadowRoot()) | 736 if (element->containingShadowRoot()) |
737 return; | 737 return; |
738 | 738 |
739 ASSERT(!element->instanceUpdatesBlocked()); | 739 ASSERT(!element->instanceUpdatesBlocked()); |
740 | 740 |
741 instances = element->instancesForElement(); | 741 instances = element->instancesForElement(); |
742 } | 742 } |
743 | 743 |
744 bool SVGElement::addEventListener(const AtomicString& eventType, PassRefPtr<Even
tListener> prpListener, bool useCapture) | 744 bool SVGElement::addEventListener(const AtomicString& eventType, PassRefPtrWillB
eRawPtr<EventListener> prpListener, bool useCapture) |
745 { | 745 { |
746 RefPtr<EventListener> listener = prpListener; | 746 RefPtrWillBeRawPtr<EventListener> listener = prpListener; |
747 | 747 |
748 // Add event listener to regular DOM element | 748 // Add event listener to regular DOM element |
749 if (!Node::addEventListener(eventType, listener, useCapture)) | 749 if (!Node::addEventListener(eventType, listener, useCapture)) |
750 return false; | 750 return false; |
751 | 751 |
752 // Add event listener to all shadow tree DOM element instances | 752 // Add event listener to all shadow tree DOM element instances |
753 WillBeHeapHashSet<RawPtrWillBeWeakMember<SVGElement>> instances; | 753 WillBeHeapHashSet<RawPtrWillBeWeakMember<SVGElement>> instances; |
754 collectInstancesForSVGElement(this, instances); | 754 collectInstancesForSVGElement(this, instances); |
755 for (SVGElement* element : instances) { | 755 for (SVGElement* element : instances) { |
756 bool result = element->Node::addEventListener(eventType, listener, useCa
pture); | 756 bool result = element->Node::addEventListener(eventType, listener, useCa
pture); |
757 ASSERT_UNUSED(result, result); | 757 ASSERT_UNUSED(result, result); |
758 } | 758 } |
759 | 759 |
760 return true; | 760 return true; |
761 } | 761 } |
762 | 762 |
763 bool SVGElement::removeEventListener(const AtomicString& eventType, PassRefPtr<E
ventListener> prpListener, bool useCapture) | 763 bool SVGElement::removeEventListener(const AtomicString& eventType, PassRefPtrWi
llBeRawPtr<EventListener> prpListener, bool useCapture) |
764 { | 764 { |
765 RefPtr<EventListener> listener = prpListener; | 765 RefPtrWillBeRawPtr<EventListener> listener = prpListener; |
766 | 766 |
767 // Remove event listener from regular DOM element | 767 // Remove event listener from regular DOM element |
768 if (!Node::removeEventListener(eventType, listener, useCapture)) | 768 if (!Node::removeEventListener(eventType, listener, useCapture)) |
769 return false; | 769 return false; |
770 | 770 |
771 // Remove event listener from all shadow tree DOM element instances | 771 // Remove event listener from all shadow tree DOM element instances |
772 WillBeHeapHashSet<RawPtrWillBeWeakMember<SVGElement>> instances; | 772 WillBeHeapHashSet<RawPtrWillBeWeakMember<SVGElement>> instances; |
773 collectInstancesForSVGElement(this, instances); | 773 collectInstancesForSVGElement(this, instances); |
774 for (SVGElement* shadowTreeElement : instances) { | 774 for (SVGElement* shadowTreeElement : instances) { |
775 ASSERT(shadowTreeElement); | 775 ASSERT(shadowTreeElement); |
776 | 776 |
777 shadowTreeElement->Node::removeEventListener(eventType, listener, useCap
ture); | 777 shadowTreeElement->Node::removeEventListener(eventType, listener, useCap
ture); |
778 } | 778 } |
779 | 779 |
780 return true; | 780 return true; |
781 } | 781 } |
782 | 782 |
783 static bool hasLoadListener(Element* element) | 783 static bool hasLoadListener(Element* element) |
784 { | 784 { |
785 if (element->hasEventListeners(EventTypeNames::load)) | 785 if (element->hasEventListeners(EventTypeNames::load)) |
786 return true; | 786 return true; |
787 | 787 |
788 for (element = element->parentOrShadowHostElement(); element; element = elem
ent->parentOrShadowHostElement()) { | 788 for (element = element->parentOrShadowHostElement(); element; element = elem
ent->parentOrShadowHostElement()) { |
789 const EventListenerVector& entry = element->getEventListeners(EventTypeN
ames::load); | 789 EventListenerVector* entry = element->getEventListeners(EventTypeNames::
load); |
790 for (size_t i = 0; i < entry.size(); ++i) { | 790 if (!entry) |
791 if (entry[i].useCapture) | 791 continue; |
| 792 for (size_t i = 0; i < entry->size(); ++i) { |
| 793 if (entry->at(i).useCapture) |
792 return true; | 794 return true; |
793 } | 795 } |
794 } | 796 } |
795 | 797 |
796 return false; | 798 return false; |
797 } | 799 } |
798 | 800 |
799 bool SVGElement::sendSVGLoadEventIfPossible() | 801 bool SVGElement::sendSVGLoadEventIfPossible() |
800 { | 802 { |
801 if (!haveLoadedRequiredResources()) | 803 if (!haveLoadedRequiredResources()) |
(...skipping 362 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1164 Element::trace(visitor); | 1166 Element::trace(visitor); |
1165 } | 1167 } |
1166 | 1168 |
1167 const AtomicString& SVGElement::eventParameterName() | 1169 const AtomicString& SVGElement::eventParameterName() |
1168 { | 1170 { |
1169 DEFINE_STATIC_LOCAL(const AtomicString, evtString, ("evt", AtomicString::Con
structFromLiteral)); | 1171 DEFINE_STATIC_LOCAL(const AtomicString, evtString, ("evt", AtomicString::Con
structFromLiteral)); |
1170 return evtString; | 1172 return evtString; |
1171 } | 1173 } |
1172 | 1174 |
1173 } // namespace blink | 1175 } // namespace blink |
OLD | NEW |