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 | |
| 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')
| -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 {  | 
