diff options
author | Tom Sepez <tsepez@chromium.org> | 2015-10-06 11:33:46 -0700 |
---|---|---|
committer | Tom Sepez <tsepez@chromium.org> | 2015-10-06 11:33:46 -0700 |
commit | 3745841a4c4ab915c98865c1dd71f9debc3e2f99 (patch) | |
tree | 9d43ea977a9f50faa40391f38264f6695527555c /fpdfsdk/include/javascript/JS_Object.h | |
parent | 1b1dd8a6907f4631044b1c03698170853af594a9 (diff) | |
download | pdfium-3745841a4c4ab915c98865c1dd71f9debc3e2f99.tar.xz |
Merge to XFA: Make the vast majority of JS headers private to src/javascript.
(cherry picked from commit 5b3d0208723f21c50b9922bdc500c9d78c359a25)
Original Review URL: https://codereview.chromium.org/1389783002 .
New changes to fix IWYU in:
fpdfsdk/include/fpdfxfa/fpdfxfa_app.h
xfa/include/fxfa/fxfa.h
xfa/include/fxfa/fxfa_objectacc.h
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1388023003 .
Diffstat (limited to 'fpdfsdk/include/javascript/JS_Object.h')
-rw-r--r-- | fpdfsdk/include/javascript/JS_Object.h | 119 |
1 files changed, 0 insertions, 119 deletions
diff --git a/fpdfsdk/include/javascript/JS_Object.h b/fpdfsdk/include/javascript/JS_Object.h deleted file mode 100644 index 6116a83d17..0000000000 --- a/fpdfsdk/include/javascript/JS_Object.h +++ /dev/null @@ -1,119 +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_INCLUDE_JAVASCRIPT_JS_OBJECT_H_ -#define FPDFSDK_INCLUDE_JAVASCRIPT_JS_OBJECT_H_ - -#include <map> - -#include "../../../third_party/base/nonstd_unique_ptr.h" - -#include "../fsdk_define.h" // For FX_UINT -#include "../fsdk_mgr.h" // For CPDFDoc_Environment -#include "../fx_systemhandler.h" // For IFX_SystemHandler -#include "../jsapi/fxjs_v8.h" -#include "JS_Runtime.h" - -class CJS_Context; -class CJS_Object; -class CJS_Timer; - -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 FX_BOOL InitInstance(IFXJS_Context* cc) { return TRUE; } - virtual FX_BOOL ExitInstance() { return TRUE; } - - 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: - nonstd::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_INCLUDE_JAVASCRIPT_JS_OBJECT_H_ |