aboutsummaryrefslogtreecommitdiffstats
path: root/src/ngScenario/browserTrigger.js
diff options
context:
space:
mode:
authorPete Bacon Darwin2013-09-07 07:19:25 +0100
committerPete Bacon Darwin2013-09-07 07:30:57 +0100
commit4def730de706170995cfb9f62da6397b7cc18285 (patch)
tree0cdb5a9be66cafeb026f0b60bfaf70e5c4460363 /src/ngScenario/browserTrigger.js
parentd50ed6bfb8c4982401923ff535fe932ef4f387a2 (diff)
downloadangular.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.js18
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 {