Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(21)

Side by Side Diff: xfa/fxjse/include/fxjse.h

Issue 2012253002: Remove FXJSE_HOBJECT and FXJSE_HVALUE for CFXJSE_Value* (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@fxjse_hclass
Patch Set: Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « xfa/fxjse/dynprop.cpp ('k') | xfa/fxjse/value.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 PDFium Authors. All rights reserved. 1 // Copyright 2014 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6 6
7 #ifndef XFA_FXJSE_INCLUDE_FXJSE_H_ 7 #ifndef XFA_FXJSE_INCLUDE_FXJSE_H_
8 #define XFA_FXJSE_INCLUDE_FXJSE_H_ 8 #define XFA_FXJSE_INCLUDE_FXJSE_H_
9 9
10 #include "core/fxcrt/include/fx_string.h" 10 #include "core/fxcrt/include/fx_string.h"
11 #include "core/fxcrt/include/fx_system.h" 11 #include "core/fxcrt/include/fx_system.h"
12 #include "v8/include/v8.h" 12 #include "v8/include/v8.h"
13 13
14 class CFXJSE_Arguments; 14 class CFXJSE_Arguments;
15 class CFXJSE_Class; 15 class CFXJSE_Class;
16 class CFXJSE_Context; 16 class CFXJSE_Context;
17 class CFXJSE_Value;
17 18
18 typedef struct FXJSE_HVALUE_ { void* pData; } * FXJSE_HVALUE; 19 typedef void (*FXJSE_FuncCallback)(CFXJSE_Value* pThis,
19 // NOLINTNEXTLINE
20 typedef struct FXJSE_HOBJECT_ : public FXJSE_HVALUE_{} * FXJSE_HOBJECT;
21
22 typedef void (*FXJSE_FuncCallback)(FXJSE_HOBJECT hThis,
23 const CFX_ByteStringC& szFuncName, 20 const CFX_ByteStringC& szFuncName,
24 CFXJSE_Arguments& args); 21 CFXJSE_Arguments& args);
25 typedef void (*FXJSE_PropAccessor)(FXJSE_HOBJECT hObject, 22 typedef void (*FXJSE_PropAccessor)(CFXJSE_Value* pObject,
26 const CFX_ByteStringC& szPropName, 23 const CFX_ByteStringC& szPropName,
27 FXJSE_HVALUE hValue); 24 CFXJSE_Value* pValue);
28 typedef int32_t (*FXJSE_PropTypeGetter)(FXJSE_HOBJECT hObject, 25 typedef int32_t (*FXJSE_PropTypeGetter)(CFXJSE_Value* pObject,
29 const CFX_ByteStringC& szPropName, 26 const CFX_ByteStringC& szPropName,
30 FX_BOOL bQueryIn); 27 FX_BOOL bQueryIn);
31 typedef FX_BOOL (*FXJSE_PropDeleter)(FXJSE_HOBJECT hObject, 28 typedef FX_BOOL (*FXJSE_PropDeleter)(CFXJSE_Value* pObject,
32 const CFX_ByteStringC& szPropName); 29 const CFX_ByteStringC& szPropName);
33 30
34 enum FXJSE_ClassPropTypes { 31 enum FXJSE_ClassPropTypes {
35 FXJSE_ClassPropType_None, 32 FXJSE_ClassPropType_None,
36 FXJSE_ClassPropType_Property, 33 FXJSE_ClassPropType_Property,
37 FXJSE_ClassPropType_Method 34 FXJSE_ClassPropType_Method
38 }; 35 };
39 36
40 enum FXJSE_CompatibleModeFlags { 37 enum FXJSE_CompatibleModeFlags {
41 FXJSE_COMPATIBLEMODEFLAG_CONSTRUCTOREXTRAMETHODS = (1 << 0), 38 FXJSE_COMPATIBLEMODEFLAG_CONSTRUCTOREXTRAMETHODS = (1 << 0),
(...skipping 28 matching lines...) Expand all
70 void FXJSE_Initialize(); 67 void FXJSE_Initialize();
71 void FXJSE_Finalize(); 68 void FXJSE_Finalize();
72 69
73 v8::Isolate* FXJSE_Runtime_Create(); 70 v8::Isolate* FXJSE_Runtime_Create();
74 void FXJSE_Runtime_Release(v8::Isolate* pIsolate, bool bOwnedRuntime); 71 void FXJSE_Runtime_Release(v8::Isolate* pIsolate, bool bOwnedRuntime);
75 72
76 CFXJSE_Context* FXJSE_Context_Create(v8::Isolate* pIsolate, 73 CFXJSE_Context* FXJSE_Context_Create(v8::Isolate* pIsolate,
77 const FXJSE_CLASS* lpGlobalClass = nullptr, 74 const FXJSE_CLASS* lpGlobalClass = nullptr,
78 void* lpGlobalObject = nullptr); 75 void* lpGlobalObject = nullptr);
79 void FXJSE_Context_Release(CFXJSE_Context* pContext); 76 void FXJSE_Context_Release(CFXJSE_Context* pContext);
80 FXJSE_HVALUE FXJSE_Context_GetGlobalObject(CFXJSE_Context* pContext); 77 CFXJSE_Value* FXJSE_Context_GetGlobalObject(CFXJSE_Context* pContext);
81 78
82 void FXJSE_Context_EnableCompatibleMode(CFXJSE_Context* pContext, 79 void FXJSE_Context_EnableCompatibleMode(CFXJSE_Context* pContext,
83 uint32_t dwCompatibleFlags); 80 uint32_t dwCompatibleFlags);
84 81
85 CFXJSE_Class* FXJSE_DefineClass(CFXJSE_Context* pContext, 82 CFXJSE_Class* FXJSE_DefineClass(CFXJSE_Context* pContext,
86 const FXJSE_CLASS* lpClass); 83 const FXJSE_CLASS* lpClass);
87 84
88 FXJSE_HVALUE FXJSE_Value_Create(v8::Isolate* pIsolate); 85 CFXJSE_Value* FXJSE_Value_Create(v8::Isolate* pIsolate);
89 void FXJSE_Value_Release(FXJSE_HVALUE hValue); 86 void FXJSE_Value_Release(CFXJSE_Value* pValue);
90 87
91 FX_BOOL FXJSE_Value_IsUndefined(FXJSE_HVALUE hValue); 88 FX_BOOL FXJSE_Value_IsUndefined(CFXJSE_Value* pValue);
92 FX_BOOL FXJSE_Value_IsNull(FXJSE_HVALUE hValue); 89 FX_BOOL FXJSE_Value_IsNull(CFXJSE_Value* pValue);
93 FX_BOOL FXJSE_Value_IsBoolean(FXJSE_HVALUE hValue); 90 FX_BOOL FXJSE_Value_IsBoolean(CFXJSE_Value* pValue);
94 FX_BOOL FXJSE_Value_IsUTF8String(FXJSE_HVALUE hValue); 91 FX_BOOL FXJSE_Value_IsUTF8String(CFXJSE_Value* pValue);
95 FX_BOOL FXJSE_Value_IsNumber(FXJSE_HVALUE hValue); 92 FX_BOOL FXJSE_Value_IsNumber(CFXJSE_Value* pValue);
96 FX_BOOL FXJSE_Value_IsObject(FXJSE_HVALUE hValue); 93 FX_BOOL FXJSE_Value_IsObject(CFXJSE_Value* pValue);
97 FX_BOOL FXJSE_Value_IsArray(FXJSE_HVALUE hValue); 94 FX_BOOL FXJSE_Value_IsArray(CFXJSE_Value* pValue);
98 FX_BOOL FXJSE_Value_IsFunction(FXJSE_HVALUE hValue); 95 FX_BOOL FXJSE_Value_IsFunction(CFXJSE_Value* pValue);
99 96
100 FX_BOOL FXJSE_Value_ToBoolean(FXJSE_HVALUE hValue); 97 FX_BOOL FXJSE_Value_ToBoolean(CFXJSE_Value* pValue);
101 FX_FLOAT FXJSE_Value_ToFloat(FXJSE_HVALUE hValue); 98 FX_FLOAT FXJSE_Value_ToFloat(CFXJSE_Value* pValue);
102 double FXJSE_Value_ToDouble(FXJSE_HVALUE hValue); 99 double FXJSE_Value_ToDouble(CFXJSE_Value* pValue);
103 int32_t FXJSE_Value_ToInteger(FXJSE_HVALUE hValue); 100 int32_t FXJSE_Value_ToInteger(CFXJSE_Value* pValue);
104 void FXJSE_Value_ToUTF8String(FXJSE_HVALUE hValue, CFX_ByteString& szStrOutput); 101 void FXJSE_Value_ToUTF8String(CFXJSE_Value* pValue,
105 void* FXJSE_Value_ToObject(FXJSE_HVALUE hValue, CFXJSE_Class* hClass); 102 CFX_ByteString& szStrOutput);
103 void* FXJSE_Value_ToObject(CFXJSE_Value* pValue, CFXJSE_Class* pClass);
106 104
107 void FXJSE_Value_SetUndefined(FXJSE_HVALUE hValue); 105 void FXJSE_Value_SetUndefined(CFXJSE_Value* pValue);
108 void FXJSE_Value_SetNull(FXJSE_HVALUE hValue); 106 void FXJSE_Value_SetNull(CFXJSE_Value* pValue);
109 void FXJSE_Value_SetBoolean(FXJSE_HVALUE hValue, FX_BOOL bBoolean); 107 void FXJSE_Value_SetBoolean(CFXJSE_Value* pValue, FX_BOOL bBoolean);
110 void FXJSE_Value_SetUTF8String(FXJSE_HVALUE hValue, 108 void FXJSE_Value_SetUTF8String(CFXJSE_Value* pValue,
111 const CFX_ByteStringC& szString); 109 const CFX_ByteStringC& szString);
112 void FXJSE_Value_SetInteger(FXJSE_HVALUE hValue, int32_t nInteger); 110 void FXJSE_Value_SetInteger(CFXJSE_Value* pValue, int32_t nInteger);
113 void FXJSE_Value_SetFloat(FXJSE_HVALUE hValue, FX_FLOAT fFloat); 111 void FXJSE_Value_SetFloat(CFXJSE_Value* pValue, FX_FLOAT fFloat);
114 void FXJSE_Value_SetDouble(FXJSE_HVALUE hValue, double dDouble); 112 void FXJSE_Value_SetDouble(CFXJSE_Value* pValue, double dDouble);
115 void FXJSE_Value_SetObject(FXJSE_HVALUE hValue, 113 void FXJSE_Value_SetObject(CFXJSE_Value* pValue,
116 void* lpObject, 114 void* lpObject,
117 CFXJSE_Class* pClass); 115 CFXJSE_Class* pClass);
118 void FXJSE_Value_SetArray(FXJSE_HVALUE hValue, 116 void FXJSE_Value_SetArray(CFXJSE_Value* pValue,
119 uint32_t uValueCount, 117 uint32_t uValueCount,
120 FXJSE_HVALUE* rgValues); 118 CFXJSE_Value** rgValues);
121 void FXJSE_Value_Set(FXJSE_HVALUE hValue, FXJSE_HVALUE hOriginalValue); 119 void FXJSE_Value_Set(CFXJSE_Value* pValue, CFXJSE_Value* pOriginalValue);
122 120
123 FX_BOOL FXJSE_Value_GetObjectProp(FXJSE_HVALUE hValue, 121 FX_BOOL FXJSE_Value_GetObjectProp(CFXJSE_Value* pValue,
124 const CFX_ByteStringC& szPropName, 122 const CFX_ByteStringC& szPropName,
125 FXJSE_HVALUE hPropValue); 123 CFXJSE_Value* pPropValue);
126 FX_BOOL FXJSE_Value_SetObjectProp(FXJSE_HVALUE hValue, 124 FX_BOOL FXJSE_Value_SetObjectProp(CFXJSE_Value* pValue,
127 const CFX_ByteStringC& szPropName, 125 const CFX_ByteStringC& szPropName,
128 FXJSE_HVALUE hPropValue); 126 CFXJSE_Value* pPropValue);
129 FX_BOOL FXJSE_Value_GetObjectPropByIdx(FXJSE_HVALUE hValue, 127 FX_BOOL FXJSE_Value_GetObjectPropByIdx(CFXJSE_Value* pValue,
130 uint32_t uPropIdx, 128 uint32_t uPropIdx,
131 FXJSE_HVALUE hPropValue); 129 CFXJSE_Value* pPropValue);
132 FX_BOOL FXJSE_Value_DeleteObjectProp(FXJSE_HVALUE hValue, 130 FX_BOOL FXJSE_Value_DeleteObjectProp(CFXJSE_Value* pValue,
133 const CFX_ByteStringC& szPropName); 131 const CFX_ByteStringC& szPropName);
134 FX_BOOL FXJSE_Value_ObjectHasOwnProp(FXJSE_HVALUE hValue, 132 FX_BOOL FXJSE_Value_ObjectHasOwnProp(CFXJSE_Value* pValue,
135 const CFX_ByteStringC& szPropName, 133 const CFX_ByteStringC& szPropName,
136 FX_BOOL bUseTypeGetter); 134 FX_BOOL bUseTypeGetter);
137 FX_BOOL FXJSE_Value_SetObjectOwnProp(FXJSE_HVALUE hValue, 135 FX_BOOL FXJSE_Value_SetObjectOwnProp(CFXJSE_Value* pValue,
138 const CFX_ByteStringC& szPropName, 136 const CFX_ByteStringC& szPropName,
139 FXJSE_HVALUE hPropValue); 137 CFXJSE_Value* pPropValue);
140 138
141 FX_BOOL FXJSE_Value_SetFunctionBind(FXJSE_HVALUE hValue, 139 FX_BOOL FXJSE_Value_SetFunctionBind(CFXJSE_Value* pValue,
142 FXJSE_HVALUE hOldFunction, 140 CFXJSE_Value* pOldFunction,
143 FXJSE_HVALUE hNewThis); 141 CFXJSE_Value* pNewThis);
144 142
145 FX_BOOL FXJSE_ExecuteScript(CFXJSE_Context* pContext, 143 FX_BOOL FXJSE_ExecuteScript(CFXJSE_Context* pContext,
146 const FX_CHAR* szScript, 144 const FX_CHAR* szScript,
147 FXJSE_HVALUE hRetValue, 145 CFXJSE_Value* pRetValue,
148 FXJSE_HVALUE hNewThisObject = nullptr); 146 CFXJSE_Value* pNewThisObject = nullptr);
149 147
150 void FXJSE_ThrowMessage(const CFX_ByteStringC& utf8Name, 148 void FXJSE_ThrowMessage(const CFX_ByteStringC& utf8Name,
151 const CFX_ByteStringC& utf8Message); 149 const CFX_ByteStringC& utf8Message);
152 150
153 #endif // XFA_FXJSE_INCLUDE_FXJSE_H_ 151 #endif // XFA_FXJSE_INCLUDE_FXJSE_H_
OLDNEW
« no previous file with comments | « xfa/fxjse/dynprop.cpp ('k') | xfa/fxjse/value.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698