Refactor fxjs_v8 and add embeddertests for it.
[pdfium.git] / fpdfsdk / include / javascript / IJavaScript.h
index 53a4225..47e4c17 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 {
  public:
-  virtual ~IFXJS_Context() {}
-  virtual FX_BOOL Compile(const CFX_WideString& script,
-                          CFX_WideString& info) = 0;
   virtual FX_BOOL RunScript(const CFX_WideString& script,
                             CFX_WideString& info) = 0;
 
@@ -128,6 +126,9 @@ class IFXJS_Context {
   virtual void OnExternal_Exec() = 0;
 
   virtual void EnableMessageBox(FX_BOOL bEnable) = 0;
+
+ protected:
+  virtual ~IFXJS_Context() {}
 };
 
 class IFXJS_Runtime {
@@ -140,30 +141,22 @@ class IFXJS_Runtime {
   virtual CPDFSDK_Document* GetReaderDocument() = 0;
 
  protected:
-  ~IFXJS_Runtime() {}
+  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() : m_bInit(false), m_nRef(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;
+  bool m_bInit;
   int m_nRef;
-  CJS_GlobalData* m_pGlobalData;
-  int32_t m_nGlobalDataCount;
 };
 
 #endif  // FPDFSDK_INCLUDE_JAVASCRIPT_IJAVASCRIPT_H_