From 41643eed69f6282c5f47029c1a5179b71c9518b2 Mon Sep 17 00:00:00 2001 From: "bryner%brianryner.com" Date: Mon, 16 Feb 2004 08:50:56 +0000 Subject: [PATCH] Make script-created DOM events get dispatched to the system event group just like user events. This fixes firing keypress events at a form input, since editor listens for keypresses using the system event group. Bug 213144, r+sr=bzbarsky, a=chofmann. --- content/events/src/nsEventStateManager.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/content/events/src/nsEventStateManager.cpp b/content/events/src/nsEventStateManager.cpp index 1bc8a9ef2bf..d6523a91a3f 100644 --- a/content/events/src/nsEventStateManager.cpp +++ b/content/events/src/nsEventStateManager.cpp @@ -4446,6 +4446,15 @@ nsEventStateManager::DispatchNewEvent(nsISupports* aTarget, nsIDOMEvent* aEvent, nsCOMPtr target(do_QueryInterface(aTarget)); if (target) { ret = target->HandleDOMEvent(mPresContext, innerEvent, &aEvent, NS_EVENT_FLAG_INIT, &status); + + // Dispatch to the system event group. Make sure to clear the + // STOP_DISPATCH flag since this resets for each event group + // per DOM3 Events. + + innerEvent->flags &= ~NS_EVENT_FLAG_STOP_DISPATCH; + ret = target->HandleDOMEvent(mPresContext, innerEvent, &aEvent, + NS_EVENT_FLAG_INIT | NS_EVENT_FLAG_SYSTEM_EVENT, + &status); } else { nsCOMPtr target(do_QueryInterface(aTarget));