mirror of
https://github.com/gryf/pentadactyl-pm.git
synced 2026-01-29 12:05:47 +01:00
Fix problem with events.dispatch. Closes issue #145.
This commit is contained in:
@@ -358,10 +358,17 @@ const Events = Module("events", {
|
||||
*/
|
||||
dispatch: Class.memoize(function ()
|
||||
util.haveGecko("2b")
|
||||
? function (target, event) // This causes a crash on Gecko<2.0, it seems.
|
||||
(target.ownerDocument || target.document || target).defaultView
|
||||
.QueryInterface(Ci.nsIInterfaceRequestor).getInterface(Ci.nsIDOMWindowUtils)
|
||||
.dispatchDOMEventViaPresShell(target, event, true)
|
||||
? function (target, event) {
|
||||
if (target instanceof Window)
|
||||
target = target.document;
|
||||
if (target instanceof Document)
|
||||
target = target.documentElement;
|
||||
dactyl.assert(target);
|
||||
// This causes a crash on Gecko<2.0, it seems.
|
||||
target.ownerDocument.defaultView
|
||||
.QueryInterface(Ci.nsIInterfaceRequestor).getInterface(Ci.nsIDOMWindowUtils)
|
||||
.dispatchDOMEventViaPresShell(target, event, true)
|
||||
}
|
||||
: function (target, event) target.dispatchEvent(event)),
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user