Allow compiling PDFium without V8.
[pdfium.git] / fpdfsdk / include / javascript / IJavaScript.h
index 5692240..bf90210 100644 (file)
 #include "../../../core/include/fxcrt/fx_string.h"
 #include "../../../core/include/fxcrt/fx_system.h"
 
-class CPDF_Bookmark;
-class CPDF_FormField;
+class CPDFDoc_Environment;
 class CPDFSDK_Annot;
 class CPDFSDK_Document;
+class CPDF_Bookmark;
+class CPDF_FormField;
 
-class IFXJS_Context {
+class IJS_Context {
  public:
-  virtual FX_BOOL Compile(const CFX_WideString& script,
-                          CFX_WideString& info) = 0;
   virtual FX_BOOL RunScript(const CFX_WideString& script,
                             CFX_WideString& info) = 0;
 
@@ -129,43 +128,23 @@ class IFXJS_Context {
   virtual void EnableMessageBox(FX_BOOL bEnable) = 0;
 
  protected:
-  virtual ~IFXJS_Context() {}
+  virtual ~IJS_Context() {}
 };
 
-class IFXJS_Runtime {
+class IJS_Runtime {
  public:
-  virtual IFXJS_Context* NewContext() = 0;
-  virtual void ReleaseContext(IFXJS_Context* pContext) = 0;
-  virtual IFXJS_Context* GetCurrentContext() = 0;
+  static void Initialize(unsigned int slot, void* isolate);
+  static IJS_Runtime* Create(CPDFDoc_Environment* pEnv);
+  virtual ~IJS_Runtime() {}
 
+  virtual IJS_Context* NewContext() = 0;
+  virtual void ReleaseContext(IJS_Context* pContext) = 0;
+  virtual IJS_Context* GetCurrentContext() = 0;
   virtual void SetReaderDocument(CPDFSDK_Document* pReaderDoc) = 0;
   virtual CPDFSDK_Document* GetReaderDocument() = 0;
 
  protected:
-  virtual ~IFXJS_Runtime() {}
-};
-
-class CPDFDoc_Environment;
-class CJS_GlobalData;
-
-class CJS_RuntimeFactory {
- public:
-  CJS_RuntimeFactory()
-      : m_bInit(FALSE), m_nRef(0), m_pGlobalData(NULL), m_nGlobalDataCount(0) {}
-  ~CJS_RuntimeFactory();
-  IFXJS_Runtime* NewJSRuntime(CPDFDoc_Environment* pApp);
-  void DeleteJSRuntime(IFXJS_Runtime* pRuntime);
-  void AddRef();
-  void Release();
-
-  CJS_GlobalData* NewGlobalData(CPDFDoc_Environment* pApp);
-  void ReleaseGlobalData();
-
- private:
-  FX_BOOL m_bInit;
-  int m_nRef;
-  CJS_GlobalData* m_pGlobalData;
-  int32_t m_nGlobalDataCount;
+  IJS_Runtime() {}
 };
 
 #endif  // FPDFSDK_INCLUDE_JAVASCRIPT_IJAVASCRIPT_H_