<?xml version="1.0"?> <?xml-stylesheet href="chrome://global/skin/" type="text/css"?> <window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" xmlns:html="http://www.w3.org/1999/xhtml" xmlns:h="http://www.w3.org/1999/xhtml"> <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js" /> <toolbarbutton oncommand="++countera;" id="a">A</toolbarbutton> <toolbarbutton oncommand="++counterb;" id="b">B</toolbarbutton> <script type="text/javascript"> <![CDATA[ let aEl = document.getElementById('a'); let bEl = document.getElementById('b'); let countera = 0; let counterb = 0; aEl.addEventListener('click', function (aEvent) { aEvent.preventDefault(); let cmdEvent = document.createEvent("xulcommandevent"); cmdEvent.initCommandEvent("command", true, true, window, 0, aEvent.ctrlKey, aEvent.altKey, aEvent.shiftKey, aEvent.metaKey, null); aEvent.currentTarget.dispatchEvent(cmdEvent); }); bEl.addEventListener('click', function (aEvent) { let cmdEvent = document.createEvent("xulcommandevent"); cmdEvent.initCommandEvent("command", true, true, window, 0, aEvent.ctrlKey, aEvent.altKey, aEvent.shiftKey, aEvent.metaKey, null); aEvent.currentTarget.dispatchEvent(cmdEvent); }); bEl.click(); aEl.click(); is(countera, 1, "Counter should be one as event fires once"); is(counterb, 2, "Counter should be two as event fires twice"); ]]> </script> </window>