Bug 920425 part.11 Use mozilla::WidgetEvent::AsAnimationEvent() r=smaug

This commit is contained in:
Masayuki Nakano 2013-10-18 15:10:22 +09:00
parent 7c03e8baa9
commit d4d94ab0d7
4 changed files with 16 additions and 20 deletions

View File

@ -46,9 +46,10 @@ nsDOMAnimationEvent::Constructor(const mozilla::dom::GlobalObject& aGlobal,
aRv = e->InitEvent(aType, aParam.mBubbles, aParam.mCancelable);
e->AnimationEvent()->animationName = aParam.mAnimationName;
e->AnimationEvent()->elapsedTime = aParam.mElapsedTime;
e->AnimationEvent()->pseudoElement = aParam.mPseudoElement;
InternalAnimationEvent* internalEvent = e->mEvent->AsAnimationEvent();
internalEvent->animationName = aParam.mAnimationName;
internalEvent->elapsedTime = aParam.mElapsedTime;
internalEvent->pseudoElement = aParam.mPseudoElement;
e->SetTrusted(trusted);
return e.forget();
@ -57,7 +58,7 @@ nsDOMAnimationEvent::Constructor(const mozilla::dom::GlobalObject& aGlobal,
NS_IMETHODIMP
nsDOMAnimationEvent::GetAnimationName(nsAString & aAnimationName)
{
aAnimationName = AnimationEvent()->animationName;
aAnimationName = mEvent->AsAnimationEvent()->animationName;
return NS_OK;
}
@ -68,10 +69,16 @@ nsDOMAnimationEvent::GetElapsedTime(float *aElapsedTime)
return NS_OK;
}
float
nsDOMAnimationEvent::ElapsedTime()
{
return mEvent->AsAnimationEvent()->elapsedTime;
}
NS_IMETHODIMP
nsDOMAnimationEvent::GetPseudoElement(nsAString& aPseudoElement)
{
aPseudoElement = AnimationEvent()->pseudoElement;
aPseudoElement = mEvent->AsAnimationEvent()->pseudoElement;
return NS_OK;
}

View File

@ -7,7 +7,7 @@
#include "nsDOMEvent.h"
#include "nsIDOMAnimationEvent.h"
#include "mozilla/ContentEvents.h"
#include "mozilla/EventForwards.h"
#include "mozilla/dom/AnimationEventBinding.h"
class nsAString;
@ -40,17 +40,7 @@ public:
// GetAnimationName(nsAString& aAnimationName);
// GetPseudoElement(nsAString& aPseudoElement);
float ElapsedTime()
{
return AnimationEvent()->elapsedTime;
}
private:
mozilla::InternalAnimationEvent* AnimationEvent() {
NS_ABORT_IF_FALSE(mEvent->eventStructType == NS_ANIMATION_EVENT,
"unexpected struct type");
return static_cast<mozilla::InternalAnimationEvent*>(mEvent);
}
float ElapsedTime();
};
#endif /* !defined(nsDOMAnimationEvent_h_) */

View File

@ -724,8 +724,7 @@ nsDOMEvent::DuplicatePrivateData()
}
case NS_ANIMATION_EVENT:
{
InternalAnimationEvent* oldAnimationEvent =
static_cast<InternalAnimationEvent*>(mEvent);
InternalAnimationEvent* oldAnimationEvent = mEvent->AsAnimationEvent();
InternalAnimationEvent* animationEvent =
new InternalAnimationEvent(false, msg,
oldAnimationEvent->animationName,

View File

@ -749,7 +749,7 @@ nsEventDispatcher::CreateEvent(mozilla::dom::EventTarget* aOwner,
aEvent->AsTransitionEvent());
case NS_ANIMATION_EVENT:
return NS_NewDOMAnimationEvent(aDOMEvent, aOwner, aPresContext,
static_cast<InternalAnimationEvent*>(aEvent));
aEvent->AsAnimationEvent());
default:
// For all other types of events, create a vanilla event object.
return NS_NewDOMEvent(aDOMEvent, aOwner, aPresContext, aEvent);