diff options
Diffstat (limited to 'fpdfsdk/src/javascript/JS_Object.h')
-rw-r--r-- | fpdfsdk/src/javascript/JS_Object.h | 116 |
1 files changed, 0 insertions, 116 deletions
diff --git a/fpdfsdk/src/javascript/JS_Object.h b/fpdfsdk/src/javascript/JS_Object.h deleted file mode 100644 index deae2d2a8f..0000000000 --- a/fpdfsdk/src/javascript/JS_Object.h +++ /dev/null @@ -1,116 +0,0 @@ -// Copyright 2014 PDFium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com - -#ifndef FPDFSDK_SRC_JAVASCRIPT_JS_OBJECT_H_ -#define FPDFSDK_SRC_JAVASCRIPT_JS_OBJECT_H_ - -#include <map> -#include <memory> - -#include "fpdfsdk/include/fsdk_define.h" // For FX_UINT -#include "fpdfsdk/include/jsapi/fxjs_v8.h" -#include "fpdfsdk/src/javascript/JS_Runtime.h" - -class CJS_Context; -class CJS_Object; -class CJS_Timer; -class CPDFDoc_Environment; -class CJS_EmbedObj { - public: - explicit CJS_EmbedObj(CJS_Object* pJSObject); - virtual ~CJS_EmbedObj(); - - virtual void TimerProc(CJS_Timer* pTimer) {} - - CJS_Object* GetJSObject() const { return m_pJSObject; } - - int MsgBox(CPDFDoc_Environment* pApp, - const FX_WCHAR* swMsg, - const FX_WCHAR* swTitle, - FX_UINT nType, - FX_UINT nIcon); - void Alert(CJS_Context* pContext, const FX_WCHAR* swMsg); - - protected: - CJS_Object* m_pJSObject; -}; - -class CJS_Object { - public: - explicit CJS_Object(v8::Local<v8::Object> pObject); - virtual ~CJS_Object(); - - void MakeWeak(); - void Dispose(); - - virtual FX_BOOL IsType(const FX_CHAR* sClassName) { return TRUE; } - virtual CFX_ByteString GetClassName() { return ""; } - - virtual void InitInstance(IJS_Runtime* pIRuntime) {} - virtual void ExitInstance() {} - - v8::Local<v8::Object> ToV8Object() { return m_pV8Object.Get(m_pIsolate); } - - // Takes ownership of |pObj|. - void SetEmbedObject(CJS_EmbedObj* pObj) { m_pEmbedObj.reset(pObj); } - CJS_EmbedObj* GetEmbedObject() const { return m_pEmbedObj.get(); } - - static int MsgBox(CPDFDoc_Environment* pApp, - const FX_WCHAR* swMsg, - const FX_WCHAR* swTitle, - FX_UINT nType, - FX_UINT nIcon); - static void Alert(CJS_Context* pContext, const FX_WCHAR* swMsg); - - v8::Isolate* GetIsolate() { return m_pIsolate; } - - protected: - std::unique_ptr<CJS_EmbedObj> m_pEmbedObj; - v8::Global<v8::Object> m_pV8Object; - v8::Isolate* m_pIsolate; -}; - -class CJS_Timer : public CJS_Runtime::Observer { - public: - CJS_Timer(CJS_EmbedObj* pObj, - CPDFDoc_Environment* pApp, - CJS_Runtime* pRuntime, - int nType, - const CFX_WideString& script, - FX_DWORD dwElapse, - FX_DWORD dwTimeOut); - ~CJS_Timer() override; - - void KillJSTimer(); - - int GetType() const { return m_nType; } - FX_DWORD GetTimeOut() const { return m_dwTimeOut; } - CJS_Runtime* GetRuntime() const { return m_bValid ? m_pRuntime : nullptr; } - CFX_WideString GetJScript() const { return m_swJScript; } - - static void TimerProc(int idEvent); - - private: - using TimerMap = std::map<FX_UINT, CJS_Timer*>; - static TimerMap* GetGlobalTimerMap(); - - // CJS_Runtime::Observer - void OnDestroyed() override; - - FX_DWORD m_nTimerID; - CJS_EmbedObj* const m_pEmbedObj; - bool m_bProcessing; - bool m_bValid; - - // data - const int m_nType; // 0:Interval; 1:TimeOut - const FX_DWORD m_dwTimeOut; - const CFX_WideString m_swJScript; - CJS_Runtime* const m_pRuntime; - CPDFDoc_Environment* const m_pApp; -}; - -#endif // FPDFSDK_SRC_JAVASCRIPT_JS_OBJECT_H_ |