| Index: fpdfsdk/javascript/JS_Object.cpp
|
| diff --git a/fpdfsdk/javascript/JS_Object.cpp b/fpdfsdk/javascript/JS_Object.cpp
|
| index b65699a18bffd43c8ff59b5af42e6fc64f1a131e..e72d0f3872b769a372b70fa8ab7041d694ce4be8 100644
|
| --- a/fpdfsdk/javascript/JS_Object.cpp
|
| +++ b/fpdfsdk/javascript/JS_Object.cpp
|
| @@ -72,85 +72,3 @@ void CJS_Object::Alert(CJS_Context* pContext, const FX_WCHAR* swMsg) {
|
| if (pApp)
|
| pApp->JS_appAlert(swMsg, nullptr, 0, 3);
|
| }
|
| -
|
| -CJS_Timer::CJS_Timer(CJS_EmbedObj* pObj,
|
| - CPDFDoc_Environment* pApp,
|
| - CJS_Runtime* pRuntime,
|
| - int nType,
|
| - const CFX_WideString& script,
|
| - uint32_t dwElapse,
|
| - uint32_t dwTimeOut)
|
| - : m_nTimerID(0),
|
| - m_pEmbedObj(pObj),
|
| - m_bProcessing(false),
|
| - m_bValid(true),
|
| - m_nType(nType),
|
| - m_dwTimeOut(dwTimeOut),
|
| - m_swJScript(script),
|
| - m_pRuntime(pRuntime),
|
| - m_pApp(pApp) {
|
| - CFX_SystemHandler* pHandler = m_pApp->GetSysHandler();
|
| - m_nTimerID = pHandler->SetTimer(dwElapse, Trigger);
|
| - (*GetGlobalTimerMap())[m_nTimerID] = this;
|
| - m_pRuntime->AddObserver(this);
|
| -}
|
| -
|
| -CJS_Timer::~CJS_Timer() {
|
| - CJS_Runtime* pRuntime = GetRuntime();
|
| - if (pRuntime)
|
| - pRuntime->RemoveObserver(this);
|
| -
|
| - if (!m_nTimerID)
|
| - return;
|
| -
|
| - if (m_bValid)
|
| - m_pApp->GetSysHandler()->KillTimer(m_nTimerID);
|
| -
|
| - GetGlobalTimerMap()->erase(m_nTimerID);
|
| -}
|
| -
|
| -// static
|
| -void CJS_Timer::Trigger(int nTimerID) {
|
| - auto it = GetGlobalTimerMap()->find(nTimerID);
|
| - if (it == GetGlobalTimerMap()->end())
|
| - return;
|
| -
|
| - CJS_Timer* pTimer = it->second;
|
| - if (pTimer->m_bProcessing)
|
| - return;
|
| -
|
| - pTimer->m_bProcessing = true;
|
| - if (pTimer->m_pEmbedObj)
|
| - pTimer->m_pEmbedObj->TimerProc(pTimer);
|
| -
|
| - // Timer proc may have destroyed timer, find it again.
|
| - it = GetGlobalTimerMap()->find(nTimerID);
|
| - if (it == GetGlobalTimerMap()->end())
|
| - return;
|
| -
|
| - pTimer = it->second;
|
| - pTimer->m_bProcessing = false;
|
| - if (pTimer->IsOneShot())
|
| - pTimer->m_pEmbedObj->CancelProc(pTimer);
|
| -}
|
| -
|
| -// static
|
| -void CJS_Timer::Cancel(int nTimerID) {
|
| - auto it = GetGlobalTimerMap()->find(nTimerID);
|
| - if (it == GetGlobalTimerMap()->end())
|
| - return;
|
| -
|
| - CJS_Timer* pTimer = it->second;
|
| - pTimer->m_pEmbedObj->CancelProc(pTimer);
|
| -}
|
| -
|
| -// static
|
| -CJS_Timer::TimerMap* CJS_Timer::GetGlobalTimerMap() {
|
| - // Leak the timer array at shutdown.
|
| - static auto* s_TimerMap = new TimerMap;
|
| - return s_TimerMap;
|
| -}
|
| -
|
| -void CJS_Timer::OnDestroyed() {
|
| - m_bValid = false;
|
| -}
|
|
|