summaryrefslogtreecommitdiff
path: root/fxjs/global_timer.h
diff options
context:
space:
mode:
authorDan Sinclair <dsinclair@chromium.org>2017-10-30 20:20:42 +0000
committerChromium commit bot <commit-bot@chromium.org>2017-10-30 20:20:42 +0000
commite0345a4aecfd16264d393234cf8fe22250d771fe (patch)
tree046f8e6c074b8525d6cf71daf4f2039582fb572a /fxjs/global_timer.h
parent341ec6256457c53d50f2d0a0667e61041d4d89be (diff)
downloadpdfium-e0345a4aecfd16264d393234cf8fe22250d771fe.tar.xz
Move fpdfsdk/javascript to fxjs/
This CL moves all of the CJS files into fxjs. The :javascript build rule is removed and :fxjs is used instead. Change-Id: I1701b308f51317d0346c7401b43812c3f43a27bf Reviewed-on: https://pdfium-review.googlesource.com/17047 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org>
Diffstat (limited to 'fxjs/global_timer.h')
-rw-r--r--fxjs/global_timer.h50
1 files changed, 50 insertions, 0 deletions
diff --git a/fxjs/global_timer.h b/fxjs/global_timer.h
new file mode 100644
index 0000000000..ec8806b9a1
--- /dev/null
+++ b/fxjs/global_timer.h
@@ -0,0 +1,50 @@
+// Copyright 2017 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 FXJS_GLOBAL_TIMER_H_
+#define FXJS_GLOBAL_TIMER_H_
+
+#include <map>
+
+#include "fxjs/cjs_app.h"
+
+class GlobalTimer {
+ public:
+ GlobalTimer(app* pObj,
+ CPDFSDK_FormFillEnvironment* pFormFillEnv,
+ CJS_Runtime* pRuntime,
+ int nType,
+ const WideString& script,
+ uint32_t dwElapse,
+ uint32_t dwTimeOut);
+ ~GlobalTimer();
+
+ static void Trigger(int nTimerID);
+ static void Cancel(int nTimerID);
+
+ bool IsOneShot() const { return m_nType == 1; }
+ uint32_t GetTimeOut() const { return m_dwTimeOut; }
+ int GetTimerID() const { return m_nTimerID; }
+ CJS_Runtime* GetRuntime() const { return m_pRuntime.Get(); }
+ WideString GetJScript() const { return m_swJScript; }
+
+ private:
+ using TimerMap = std::map<uint32_t, GlobalTimer*>;
+ static TimerMap* GetGlobalTimerMap();
+
+ uint32_t m_nTimerID;
+ app* const m_pEmbedObj;
+ bool m_bProcessing;
+
+ // data
+ const int m_nType; // 0:Interval; 1:TimeOut
+ const uint32_t m_dwTimeOut;
+ const WideString m_swJScript;
+ CJS_Runtime::ObservedPtr m_pRuntime;
+ CPDFSDK_FormFillEnvironment::ObservedPtr m_pFormFillEnv;
+};
+
+#endif // FXJS_GLOBAL_TIMER_H_