From 848a13b6777cbff8cc4aea3ab3d69eaa0b82ae6c Mon Sep 17 00:00:00 2001 From: Tom Sepez Date: Fri, 9 Oct 2015 13:14:47 -0700 Subject: Pass IJS_Runtime, not IJS_Context, to native object constructors. This better separates the two IJS_ classes, with the IJS_Context taking on its proper role of describing an event. There's no need for the event details for object creation, so this gets much cleaner. Move some JS error reporting code from CJS_Context to CJS_Runtime. Make InitInstance() and ExitInstance() voids, they always return TRUE and we never check the result anyways. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1389163007 . --- fpdfsdk/src/javascript/app.cpp | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) (limited to 'fpdfsdk/src/javascript/app.cpp') diff --git a/fpdfsdk/src/javascript/app.cpp b/fpdfsdk/src/javascript/app.cpp index 93a627c97a..3db1e5b956 100644 --- a/fpdfsdk/src/javascript/app.cpp +++ b/fpdfsdk/src/javascript/app.cpp @@ -123,7 +123,7 @@ FX_BOOL app::activeDocs(IJS_Context* cc, (CJS_Document*)FXJS_GetPrivate(pRuntime->GetIsolate(), pObj); } else { v8::Local pObj = FXJS_NewFxDynamicObj( - pRuntime->GetIsolate(), pContext, CJS_Document::g_nObjDefnID); + pRuntime->GetIsolate(), pRuntime, CJS_Document::g_nObjDefnID); pJSDocument = (CJS_Document*)FXJS_GetPrivate(pRuntime->GetIsolate(), pObj); ASSERT(pJSDocument != NULL); @@ -402,7 +402,7 @@ FX_BOOL app::setInterval(IJS_Context* cc, m_aTimer.Add(pTimer); v8::Local pRetObj = FXJS_NewFxDynamicObj( - pRuntime->GetIsolate(), pContext, CJS_TimerObj::g_nObjDefnID); + pRuntime->GetIsolate(), pRuntime, CJS_TimerObj::g_nObjDefnID); CJS_TimerObj* pJS_TimerObj = (CJS_TimerObj*)FXJS_GetPrivate(pRuntime->GetIsolate(), pRetObj); TimerObj* pTimerObj = (TimerObj*)pJS_TimerObj->GetEmbedObject(); @@ -443,7 +443,7 @@ FX_BOOL app::setTimeOut(IJS_Context* cc, m_aTimer.Add(pTimer); v8::Local pRetObj = FXJS_NewFxDynamicObj( - pRuntime->GetIsolate(), pContext, CJS_TimerObj::g_nObjDefnID); + pRuntime->GetIsolate(), pRuntime, CJS_TimerObj::g_nObjDefnID); CJS_TimerObj* pJS_TimerObj = (CJS_TimerObj*)FXJS_GetPrivate(pRuntime->GetIsolate(), pRetObj); TimerObj* pTimerObj = (TimerObj*)pJS_TimerObj->GetEmbedObject(); @@ -553,14 +553,11 @@ void app::TimerProc(CJS_Timer* pTimer) { } void app::RunJsScript(CJS_Runtime* pRuntime, const CFX_WideString& wsScript) { - ASSERT(pRuntime != NULL); - if (!pRuntime->IsBlocking()) { IJS_Context* pContext = pRuntime->NewContext(); - ASSERT(pContext != NULL); pContext->OnExternal_Exec(); CFX_WideString wtInfo; - pContext->RunScript(wsScript, wtInfo); + pContext->RunScript(wsScript, &wtInfo); pRuntime->ReleaseContext(pContext); } } -- cgit v1.2.3