OLD | NEW |
1 // Copyright 2016 PDFium Authors. All rights reserved. | 1 // Copyright 2016 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 FPDFSDK_JAVASCRIPT_IJS_RUNTIME_H_ | 7 #ifndef FPDFSDK_JAVASCRIPT_IJS_RUNTIME_H_ |
8 #define FPDFSDK_JAVASCRIPT_IJS_RUNTIME_H_ | 8 #define FPDFSDK_JAVASCRIPT_IJS_RUNTIME_H_ |
9 | 9 |
10 #include "core/fxcrt/fx_string.h" | 10 #include "core/fxcrt/fx_string.h" |
11 #include "core/fxcrt/fx_system.h" | 11 #include "core/fxcrt/fx_system.h" |
12 | 12 |
13 #ifdef PDF_ENABLE_XFA | 13 #ifdef PDF_ENABLE_XFA |
14 #include "fxjs/fxjse.h" | 14 #include "fxjs/fxjse.h" |
15 #endif // PDF_ENABLE_XFA | 15 #endif // PDF_ENABLE_XFA |
16 | 16 |
17 class CPDFSDK_Environment; | 17 class CPDFSDK_FormFillEnvironment; |
18 class CPDFSDK_Document; | 18 class CPDFSDK_Document; |
19 class IJS_Context; | 19 class IJS_Context; |
20 | 20 |
21 // Owns the FJXS objects needed to actually execute JS. | 21 // Owns the FJXS objects needed to actually execute JS. |
22 class IJS_Runtime { | 22 class IJS_Runtime { |
23 public: | 23 public: |
24 static void Initialize(unsigned int slot, void* isolate); | 24 static void Initialize(unsigned int slot, void* isolate); |
25 static void Destroy(); | 25 static void Destroy(); |
26 static IJS_Runtime* Create(CPDFSDK_Environment* pEnv); | 26 static IJS_Runtime* Create(CPDFSDK_FormFillEnvironment* pEnv); |
27 virtual ~IJS_Runtime() {} | 27 virtual ~IJS_Runtime() {} |
28 | 28 |
29 virtual IJS_Context* NewContext() = 0; | 29 virtual IJS_Context* NewContext() = 0; |
30 virtual void ReleaseContext(IJS_Context* pContext) = 0; | 30 virtual void ReleaseContext(IJS_Context* pContext) = 0; |
31 virtual IJS_Context* GetCurrentContext() = 0; | 31 virtual IJS_Context* GetCurrentContext() = 0; |
32 virtual void SetReaderDocument(CPDFSDK_Document* pReaderDoc) = 0; | 32 virtual void SetReaderDocument(CPDFSDK_Document* pReaderDoc) = 0; |
33 virtual CPDFSDK_Document* GetReaderDocument() = 0; | 33 virtual CPDFSDK_Document* GetReaderDocument() = 0; |
34 virtual int ExecuteScript(const CFX_WideString& script, | 34 virtual int ExecuteScript(const CFX_WideString& script, |
35 CFX_WideString* info) = 0; | 35 CFX_WideString* info) = 0; |
36 | 36 |
37 #ifdef PDF_ENABLE_XFA | 37 #ifdef PDF_ENABLE_XFA |
38 virtual FX_BOOL GetValueByName(const CFX_ByteStringC& utf8Name, | 38 virtual FX_BOOL GetValueByName(const CFX_ByteStringC& utf8Name, |
39 CFXJSE_Value* pValue) = 0; | 39 CFXJSE_Value* pValue) = 0; |
40 virtual FX_BOOL SetValueByName(const CFX_ByteStringC& utf8Name, | 40 virtual FX_BOOL SetValueByName(const CFX_ByteStringC& utf8Name, |
41 CFXJSE_Value* pValue) = 0; | 41 CFXJSE_Value* pValue) = 0; |
42 #endif // PDF_ENABLE_XFA | 42 #endif // PDF_ENABLE_XFA |
43 | 43 |
44 protected: | 44 protected: |
45 IJS_Runtime() {} | 45 IJS_Runtime() {} |
46 }; | 46 }; |
47 | 47 |
48 #endif // FPDFSDK_JAVASCRIPT_IJS_RUNTIME_H_ | 48 #endif // FPDFSDK_JAVASCRIPT_IJS_RUNTIME_H_ |
OLD | NEW |