diff options
author | tsepez <tsepez@chromium.org> | 2016-05-31 14:22:09 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-05-31 14:22:09 -0700 |
commit | 29adee77d4a7566bc6832cc825198c0571426163 (patch) | |
tree | e8fd009fe853b4d8aad499d6e92cfff8f7dd6efa /xfa/fxjse/include | |
parent | fb96900eeea15b252245b0caf4330a5ade369172 (diff) | |
download | pdfium-29adee77d4a7566bc6832cc825198c0571426163.tar.xz |
Replace void* with CFXJSE_HostObect and make wrapped objects inherit from it
This will avoid a re-occurrence of BUG 613607 should someone
again optimize away CXFA_Object's virtual dtor.
Review-Url: https://codereview.chromium.org/2019333006
Diffstat (limited to 'xfa/fxjse/include')
-rw-r--r-- | xfa/fxjse/include/fxjse.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/xfa/fxjse/include/fxjse.h b/xfa/fxjse/include/fxjse.h index e432858603..4a85251c03 100644 --- a/xfa/fxjse/include/fxjse.h +++ b/xfa/fxjse/include/fxjse.h @@ -16,6 +16,8 @@ class CFXJSE_Class; class CFXJSE_Context; class CFXJSE_Value; +class CFXJSE_HostObject {}; // C++ object which can be wrapped by CFXJSE_value. + typedef void (*FXJSE_FuncCallback)(CFXJSE_Value* pThis, const CFX_ByteStringC& szFuncName, CFXJSE_Arguments& args); @@ -73,7 +75,7 @@ void FXJSE_Runtime_Release(v8::Isolate* pIsolate, bool bOwnedRuntime); CFXJSE_Context* FXJSE_Context_Create( v8::Isolate* pIsolate, const FXJSE_CLASS_DESCRIPTOR* lpGlobalClass, - void* lpGlobalObject); + CFXJSE_HostObject* lpGlobalObject); void FXJSE_Context_Release(CFXJSE_Context* pContext); CFXJSE_Value* FXJSE_Context_GetGlobalObject(CFXJSE_Context* pContext); @@ -98,7 +100,8 @@ double FXJSE_Value_ToDouble(CFXJSE_Value* pValue); int32_t FXJSE_Value_ToInteger(CFXJSE_Value* pValue); void FXJSE_Value_ToUTF8String(CFXJSE_Value* pValue, CFX_ByteString& szStrOutput); -void* FXJSE_Value_ToObject(CFXJSE_Value* pValue, CFXJSE_Class* pClass); +CFXJSE_HostObject* FXJSE_Value_ToObject(CFXJSE_Value* pValue, + CFXJSE_Class* pClass); void FXJSE_Value_SetUndefined(CFXJSE_Value* pValue); void FXJSE_Value_SetNull(CFXJSE_Value* pValue); @@ -109,7 +112,7 @@ void FXJSE_Value_SetInteger(CFXJSE_Value* pValue, int32_t nInteger); void FXJSE_Value_SetFloat(CFXJSE_Value* pValue, FX_FLOAT fFloat); void FXJSE_Value_SetDouble(CFXJSE_Value* pValue, double dDouble); void FXJSE_Value_SetObject(CFXJSE_Value* pValue, - void* lpObject, + CFXJSE_HostObject* lpObject, CFXJSE_Class* pClass); void FXJSE_Value_SetArray(CFXJSE_Value* pValue, uint32_t uValueCount, |