Title: [118393] trunk/Source/WebCore
- Revision
- 118393
- Author
- [email protected]
- Date
- 2012-05-24 11:03:22 -0700 (Thu, 24 May 2012)
Log Message
SVGElement::addEventListener has peculiar RefPtr usage
https://bugs.webkit.org/show_bug.cgi?id=86497
Reviewed by Andy Estes.
* svg/SVGElement.cpp:
(WebCore::SVGElement::addEventListener): Switch to a more-standard style of RefPtr usage,
getting rid of some unneeded reference count churn; also removed an unneeded special case
for zero listeners.
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (118392 => 118393)
--- trunk/Source/WebCore/ChangeLog 2012-05-24 17:54:51 UTC (rev 118392)
+++ trunk/Source/WebCore/ChangeLog 2012-05-24 18:03:22 UTC (rev 118393)
@@ -1,3 +1,15 @@
+2012-05-24 Darin Adler <[email protected]>
+
+ SVGElement::addEventListener has peculiar RefPtr usage
+ https://bugs.webkit.org/show_bug.cgi?id=86497
+
+ Reviewed by Andy Estes.
+
+ * svg/SVGElement.cpp:
+ (WebCore::SVGElement::addEventListener): Switch to a more-standard style of RefPtr usage,
+ getting rid of some unneeded reference count churn; also removed an unneeded special case
+ for zero listeners.
+
2012-05-24 Raphael Kubo da Costa <[email protected]>
[EFL] Modify keycode conversion functions to return keycodes with location information after r118001.
Modified: trunk/Source/WebCore/svg/SVGElement.cpp (118392 => 118393)
--- trunk/Source/WebCore/svg/SVGElement.cpp 2012-05-24 17:54:51 UTC (rev 118392)
+++ trunk/Source/WebCore/svg/SVGElement.cpp 2012-05-24 18:03:22 UTC (rev 118393)
@@ -362,28 +362,23 @@
instances = styledElement->instancesForElement();
}
-bool SVGElement::addEventListener(const AtomicString& eventType, PassRefPtr<EventListener> listener, bool useCapture)
+bool SVGElement::addEventListener(const AtomicString& eventType, PassRefPtr<EventListener> prpListener, bool useCapture)
{
- HashSet<SVGElementInstance*> instances;
- collectInstancesForSVGElement(this, instances);
- if (instances.isEmpty())
- return Node::addEventListener(eventType, listener, useCapture);
-
- RefPtr<EventListener> listenerForRegularTree = listener;
- RefPtr<EventListener> listenerForShadowTree = listenerForRegularTree;
-
+ RefPtr<EventListener> listener = prpListener;
+
// Add event listener to regular DOM element
- if (!Node::addEventListener(eventType, listenerForRegularTree.release(), useCapture))
+ if (!Node::addEventListener(eventType, listener, useCapture))
return false;
// Add event listener to all shadow tree DOM element instances
+ HashSet<SVGElementInstance*> instances;
+ collectInstancesForSVGElement(this, instances);
const HashSet<SVGElementInstance*>::const_iterator end = instances.end();
for (HashSet<SVGElementInstance*>::const_iterator it = instances.begin(); it != end; ++it) {
ASSERT((*it)->shadowTreeElement());
ASSERT((*it)->correspondingElement() == this);
- RefPtr<EventListener> listenerForCurrentShadowTreeElement = listenerForShadowTree;
- bool result = (*it)->shadowTreeElement()->Node::addEventListener(eventType, listenerForCurrentShadowTreeElement.release(), useCapture);
+ bool result = (*it)->shadowTreeElement()->Node::addEventListener(eventType, listener, useCapture);
ASSERT_UNUSED(result, result);
}
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes