Index: fpdfsdk/src/javascript/JS_Object.cpp |
diff --git a/fpdfsdk/src/javascript/JS_Object.cpp b/fpdfsdk/src/javascript/JS_Object.cpp |
deleted file mode 100644 |
index 3f0fe8cb4857a5cfabd6b21176c62730a1aeef13..0000000000000000000000000000000000000000 |
--- a/fpdfsdk/src/javascript/JS_Object.cpp |
+++ /dev/null |
@@ -1,159 +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 |
- |
-#include "fpdfsdk/src/javascript/JS_Object.h" |
- |
-#include "fpdfsdk/include/fsdk_mgr.h" // For CPDFDoc_Environment. |
-#include "fpdfsdk/include/javascript/IJavaScript.h" |
-#include "fpdfsdk/src/javascript/JS_Context.h" |
-#include "fpdfsdk/src/javascript/JS_Define.h" |
- |
-namespace { |
- |
-int FXJS_MsgBox(CPDFDoc_Environment* pApp, |
- const FX_WCHAR* swMsg, |
- const FX_WCHAR* swTitle, |
- FX_UINT nType, |
- FX_UINT nIcon) { |
- if (!pApp) |
- return 0; |
- |
- if (CPDFSDK_Document* pDoc = pApp->GetSDKDocument()) |
- pDoc->KillFocusAnnot(); |
- |
- return pApp->JS_appAlert(swMsg, swTitle, nType, nIcon); |
-} |
- |
-} // namespace |
- |
-CJS_EmbedObj::CJS_EmbedObj(CJS_Object* pJSObject) : m_pJSObject(pJSObject) {} |
- |
-CJS_EmbedObj::~CJS_EmbedObj() { |
- m_pJSObject = NULL; |
-} |
- |
-int CJS_EmbedObj::MsgBox(CPDFDoc_Environment* pApp, |
- const FX_WCHAR* swMsg, |
- const FX_WCHAR* swTitle, |
- FX_UINT nType, |
- FX_UINT nIcon) { |
- return FXJS_MsgBox(pApp, swMsg, swTitle, nType, nIcon); |
-} |
- |
-void CJS_EmbedObj::Alert(CJS_Context* pContext, const FX_WCHAR* swMsg) { |
- CJS_Object::Alert(pContext, swMsg); |
-} |
- |
-void FreeObject(const v8::WeakCallbackInfo<CJS_Object>& data) { |
- CJS_Object* pJSObj = data.GetParameter(); |
- pJSObj->ExitInstance(); |
- delete pJSObj; |
- FXJS_FreePrivate(data.GetInternalField(0)); |
-} |
- |
-void DisposeObject(const v8::WeakCallbackInfo<CJS_Object>& data) { |
- CJS_Object* pJSObj = data.GetParameter(); |
- pJSObj->Dispose(); |
- data.SetSecondPassCallback(FreeObject); |
-} |
- |
-CJS_Object::CJS_Object(v8::Local<v8::Object> pObject) { |
- m_pIsolate = pObject->GetIsolate(); |
- m_pV8Object.Reset(m_pIsolate, pObject); |
-} |
- |
-CJS_Object::~CJS_Object() { |
-} |
- |
-void CJS_Object::MakeWeak() { |
- m_pV8Object.SetWeak(this, DisposeObject, |
- v8::WeakCallbackType::kInternalFields); |
-} |
- |
-void CJS_Object::Dispose() { |
- m_pV8Object.Reset(); |
-} |
- |
-int CJS_Object::MsgBox(CPDFDoc_Environment* pApp, |
- const FX_WCHAR* swMsg, |
- const FX_WCHAR* swTitle, |
- FX_UINT nType, |
- FX_UINT nIcon) { |
- return FXJS_MsgBox(pApp, swMsg, swTitle, nType, nIcon); |
-} |
- |
-void CJS_Object::Alert(CJS_Context* pContext, const FX_WCHAR* swMsg) { |
- if (pContext->IsMsgBoxEnabled()) { |
- CPDFDoc_Environment* pApp = pContext->GetReaderApp(); |
- if (pApp) |
- pApp->JS_appAlert(swMsg, NULL, 0, 3); |
- } |
-} |
- |
-CJS_Timer::CJS_Timer(CJS_EmbedObj* pObj, |
- CPDFDoc_Environment* pApp, |
- CJS_Runtime* pRuntime, |
- int nType, |
- const CFX_WideString& script, |
- FX_DWORD dwElapse, |
- FX_DWORD dwTimeOut) |
- : m_nTimerID(0), |
- m_pEmbedObj(pObj), |
- m_bProcessing(false), |
- m_bValid(true), |
- m_nType(nType), |
- m_dwTimeOut(dwTimeOut), |
- m_swJScript(script), |
- m_pRuntime(pRuntime), |
- m_pApp(pApp) { |
- IFX_SystemHandler* pHandler = m_pApp->GetSysHandler(); |
- m_nTimerID = pHandler->SetTimer(dwElapse, TimerProc); |
- (*GetGlobalTimerMap())[m_nTimerID] = this; |
- m_pRuntime->AddObserver(this); |
-} |
- |
-CJS_Timer::~CJS_Timer() { |
- CJS_Runtime* pRuntime = GetRuntime(); |
- if (pRuntime) |
- pRuntime->RemoveObserver(this); |
- KillJSTimer(); |
-} |
- |
-void CJS_Timer::KillJSTimer() { |
- if (m_nTimerID) { |
- if (m_bValid) { |
- IFX_SystemHandler* pHandler = m_pApp->GetSysHandler(); |
- pHandler->KillTimer(m_nTimerID); |
- } |
- GetGlobalTimerMap()->erase(m_nTimerID); |
- m_nTimerID = 0; |
- } |
-} |
- |
-// static |
-void CJS_Timer::TimerProc(int idEvent) { |
- const auto it = GetGlobalTimerMap()->find(idEvent); |
- if (it != GetGlobalTimerMap()->end()) { |
- CJS_Timer* pTimer = it->second; |
- if (!pTimer->m_bProcessing) { |
- CFX_AutoRestorer<bool> scoped_processing(&pTimer->m_bProcessing); |
- pTimer->m_bProcessing = true; |
- if (pTimer->m_pEmbedObj) |
- pTimer->m_pEmbedObj->TimerProc(pTimer); |
- } |
- } |
-} |
- |
-// static |
-CJS_Timer::TimerMap* CJS_Timer::GetGlobalTimerMap() { |
- // Leak the timer array at shutdown. |
- static auto* s_TimerMap = new TimerMap; |
- return s_TimerMap; |
-} |
- |
-void CJS_Timer::OnDestroyed() { |
- m_bValid = false; |
-} |