From 4def730de706170995cfb9f62da6397b7cc18285 Mon Sep 17 00:00:00 2001 From: Pete Bacon Darwin Date: Sat, 7 Sep 2013 07:19:25 +0100 Subject: fix(browserTrigger): do not use document.createEvent method Firefox 23 has deprecated the use of createEvent for transition and animation events. We must now use `new TransitionEvent()` and `new AnimationEvent()` if they are available. But of course IE doesn't support this format correctly so we must wrap the attempt in a try block and revert to document.createEvent if necessary.. --- src/ngScenario/browserTrigger.js | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/ngScenario/browserTrigger.js b/src/ngScenario/browserTrigger.js index d1b69a1d..3da6d5ea 100644 --- a/src/ngScenario/browserTrigger.js +++ b/src/ngScenario/browserTrigger.js @@ -96,8 +96,13 @@ evnt.initEvent(eventType, false, true); } else { - evnt = document.createEvent('TransitionEvent'); - evnt.initTransitionEvent(eventType, null, null, null, eventData.elapsedTime); + try { + evnt = new TransitionEvent(eventType, eventData); + } + catch(e) { + evnt = document.createEvent('TransitionEvent'); + evnt.initTransitionEvent(eventType, null, null, null, eventData.elapsedTime); + } } } else if(/animationend/.test(eventType)) { @@ -106,8 +111,13 @@ evnt.initEvent(eventType, false, true); } else { - evnt = document.createEvent('AnimationEvent'); - evnt.initAnimationEvent(eventType, null, null, null, eventData.elapsedTime); + try { + evnt = new AnimationEvent(eventType, eventData); + } + catch(e) { + evnt = document.createEvent('AnimationEvent'); + evnt.initAnimationEvent(eventType, null, null, null, eventData.elapsedTime); + } } } else { -- cgit v1.2.3