diff options
| author | Pete Bacon Darwin | 2013-09-07 07:19:25 +0100 |
|---|---|---|
| committer | Pete Bacon Darwin | 2013-09-07 07:30:57 +0100 |
| commit | 4def730de706170995cfb9f62da6397b7cc18285 (patch) | |
| tree | 0cdb5a9be66cafeb026f0b60bfaf70e5c4460363 /src/ngScenario/browserTrigger.js | |
| parent | d50ed6bfb8c4982401923ff535fe932ef4f387a2 (diff) | |
| download | angular.js-4def730de706170995cfb9f62da6397b7cc18285.tar.bz2 | |
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..
Diffstat (limited to 'src/ngScenario/browserTrigger.js')
| -rw-r--r-- | src/ngScenario/browserTrigger.js | 18 |
1 files changed, 14 insertions, 4 deletions
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 { |
