[EFL] Stop using smart pointers for Ecore_Timer
authorch.dumez@sisa.samsung.com <ch.dumez@sisa.samsung.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 11 Feb 2013 12:44:34 +0000 (12:44 +0000)
committerch.dumez@sisa.samsung.com <ch.dumez@sisa.samsung.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 11 Feb 2013 12:44:34 +0000 (12:44 +0000)
commit38789261299aae3760aef33b9aa7d48a23ff4717
treec2a975f11c742d51f5e5dfb981983dfe1e4fcf61
parent268d147c9b9a80ee1f7e3362056394a4fb6d4134
[EFL] Stop using smart pointers for Ecore_Timer
https://bugs.webkit.org/show_bug.cgi?id=109409

Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

Stop using a smart pointer for Ecore_Timer in RunLoop::TimerBase. This
is a bad idea because the timer handle becomes invalid as soon as the
timer callback returns ECORE_CALLBACK_CANCEL. This may lead to crashes
on destruction because OwnPtr calls ecore_timer_del() on an invalid
handle.

No new tests, already covered by exiting tests.

* platform/RunLoop.h:
(TimerBase):
* platform/efl/RunLoopEfl.cpp:
(WebCore::RunLoop::TimerBase::timerFired):
(WebCore::RunLoop::TimerBase::start):
(WebCore::RunLoop::TimerBase::stop):

Source/WTF:

Remove support in OwnPtr for EFL's Ecore_Timer. It is a bad idea to use
OwnPtr for Ecore_Timer because the timer handle may become invalid.

* wtf/OwnPtrCommon.h:
(WTF):
* wtf/efl/OwnPtrEfl.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@142454 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WTF/ChangeLog
Source/WTF/wtf/OwnPtrCommon.h
Source/WTF/wtf/efl/OwnPtrEfl.cpp
Source/WebCore/ChangeLog
Source/WebCore/platform/RunLoop.h
Source/WebCore/platform/efl/RunLoopEfl.cpp