Bug 920425 part.3 We don't need to use static_cast at releasing event class instance since WidgetEvent has virtual destructor now r=smaug

This commit is contained in:
Masayuki Nakano 2013-10-18 15:10:21 +09:00
Родитель 113d2cb05c
Коммит 513b2976fe
31 изменённых файлов: 5 добавлений и 169 удалений

Просмотреть файл

@ -29,16 +29,6 @@ DOMWheelEvent::DOMWheelEvent(EventTarget* aOwner,
} }
} }
DOMWheelEvent::~DOMWheelEvent()
{
if (mEventIsInternal && mEvent) {
MOZ_ASSERT(mEvent->eventStructType == NS_WHEEL_EVENT,
"The mEvent must be WidgetWheelEvent");
delete static_cast<WidgetWheelEvent*>(mEvent);
mEvent = nullptr;
}
}
NS_IMPL_ADDREF_INHERITED(DOMWheelEvent, nsDOMMouseEvent) NS_IMPL_ADDREF_INHERITED(DOMWheelEvent, nsDOMMouseEvent)
NS_IMPL_RELEASE_INHERITED(DOMWheelEvent, nsDOMMouseEvent) NS_IMPL_RELEASE_INHERITED(DOMWheelEvent, nsDOMMouseEvent)

Просмотреть файл

@ -22,7 +22,6 @@ public:
DOMWheelEvent(mozilla::dom::EventTarget* aOwner, DOMWheelEvent(mozilla::dom::EventTarget* aOwner,
nsPresContext* aPresContext, nsPresContext* aPresContext,
WidgetWheelEvent* aWheelEvent); WidgetWheelEvent* aWheelEvent);
virtual ~DOMWheelEvent();
NS_DECL_ISUPPORTS_INHERITED NS_DECL_ISUPPORTS_INHERITED

Просмотреть файл

@ -26,14 +26,6 @@ nsDOMAnimationEvent::nsDOMAnimationEvent(mozilla::dom::EventTarget* aOwner,
} }
} }
nsDOMAnimationEvent::~nsDOMAnimationEvent()
{
if (mEventIsInternal) {
delete AnimationEvent();
mEvent = nullptr;
}
}
NS_INTERFACE_MAP_BEGIN(nsDOMAnimationEvent) NS_INTERFACE_MAP_BEGIN(nsDOMAnimationEvent)
NS_INTERFACE_MAP_ENTRY(nsIDOMAnimationEvent) NS_INTERFACE_MAP_ENTRY(nsIDOMAnimationEvent)
NS_INTERFACE_MAP_END_INHERITING(nsDOMEvent) NS_INTERFACE_MAP_END_INHERITING(nsDOMEvent)

Просмотреть файл

@ -19,7 +19,6 @@ public:
nsDOMAnimationEvent(mozilla::dom::EventTarget* aOwner, nsDOMAnimationEvent(mozilla::dom::EventTarget* aOwner,
nsPresContext *aPresContext, nsPresContext *aPresContext,
mozilla::InternalAnimationEvent* aEvent); mozilla::InternalAnimationEvent* aEvent);
~nsDOMAnimationEvent();
NS_DECL_ISUPPORTS_INHERITED NS_DECL_ISUPPORTS_INHERITED
NS_FORWARD_TO_NSDOMEVENT NS_FORWARD_TO_NSDOMEVENT

Просмотреть файл

@ -24,14 +24,6 @@ nsDOMClipboardEvent::nsDOMClipboardEvent(mozilla::dom::EventTarget* aOwner,
} }
} }
nsDOMClipboardEvent::~nsDOMClipboardEvent()
{
if (mEventIsInternal && mEvent->eventStructType == NS_CLIPBOARD_EVENT) {
delete static_cast<InternalClipboardEvent*>(mEvent);
mEvent = nullptr;
}
}
NS_INTERFACE_MAP_BEGIN(nsDOMClipboardEvent) NS_INTERFACE_MAP_BEGIN(nsDOMClipboardEvent)
NS_INTERFACE_MAP_ENTRY(nsIDOMClipboardEvent) NS_INTERFACE_MAP_ENTRY(nsIDOMClipboardEvent)
NS_INTERFACE_MAP_END_INHERITING(nsDOMEvent) NS_INTERFACE_MAP_END_INHERITING(nsDOMEvent)

Просмотреть файл

@ -18,7 +18,6 @@ public:
nsDOMClipboardEvent(mozilla::dom::EventTarget* aOwner, nsDOMClipboardEvent(mozilla::dom::EventTarget* aOwner,
nsPresContext* aPresContext, nsPresContext* aPresContext,
mozilla::InternalClipboardEvent* aEvent); mozilla::InternalClipboardEvent* aEvent);
virtual ~nsDOMClipboardEvent();
NS_DECL_ISUPPORTS_INHERITED NS_DECL_ISUPPORTS_INHERITED

Просмотреть файл

@ -23,14 +23,6 @@ nsDOMCommandEvent::nsDOMCommandEvent(mozilla::dom::EventTarget* aOwner,
} }
} }
nsDOMCommandEvent::~nsDOMCommandEvent()
{
if (mEventIsInternal && mEvent->eventStructType == NS_COMMAND_EVENT) {
delete static_cast<WidgetCommandEvent*>(mEvent);
mEvent = nullptr;
}
}
NS_INTERFACE_MAP_BEGIN(nsDOMCommandEvent) NS_INTERFACE_MAP_BEGIN(nsDOMCommandEvent)
NS_INTERFACE_MAP_ENTRY(nsIDOMCommandEvent) NS_INTERFACE_MAP_ENTRY(nsIDOMCommandEvent)
NS_INTERFACE_MAP_END_INHERITING(nsDOMEvent) NS_INTERFACE_MAP_END_INHERITING(nsDOMEvent)

Просмотреть файл

@ -18,7 +18,6 @@ public:
nsDOMCommandEvent(mozilla::dom::EventTarget* aOwner, nsDOMCommandEvent(mozilla::dom::EventTarget* aOwner,
nsPresContext* aPresContext, nsPresContext* aPresContext,
mozilla::WidgetCommandEvent* aEvent); mozilla::WidgetCommandEvent* aEvent);
virtual ~nsDOMCommandEvent();
NS_DECL_ISUPPORTS_INHERITED NS_DECL_ISUPPORTS_INHERITED

Просмотреть файл

@ -35,14 +35,6 @@ nsDOMCompositionEvent::nsDOMCompositionEvent(mozilla::dom::EventTarget* aOwner,
// TODO: Native event should have locale information. // TODO: Native event should have locale information.
} }
nsDOMCompositionEvent::~nsDOMCompositionEvent()
{
if (mEventIsInternal) {
delete static_cast<WidgetCompositionEvent*>(mEvent);
mEvent = nullptr;
}
}
NS_IMPL_ADDREF_INHERITED(nsDOMCompositionEvent, nsDOMUIEvent) NS_IMPL_ADDREF_INHERITED(nsDOMCompositionEvent, nsDOMUIEvent)
NS_IMPL_RELEASE_INHERITED(nsDOMCompositionEvent, nsDOMUIEvent) NS_IMPL_RELEASE_INHERITED(nsDOMCompositionEvent, nsDOMUIEvent)

Просмотреть файл

@ -19,7 +19,6 @@ public:
nsDOMCompositionEvent(mozilla::dom::EventTarget* aOwner, nsDOMCompositionEvent(mozilla::dom::EventTarget* aOwner,
nsPresContext* aPresContext, nsPresContext* aPresContext,
mozilla::WidgetCompositionEvent* aEvent); mozilla::WidgetCompositionEvent* aEvent);
virtual ~nsDOMCompositionEvent();
NS_DECL_ISUPPORTS_INHERITED NS_DECL_ISUPPORTS_INHERITED
NS_FORWARD_TO_NSDOMUIEVENT NS_FORWARD_TO_NSDOMUIEVENT

Просмотреть файл

@ -29,15 +29,6 @@ nsDOMDragEvent::nsDOMDragEvent(mozilla::dom::EventTarget* aOwner,
} }
} }
nsDOMDragEvent::~nsDOMDragEvent()
{
if (mEventIsInternal) {
if (mEvent->eventStructType == NS_DRAG_EVENT)
delete static_cast<WidgetDragEvent*>(mEvent);
mEvent = nullptr;
}
}
NS_IMPL_ADDREF_INHERITED(nsDOMDragEvent, nsDOMMouseEvent) NS_IMPL_ADDREF_INHERITED(nsDOMDragEvent, nsDOMMouseEvent)
NS_IMPL_RELEASE_INHERITED(nsDOMDragEvent, nsDOMMouseEvent) NS_IMPL_RELEASE_INHERITED(nsDOMDragEvent, nsDOMMouseEvent)

Просмотреть файл

@ -18,7 +18,6 @@ public:
nsDOMDragEvent(mozilla::dom::EventTarget* aOwner, nsDOMDragEvent(mozilla::dom::EventTarget* aOwner,
nsPresContext* aPresContext, nsPresContext* aPresContext,
mozilla::WidgetInputEvent* aEvent); mozilla::WidgetInputEvent* aEvent);
virtual ~nsDOMDragEvent();
NS_DECL_ISUPPORTS_INHERITED NS_DECL_ISUPPORTS_INHERITED

Просмотреть файл

@ -27,14 +27,6 @@ nsDOMFocusEvent::nsDOMFocusEvent(mozilla::dom::EventTarget* aOwner,
} }
} }
nsDOMFocusEvent::~nsDOMFocusEvent()
{
if (mEventIsInternal && mEvent) {
delete static_cast<InternalFocusEvent*>(mEvent);
mEvent = nullptr;
}
}
/* readonly attribute nsIDOMEventTarget relatedTarget; */ /* readonly attribute nsIDOMEventTarget relatedTarget; */
NS_IMETHODIMP NS_IMETHODIMP
nsDOMFocusEvent::GetRelatedTarget(nsIDOMEventTarget** aRelatedTarget) nsDOMFocusEvent::GetRelatedTarget(nsIDOMEventTarget** aRelatedTarget)

Просмотреть файл

@ -43,7 +43,6 @@ protected:
nsIDOMWindow* aView, nsIDOMWindow* aView,
int32_t aDetail, int32_t aDetail,
mozilla::dom::EventTarget* aRelatedTarget); mozilla::dom::EventTarget* aRelatedTarget);
~nsDOMFocusEvent();
}; };
#endif /* !defined(nsDOMFocusEvent_h_) */ #endif /* !defined(nsDOMFocusEvent_h_) */

Просмотреть файл

@ -26,14 +26,6 @@ nsDOMKeyboardEvent::nsDOMKeyboardEvent(mozilla::dom::EventTarget* aOwner,
} }
} }
nsDOMKeyboardEvent::~nsDOMKeyboardEvent()
{
if (mEventIsInternal) {
delete static_cast<WidgetKeyboardEvent*>(mEvent);
mEvent = nullptr;
}
}
NS_IMPL_ADDREF_INHERITED(nsDOMKeyboardEvent, nsDOMUIEvent) NS_IMPL_ADDREF_INHERITED(nsDOMKeyboardEvent, nsDOMUIEvent)
NS_IMPL_RELEASE_INHERITED(nsDOMKeyboardEvent, nsDOMUIEvent) NS_IMPL_RELEASE_INHERITED(nsDOMKeyboardEvent, nsDOMUIEvent)

Просмотреть файл

@ -19,7 +19,6 @@ public:
nsDOMKeyboardEvent(mozilla::dom::EventTarget* aOwner, nsDOMKeyboardEvent(mozilla::dom::EventTarget* aOwner,
nsPresContext* aPresContext, nsPresContext* aPresContext,
mozilla::WidgetKeyboardEvent* aEvent); mozilla::WidgetKeyboardEvent* aEvent);
virtual ~nsDOMKeyboardEvent();
NS_DECL_ISUPPORTS_INHERITED NS_DECL_ISUPPORTS_INHERITED

Просмотреть файл

@ -46,22 +46,6 @@ nsDOMMouseEvent::nsDOMMouseEvent(mozilla::dom::EventTarget* aOwner,
} }
} }
nsDOMMouseEvent::~nsDOMMouseEvent()
{
if (mEventIsInternal && mEvent) {
switch (mEvent->eventStructType)
{
case NS_MOUSE_EVENT:
delete static_cast<WidgetMouseEvent*>(mEvent);
break;
default:
delete mEvent;
break;
}
mEvent = nullptr;
}
}
NS_IMPL_ADDREF_INHERITED(nsDOMMouseEvent, nsDOMUIEvent) NS_IMPL_ADDREF_INHERITED(nsDOMMouseEvent, nsDOMUIEvent)
NS_IMPL_RELEASE_INHERITED(nsDOMMouseEvent, nsDOMUIEvent) NS_IMPL_RELEASE_INHERITED(nsDOMMouseEvent, nsDOMUIEvent)

Просмотреть файл

@ -18,7 +18,6 @@ public:
nsDOMMouseEvent(mozilla::dom::EventTarget* aOwner, nsDOMMouseEvent(mozilla::dom::EventTarget* aOwner,
nsPresContext* aPresContext, nsPresContext* aPresContext,
mozilla::WidgetInputEvent* aEvent); mozilla::WidgetInputEvent* aEvent);
virtual ~nsDOMMouseEvent();
NS_DECL_ISUPPORTS_INHERITED NS_DECL_ISUPPORTS_INHERITED

Просмотреть файл

@ -31,22 +31,6 @@ nsDOMMouseScrollEvent::nsDOMMouseScrollEvent(mozilla::dom::EventTarget* aOwner,
} }
} }
nsDOMMouseScrollEvent::~nsDOMMouseScrollEvent()
{
if (mEventIsInternal && mEvent) {
switch (mEvent->eventStructType)
{
case NS_MOUSE_SCROLL_EVENT:
delete static_cast<WidgetMouseScrollEvent*>(mEvent);
break;
default:
delete mEvent;
break;
}
mEvent = nullptr;
}
}
NS_IMPL_ADDREF_INHERITED(nsDOMMouseScrollEvent, nsDOMMouseEvent) NS_IMPL_ADDREF_INHERITED(nsDOMMouseScrollEvent, nsDOMMouseEvent)
NS_IMPL_RELEASE_INHERITED(nsDOMMouseScrollEvent, nsDOMMouseEvent) NS_IMPL_RELEASE_INHERITED(nsDOMMouseScrollEvent, nsDOMMouseEvent)

Просмотреть файл

@ -17,7 +17,6 @@ public:
nsDOMMouseScrollEvent(mozilla::dom::EventTarget* aOwner, nsDOMMouseScrollEvent(mozilla::dom::EventTarget* aOwner,
nsPresContext* aPresContext, nsPresContext* aPresContext,
mozilla::WidgetInputEvent* aEvent); mozilla::WidgetInputEvent* aEvent);
virtual ~nsDOMMouseScrollEvent();
NS_DECL_ISUPPORTS_INHERITED NS_DECL_ISUPPORTS_INHERITED

Просмотреть файл

@ -20,16 +20,6 @@ nsDOMMutationEvent::nsDOMMutationEvent(mozilla::dom::EventTarget* aOwner,
mEventIsInternal = (aEvent == nullptr); mEventIsInternal = (aEvent == nullptr);
} }
nsDOMMutationEvent::~nsDOMMutationEvent()
{
if (mEventIsInternal) {
InternalMutationEvent* mutation =
static_cast<InternalMutationEvent*>(mEvent);
delete mutation;
mEvent = nullptr;
}
}
NS_INTERFACE_MAP_BEGIN(nsDOMMutationEvent) NS_INTERFACE_MAP_BEGIN(nsDOMMutationEvent)
NS_INTERFACE_MAP_ENTRY(nsIDOMMutationEvent) NS_INTERFACE_MAP_ENTRY(nsIDOMMutationEvent)
NS_INTERFACE_MAP_END_INHERITING(nsDOMEvent) NS_INTERFACE_MAP_END_INHERITING(nsDOMEvent)

Просмотреть файл

@ -20,8 +20,6 @@ public:
nsPresContext* aPresContext, nsPresContext* aPresContext,
mozilla::InternalMutationEvent* aEvent); mozilla::InternalMutationEvent* aEvent);
virtual ~nsDOMMutationEvent();
NS_DECL_ISUPPORTS_INHERITED NS_DECL_ISUPPORTS_INHERITED
NS_DECL_NSIDOMMUTATIONEVENT NS_DECL_NSIDOMMUTATIONEVENT

Просмотреть файл

@ -21,16 +21,6 @@ nsDOMScrollAreaEvent::nsDOMScrollAreaEvent(mozilla::dom::EventTarget* aOwner,
mClientArea.SetLayoutRect(aEvent ? aEvent->mArea : nsRect()); mClientArea.SetLayoutRect(aEvent ? aEvent->mArea : nsRect());
} }
nsDOMScrollAreaEvent::~nsDOMScrollAreaEvent()
{
if (mEventIsInternal && mEvent) {
if (mEvent->eventStructType == NS_SCROLLAREA_EVENT) {
delete static_cast<InternalScrollAreaEvent*>(mEvent);
mEvent = nullptr;
}
}
}
NS_IMPL_ADDREF_INHERITED(nsDOMScrollAreaEvent, nsDOMUIEvent) NS_IMPL_ADDREF_INHERITED(nsDOMScrollAreaEvent, nsDOMUIEvent)
NS_IMPL_RELEASE_INHERITED(nsDOMScrollAreaEvent, nsDOMUIEvent) NS_IMPL_RELEASE_INHERITED(nsDOMScrollAreaEvent, nsDOMUIEvent)

Просмотреть файл

@ -23,7 +23,6 @@ public:
nsDOMScrollAreaEvent(mozilla::dom::EventTarget* aOwner, nsDOMScrollAreaEvent(mozilla::dom::EventTarget* aOwner,
nsPresContext *aPresContext, nsPresContext *aPresContext,
mozilla::InternalScrollAreaEvent* aEvent); mozilla::InternalScrollAreaEvent* aEvent);
virtual ~nsDOMScrollAreaEvent();
NS_DECL_ISUPPORTS_INHERITED NS_DECL_ISUPPORTS_INHERITED

Просмотреть файл

@ -30,14 +30,6 @@ nsDOMSimpleGestureEvent::nsDOMSimpleGestureEvent(mozilla::dom::EventTarget* aOwn
} }
} }
nsDOMSimpleGestureEvent::~nsDOMSimpleGestureEvent()
{
if (mEventIsInternal) {
delete static_cast<WidgetSimpleGestureEvent*>(mEvent);
mEvent = nullptr;
}
}
NS_IMPL_ADDREF_INHERITED(nsDOMSimpleGestureEvent, nsDOMUIEvent) NS_IMPL_ADDREF_INHERITED(nsDOMSimpleGestureEvent, nsDOMUIEvent)
NS_IMPL_RELEASE_INHERITED(nsDOMSimpleGestureEvent, nsDOMUIEvent) NS_IMPL_RELEASE_INHERITED(nsDOMSimpleGestureEvent, nsDOMUIEvent)

Просмотреть файл

@ -18,7 +18,6 @@ class nsDOMSimpleGestureEvent : public nsDOMMouseEvent,
public: public:
nsDOMSimpleGestureEvent(mozilla::dom::EventTarget* aOwner, nsDOMSimpleGestureEvent(mozilla::dom::EventTarget* aOwner,
nsPresContext*, mozilla::WidgetSimpleGestureEvent*); nsPresContext*, mozilla::WidgetSimpleGestureEvent*);
virtual ~nsDOMSimpleGestureEvent();
NS_DECL_ISUPPORTS_INHERITED NS_DECL_ISUPPORTS_INHERITED

Просмотреть файл

@ -71,14 +71,6 @@ nsDOMTouchEvent::nsDOMTouchEvent(mozilla::dom::EventTarget* aOwner,
} }
} }
nsDOMTouchEvent::~nsDOMTouchEvent()
{
if (mEventIsInternal && mEvent) {
delete static_cast<WidgetTouchEvent*>(mEvent);
mEvent = nullptr;
}
}
NS_IMPL_CYCLE_COLLECTION_INHERITED_3(nsDOMTouchEvent, nsDOMUIEvent, NS_IMPL_CYCLE_COLLECTION_INHERITED_3(nsDOMTouchEvent, nsDOMUIEvent,
mTouches, mTouches,
mTargetTouches, mTargetTouches,

Просмотреть файл

@ -84,7 +84,6 @@ public:
nsDOMTouchEvent(mozilla::dom::EventTarget* aOwner, nsDOMTouchEvent(mozilla::dom::EventTarget* aOwner,
nsPresContext* aPresContext, nsPresContext* aPresContext,
mozilla::WidgetTouchEvent* aEvent); mozilla::WidgetTouchEvent* aEvent);
virtual ~nsDOMTouchEvent();
NS_DECL_ISUPPORTS_INHERITED NS_DECL_ISUPPORTS_INHERITED
NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(nsDOMTouchEvent, nsDOMUIEvent) NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(nsDOMTouchEvent, nsDOMUIEvent)

Просмотреть файл

@ -26,14 +26,6 @@ nsDOMTransitionEvent::nsDOMTransitionEvent(mozilla::dom::EventTarget* aOwner,
} }
} }
nsDOMTransitionEvent::~nsDOMTransitionEvent()
{
if (mEventIsInternal) {
delete TransitionEvent();
mEvent = nullptr;
}
}
NS_INTERFACE_MAP_BEGIN(nsDOMTransitionEvent) NS_INTERFACE_MAP_BEGIN(nsDOMTransitionEvent)
NS_INTERFACE_MAP_ENTRY(nsIDOMTransitionEvent) NS_INTERFACE_MAP_ENTRY(nsIDOMTransitionEvent)
NS_INTERFACE_MAP_END_INHERITING(nsDOMEvent) NS_INTERFACE_MAP_END_INHERITING(nsDOMEvent)

Просмотреть файл

@ -19,7 +19,6 @@ public:
nsDOMTransitionEvent(mozilla::dom::EventTarget* aOwner, nsDOMTransitionEvent(mozilla::dom::EventTarget* aOwner,
nsPresContext *aPresContext, nsPresContext *aPresContext,
mozilla::InternalTransitionEvent* aEvent); mozilla::InternalTransitionEvent* aEvent);
~nsDOMTransitionEvent();
NS_DECL_ISUPPORTS_INHERITED NS_DECL_ISUPPORTS_INHERITED
NS_FORWARD_TO_NSDOMEVENT NS_FORWARD_TO_NSDOMEVENT

Просмотреть файл

@ -570,6 +570,11 @@ protected:
nsDelayedInputEvent() nsDelayedInputEvent()
: nsDelayedEvent(), mEvent(nullptr) {} : nsDelayedEvent(), mEvent(nullptr) {}
virtual ~nsDelayedInputEvent()
{
delete mEvent;
}
mozilla::WidgetInputEvent* mEvent; mozilla::WidgetInputEvent* mEvent;
}; };
@ -587,11 +592,6 @@ protected:
static_cast<mozilla::WidgetMouseEvent*>(mEvent)-> static_cast<mozilla::WidgetMouseEvent*>(mEvent)->
AssignMouseEventData(*aEvent, false); AssignMouseEventData(*aEvent, false);
} }
virtual ~nsDelayedMouseEvent()
{
delete static_cast<mozilla::WidgetMouseEvent*>(mEvent);
}
}; };
class nsDelayedKeyEvent : public nsDelayedInputEvent class nsDelayedKeyEvent : public nsDelayedInputEvent
@ -606,11 +606,6 @@ protected:
static_cast<mozilla::WidgetKeyboardEvent*>(mEvent)-> static_cast<mozilla::WidgetKeyboardEvent*>(mEvent)->
AssignKeyEventData(*aEvent, false); AssignKeyEventData(*aEvent, false);
} }
virtual ~nsDelayedKeyEvent()
{
delete static_cast<mozilla::WidgetKeyboardEvent*>(mEvent);
}
}; };
// Check if aEvent is a mouse event and record the mouse location for later // Check if aEvent is a mouse event and record the mouse location for later