Chromium Code Reviews| Index: xfa/fxjse/context.cpp |
| diff --git a/xfa/fxjse/context.cpp b/xfa/fxjse/context.cpp |
| index abb30c5dc525ea5b9a4e914828734f7d3490c13e..be93b56d1d8696f24e8bcf02ed3e53a0c37bfab4 100644 |
| --- a/xfa/fxjse/context.cpp |
| +++ b/xfa/fxjse/context.cpp |
| @@ -11,6 +11,14 @@ |
| #include "xfa/fxjse/util_inline.h" |
| #include "xfa/fxjse/value.h" |
| +namespace { |
| + |
| +CFXJSE_Context* CFXContextFromFXContext(FXJSE_HCONTEXT hContext) { |
|
Tom Sepez
2016/04/28 23:07:55
nit: can we call this CFXContextFromHContext(), to
Lei Zhang
2016/04/28 23:43:53
Done.
|
| + return reinterpret_cast<CFXJSE_Context*>(hContext); |
| +} |
| + |
| +} // namespace |
| + |
| FXJSE_HCONTEXT FXJSE_Context_Create(FXJSE_HRUNTIME hRuntime, |
| const FXJSE_CLASS* lpGlobalClass, |
| void* lpGlobalObject) { |
| @@ -20,17 +28,14 @@ FXJSE_HCONTEXT FXJSE_Context_Create(FXJSE_HRUNTIME hRuntime, |
| } |
| void FXJSE_Context_Release(FXJSE_HCONTEXT hContext) { |
| - CFXJSE_Context* pContext = reinterpret_cast<CFXJSE_Context*>(hContext); |
| - if (pContext) { |
| - delete pContext; |
| - } |
| + delete CFXContextFromFXContext(hContext); |
| } |
| FXJSE_HVALUE FXJSE_Context_GetGlobalObject(FXJSE_HCONTEXT hContext) { |
| - CFXJSE_Context* pContext = reinterpret_cast<CFXJSE_Context*>(hContext); |
| - if (!pContext) { |
| - return NULL; |
| - } |
| + CFXJSE_Context* pContext = CFXContextFromFXContext(hContext); |
| + if (!pContext) |
| + return nullptr; |
| + |
| CFXJSE_Value* lpValue = CFXJSE_Value::Create(pContext->GetRuntime()); |
| ASSERT(lpValue); |
| pContext->GetGlobalObject(lpValue); |
| @@ -76,8 +81,7 @@ FX_BOOL FXJSE_ExecuteScript(FXJSE_HCONTEXT hContext, |
| const FX_CHAR* szScript, |
| FXJSE_HVALUE hRetValue, |
| FXJSE_HVALUE hNewThisObject) { |
| - CFXJSE_Context* pContext = reinterpret_cast<CFXJSE_Context*>(hContext); |
| - ASSERT(pContext); |
| + CFXJSE_Context* pContext = CFXContextFromFXContext(hContext); |
| return pContext->ExecuteScript( |
| szScript, reinterpret_cast<CFXJSE_Value*>(hRetValue), |
| reinterpret_cast<CFXJSE_Value*>(hNewThisObject)); |
| @@ -152,12 +156,8 @@ CFXJSE_Context* CFXJSE_Context::Create(v8::Isolate* pIsolate, |
| } |
| CFXJSE_Context::~CFXJSE_Context() { |
| - for (int32_t i = 0, count = m_rgClasses.GetSize(); i < count; i++) { |
| - CFXJSE_Class* pClass = m_rgClasses[i]; |
| - if (pClass) { |
| - delete pClass; |
| - } |
| - } |
| + for (int32_t i = 0, count = m_rgClasses.GetSize(); i < count; i++) |
| + delete m_rgClasses[i]; |
| m_rgClasses.RemoveAll(); |
| } |