Closed Bug 185758 Opened 22 years ago Closed 19 years ago

Move event flow out of elements

Categories

(Core :: DOM: Events, defect, P3)

x86
Windows XP
defect

Tracking

()

RESOLVED FIXED
Future

People

(Reporter: john, Unassigned)

References

(Blocks 2 open bugs)

Details

Currently elements not only handle default actions for events, they also fire the handlers for them and ensure that the event flow moves correctly. This logic is standard and should be moved to a standard place (ESM), and calls made into the elements for things they need to do like default actions. Things an implementation will have to watch for: - submit form controls set some bits while in the onclick handler for a submission hack - input type=file currently changes the target - input type=radio, for compatibility reasons, sets .checked *before* the click event is fired and sets it back if the default action was cancelled. - eConsumeDoDefault, a very strange little status More generally: - things where elements override HandleDOMEvent and store state before and after the event flow call to super::HandleDOMEvent() need to be handled still - some elements need to know when default action was cancelled so they can update their state This will fix a number of problems that arise with the interaction between elements that handle the same event by default: for example, with an <a href> that contains an <input type=image>, the default handler is supposed to happen This will also make real event groups possible, and maybe even easy.
Depends on: 184051
It'd be good to have this in 1.4alpha; it looks like it will fix a number of bugs and unblock further event work.
Status: NEW → ASSIGNED
Priority: -- → P3
Target Milestone: --- → mozilla1.4alpha
Blocks: 163912
Blocks: 201418
As much as I hate to future this, I don't have time to fix this (which wouldn't be awfully huge) and chase regressions (which would) until some of my other big patches are out of the way.
Target Milestone: mozilla1.4alpha → Future
Depends on: 234455
iirc, jkeiser is (per the terms of his current employment) prohibited from working on fixing bugs in Mozilla. Should this go to the default owner?
Assignee: john → events
Status: ASSIGNED → NEW
QA Contact: vladimire → ian
Event flow was moved to nsEventDispatcher in bug 234455.
Status: NEW → RESOLVED
Closed: 19 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.