But it doesn't feel right to do one thing in `pre_handle_event` and another in `handle_event`, so I'm happy to change `handle_event` (and all the existing implementations) to accept a `DOMEvent` instead of `nsIDOMEvent` if you think that's the right thing to do?
Yes, I think it's the right thing to do (in a separated commit).