Tests asynchronous call stacks for various DOM events. Set timer for test function. Captured call stacks in no particular order: Call stack: 0) onHashChange1 (async-callstack-events.js:63) [hashchange] 0) doTestHashChange (async-callstack-events.js:57) 1) testFunction (async-callstack-events.js:22) [setTimeout] 0) scheduleTestFunction <... skipped remaining frames ...> Call stack: 0) onHashChange2 (async-callstack-events.js:69) [hashchange] 0) doTestHashChange (async-callstack-events.js:57) 1) testFunction (async-callstack-events.js:22) [setTimeout] 0) scheduleTestFunction <... skipped remaining frames ...> Call stack: 0) onSelectionChange (async-callstack-events.js:50) [selectionchange] 0) setSelection (async-callstack-events.js:35) 1) doTestSelectionChange (async-callstack-events.js:42) 2) testFunction (async-callstack-events.js:22) [setTimeout] 0) scheduleTestFunction <... skipped remaining frames ...> Call stack: 0) onVideoPlay (async-callstack-events.js:82) [play] 0) doTestMediaEvents (async-callstack-events.js:76) 1) testFunction (async-callstack-events.js:22) [setTimeout] 0) scheduleTestFunction <... skipped remaining frames ...>