| Index: fpdfsdk/src/javascript/app.cpp
|
| diff --git a/fpdfsdk/src/javascript/app.cpp b/fpdfsdk/src/javascript/app.cpp
|
| index 248e50ecd4a17de4315694331850d183f24103c1..1466dc16a61c81cb1e3a1224059510e946ea2256 100644
|
| --- a/fpdfsdk/src/javascript/app.cpp
|
| +++ b/fpdfsdk/src/javascript/app.cpp
|
| @@ -414,16 +414,10 @@ FX_BOOL app::setInterval(IFXJS_Context* cc,
|
|
|
| CPDFDoc_Environment* pApp = pRuntime->GetReaderApp();
|
| ASSERT(pApp);
|
| - CJS_Timer* pTimer = new CJS_Timer(this, pApp);
|
| + CJS_Timer* pTimer =
|
| + new CJS_Timer(this, pApp, pRuntime, 0, script, dwInterval, 0);
|
| m_aTimer.Add(pTimer);
|
|
|
| - pTimer->SetType(0);
|
| - pTimer->SetRuntime(pRuntime);
|
| - pTimer->SetJScript(script);
|
| - pTimer->SetTimeOut(0);
|
| - // pTimer->SetStartTime(GetTickCount());
|
| - pTimer->SetJSTimer(dwInterval);
|
| -
|
| v8::Local<v8::Object> pRetObj = FXJS_NewFxDynamicObj(
|
| pRuntime->GetIsolate(), pContext,
|
| FXJS_GetObjDefnID(pRuntime->GetIsolate(), L"TimerObj"));
|
| @@ -468,15 +462,10 @@ FX_BOOL app::setTimeOut(IFXJS_Context* cc,
|
| CPDFDoc_Environment* pApp = pRuntime->GetReaderApp();
|
| ASSERT(pApp);
|
|
|
| - CJS_Timer* pTimer = new CJS_Timer(this, pApp);
|
| + CJS_Timer* pTimer =
|
| + new CJS_Timer(this, pApp, pRuntime, 1, script, dwTimeOut, dwTimeOut);
|
| m_aTimer.Add(pTimer);
|
|
|
| - pTimer->SetType(1);
|
| - pTimer->SetRuntime(pRuntime);
|
| - pTimer->SetJScript(script);
|
| - pTimer->SetTimeOut(dwTimeOut);
|
| - pTimer->SetJSTimer(dwTimeOut);
|
| -
|
| v8::Local<v8::Object> pRetObj = FXJS_NewFxDynamicObj(
|
| pRuntime->GetIsolate(), pContext,
|
| FXJS_GetObjDefnID(pRuntime->GetIsolate(), L"TimerObj"));
|
| @@ -591,13 +580,17 @@ FX_BOOL app::execMenuItem(IFXJS_Context* cc,
|
| void app::TimerProc(CJS_Timer* pTimer) {
|
| ASSERT(pTimer != NULL);
|
|
|
| + CJS_Runtime* pRuntime = pTimer->GetRuntime();
|
| +
|
| switch (pTimer->GetType()) {
|
| case 0: // interval
|
| - RunJsScript(pTimer->GetRuntime(), pTimer->GetJScript());
|
| + if (pRuntime)
|
| + RunJsScript(pRuntime, pTimer->GetJScript());
|
| break;
|
| case 1:
|
| if (pTimer->GetTimeOut() > 0) {
|
| - RunJsScript(pTimer->GetRuntime(), pTimer->GetJScript());
|
| + if (pRuntime)
|
| + RunJsScript(pRuntime, pTimer->GetJScript());
|
| pTimer->KillJSTimer();
|
| }
|
| break;
|
|
|