| Index: Source/core/svg/SVGElement.cpp
|
| diff --git a/Source/core/svg/SVGElement.cpp b/Source/core/svg/SVGElement.cpp
|
| index 7b84ce2671c2a15a0a07e0219a01a881266e0b29..a567999d9cafb910faacd4b635e881214b46b36a 100644
|
| --- a/Source/core/svg/SVGElement.cpp
|
| +++ b/Source/core/svg/SVGElement.cpp
|
| @@ -843,22 +843,7 @@ bool SVGElement::removeEventListener(const AtomicString& eventType, EventListene
|
| SVGElement* shadowTreeElement = *it;
|
| ASSERT(shadowTreeElement);
|
|
|
| - if (shadowTreeElement->Node::removeEventListener(eventType, listener, useCapture))
|
| - continue;
|
| -
|
| - // This case can only be hit for event listeners created from markup
|
| - ASSERT(listener->wasCreatedFromMarkup());
|
| -
|
| - // If the event listener 'listener' has been created from markup and has been fired before
|
| - // then JSLazyEventListener::parseCode() has been called and m_jsFunction of that listener
|
| - // has been created (read: it's not 0 anymore). During shadow tree creation, the event
|
| - // listener DOM attribute has been cloned, and another event listener has been setup in
|
| - // the shadow tree. If that event listener has not been used yet, m_jsFunction is still 0,
|
| - // and tryRemoveEventListener() above will fail. Work around that very seldom problem.
|
| - EventTargetData* data = shadowTreeElement->eventTargetData();
|
| - ASSERT(data);
|
| -
|
| - data->eventListenerMap.removeFirstEventListenerCreatedFromMarkup(eventType);
|
| + shadowTreeElement->Node::removeEventListener(eventType, listener, useCapture);
|
| }
|
|
|
| return true;
|
|
|