Reviewed by Darin Adler.
[WebKit-https.git] / WebCore / dom / EventTargetNode.cpp
index 05ae1ce..30e662e 100644 (file)
@@ -244,7 +244,7 @@ static inline EventTarget* eventTargetRespectingSVGTargetRules(EventTargetNode*
     return referenceNode;
 }
 
-bool EventTargetNode::dispatchEvent(PassRefPtr<Event> e, ExceptionCode& ec, bool tempEvent)
+bool EventTargetNode::dispatchEvent(PassRefPtr<Event> e, ExceptionCode& ec)
 {
     RefPtr<Event> evt(e);
     ASSERT(!eventDispatchForbidden());
@@ -256,10 +256,10 @@ bool EventTargetNode::dispatchEvent(PassRefPtr<Event> e, ExceptionCode& ec, bool
     evt->setTarget(eventTargetRespectingSVGTargetRules(this));
 
     RefPtr<FrameView> view = document()->view();
-    return dispatchGenericEvent(evt.release(), ec, tempEvent);
+    return dispatchGenericEvent(evt.release(), ec);
 }
 
-bool EventTargetNode::dispatchGenericEvent(PassRefPtr<Event> e, ExceptionCode& ec, bool tempEvent)
+bool EventTargetNode::dispatchGenericEvent(PassRefPtr<Event> e, ExceptionCode& ec)
 {
     RefPtr<Event> evt(e);
 
@@ -384,15 +384,6 @@ bool EventTargetNode::dispatchGenericEvent(PassRefPtr<Event> e, ExceptionCode& e
 
     Document::updateDocumentsRendering();
 
-    // If tempEvent is true, this means that the DOM implementation
-    // will not be storing a reference to the event, i.e.  there is no
-    // way to retrieve it from javascript if a script does not already
-    // have a reference to it in a variable.  So there is no need for
-    // the interpreter to keep the event in it's cache
-    Frame* frame = document()->frame();
-    if (tempEvent && frame && frame->script()->isEnabled())
-        frame->script()->finishedWithEvent(evt.get());
-
     return !evt->defaultPrevented(); // ### what if defaultPrevented was called before dispatchEvent?
 }
 
@@ -407,7 +398,7 @@ bool EventTargetNode::dispatchSubtreeModifiedEvent()
     if (!document()->hasListenerType(Document::DOMSUBTREEMODIFIED_LISTENER))
         return false;
     ExceptionCode ec = 0;
-    return dispatchEvent(MutationEvent::create(DOMSubtreeModifiedEvent, true, false, 0, String(), String(), String(), 0), ec, true);
+    return dispatchEvent(MutationEvent::create(DOMSubtreeModifiedEvent, true, false, 0, String(), String(), String(), 0), ec);
 }
 
 void EventTargetNode::dispatchWindowEvent(PassRefPtr<Event> e)
@@ -435,7 +426,7 @@ void EventTargetNode::dispatchWindowEvent(const AtomicString& eventType, bool ca
             RefPtr<Event> ownerEvent = Event::create(eventType, false, cancelableArg);
             ownerEvent->setTarget(ownerElement);
             ExceptionCode ec = 0;
-            ownerElement->dispatchGenericEvent(ownerEvent.release(), ec, true);
+            ownerElement->dispatchGenericEvent(ownerEvent.release(), ec);
         }
     }
 }
@@ -450,7 +441,7 @@ bool EventTargetNode::dispatchUIEvent(const AtomicString& eventType, int detail,
     ExceptionCode ec = 0;
     RefPtr<UIEvent> evt = UIEvent::create(eventType, true, cancelable, document()->defaultView(), detail);
     evt->setUnderlyingEvent(underlyingEvent);
-    return dispatchEvent(evt.release(), ec, true);
+    return dispatchEvent(evt.release(), ec);
 }
 
 bool EventTargetNode::dispatchKeyEvent(const PlatformKeyboardEvent& key)
@@ -458,7 +449,7 @@ bool EventTargetNode::dispatchKeyEvent(const PlatformKeyboardEvent& key)
     ASSERT(!eventDispatchForbidden());
     ExceptionCode ec = 0;
     RefPtr<KeyboardEvent> keyboardEvent = KeyboardEvent::create(key, document()->defaultView());
-    bool r = dispatchEvent(keyboardEvent,ec,true);
+    bool r = dispatchEvent(keyboardEvent, ec);
     
     // we want to return false if default is prevented (already taken care of)
     // or if the element is default-handled by the DOM. Otherwise we let it just
@@ -576,7 +567,7 @@ bool EventTargetNode::dispatchMouseEvent(const AtomicString& eventType, int butt
         relatedTarget, 0, isSimulated);
     mouseEvent->setUnderlyingEvent(underlyingEvent.get());
     
-    dispatchEvent(mouseEvent, ec, true);
+    dispatchEvent(mouseEvent, ec);
     bool defaultHandled = mouseEvent->defaultHandled();
     bool defaultPrevented = mouseEvent->defaultPrevented();
     if (defaultHandled || defaultPrevented)
@@ -594,7 +585,7 @@ bool EventTargetNode::dispatchMouseEvent(const AtomicString& eventType, int butt
         doubleClickEvent->setUnderlyingEvent(underlyingEvent.get());
         if (defaultHandled)
             doubleClickEvent->setDefaultHandled();
-        dispatchEvent(doubleClickEvent, ec, true);
+        dispatchEvent(doubleClickEvent, ec);
         if (doubleClickEvent->defaultHandled() || doubleClickEvent->defaultPrevented())
             swallowEvent = true;
     }
@@ -629,7 +620,7 @@ void EventTargetNode::dispatchWheelEvent(PlatformWheelEvent& e)
         document()->defaultView(), e.globalX(), e.globalY(), pos.x(), pos.y(),
         e.ctrlKey(), e.altKey(), e.shiftKey(), e.metaKey());
     ExceptionCode ec = 0;
-    if (!dispatchEvent(we.release(), ec, true))
+    if (!dispatchEvent(we.release(), ec))
         e.accept();
 }
 
@@ -638,7 +629,7 @@ bool EventTargetNode::dispatchWebKitAnimationEvent(const AtomicString& eventType
     ASSERT(!eventDispatchForbidden());
     
     ExceptionCode ec = 0;
-    return dispatchEvent(WebKitAnimationEvent::create(eventType, animationName, elapsedTime), ec, true);
+    return dispatchEvent(WebKitAnimationEvent::create(eventType, animationName, elapsedTime), ec);
 }
 
 bool EventTargetNode::dispatchWebKitTransitionEvent(const AtomicString& eventType, const String& propertyName, double elapsedTime)
@@ -646,7 +637,7 @@ bool EventTargetNode::dispatchWebKitTransitionEvent(const AtomicString& eventTyp
     ASSERT(!eventDispatchForbidden());
     
     ExceptionCode ec = 0;
-    return dispatchEvent(WebKitTransitionEvent::create(eventType, propertyName, elapsedTime), ec, true);
+    return dispatchEvent(WebKitTransitionEvent::create(eventType, propertyName, elapsedTime), ec);
 }
 
 void EventTargetNode::dispatchFocusEvent()
@@ -663,14 +654,14 @@ bool EventTargetNode::dispatchEventForType(const AtomicString& eventType, bool c
 {
     ASSERT(!eventDispatchForbidden());
     ExceptionCode ec = 0;
-    return dispatchEvent(Event::create(eventType, canBubbleArg, cancelableArg), ec, true);
+    return dispatchEvent(Event::create(eventType, canBubbleArg, cancelableArg), ec);
 }
 
 bool EventTargetNode::dispatchProgressEvent(const AtomicString &eventType, bool lengthComputableArg, unsigned loadedArg, unsigned totalArg)
 {
     ASSERT(!eventDispatchForbidden());
     ExceptionCode ec = 0;
-    return dispatchEvent(ProgressEvent::create(eventType, lengthComputableArg, loadedArg, totalArg), ec, true);
+    return dispatchEvent(ProgressEvent::create(eventType, lengthComputableArg, loadedArg, totalArg), ec);
 }
 
 void EventTargetNode::dispatchStorageEvent(const AtomicString &eventType, const String& key, const String& oldValue, const String& newValue, Frame* source)
@@ -678,7 +669,7 @@ void EventTargetNode::dispatchStorageEvent(const AtomicString &eventType, const
 #if ENABLE(DOM_STORAGE)
     ASSERT(!eventDispatchForbidden());
     ExceptionCode ec = 0;
-    dispatchEvent(StorageEvent::create(eventType, key, oldValue, newValue, source->document()->documentURI(), source->domWindow()), ec, true); 
+    dispatchEvent(StorageEvent::create(eventType, key, oldValue, newValue, source->document()->documentURI(), source->domWindow()), ec);
 #endif
 }