OLD | NEW |
1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
6 | 6 |
7 #ifndef FPDFSDK_JAVASCRIPT_APP_H_ | 7 #ifndef FPDFSDK_JAVASCRIPT_APP_H_ |
8 #define FPDFSDK_JAVASCRIPT_APP_H_ | 8 #define FPDFSDK_JAVASCRIPT_APP_H_ |
9 | 9 |
10 #include <memory> | 10 #include <memory> |
11 #include <vector> | 11 #include <vector> |
12 | 12 |
13 #include "fpdfsdk/javascript/JS_Define.h" | 13 #include "fpdfsdk/javascript/JS_Define.h" |
14 | 14 |
15 class CJS_Runtime; | 15 class CJS_Runtime; |
16 class CJS_Timer; | 16 class GlobalTimer; |
17 | 17 |
18 class TimerObj : public CJS_EmbedObj { | 18 class TimerObj : public CJS_EmbedObj { |
19 public: | 19 public: |
20 TimerObj(CJS_Object* pJSObject); | 20 TimerObj(CJS_Object* pJSObject); |
21 ~TimerObj() override; | 21 ~TimerObj() override; |
22 | 22 |
23 void SetTimer(CJS_Timer* pTimer); | 23 void SetTimer(GlobalTimer* pTimer); |
24 int GetTimerID() const { return m_nTimerID; } | 24 int GetTimerID() const { return m_nTimerID; } |
25 | 25 |
26 private: | 26 private: |
27 int m_nTimerID; // Weak reference to timer through global map. | 27 int m_nTimerID; // Weak reference to GlobalTimer through global map. |
28 }; | 28 }; |
29 | 29 |
30 class CJS_TimerObj : public CJS_Object { | 30 class CJS_TimerObj : public CJS_Object { |
31 public: | 31 public: |
32 CJS_TimerObj(v8::Local<v8::Object> pObject) : CJS_Object(pObject) {} | 32 CJS_TimerObj(v8::Local<v8::Object> pObject) : CJS_Object(pObject) {} |
33 ~CJS_TimerObj() override {} | 33 ~CJS_TimerObj() override {} |
34 | 34 |
35 DECLARE_JS_CLASS(); | 35 DECLARE_JS_CLASS(); |
36 }; | 36 }; |
37 | 37 |
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
145 CFX_WideString& sError); | 145 CFX_WideString& sError); |
146 FX_BOOL setInterval(IJS_Context* cc, | 146 FX_BOOL setInterval(IJS_Context* cc, |
147 const std::vector<CJS_Value>& params, | 147 const std::vector<CJS_Value>& params, |
148 CJS_Value& vRet, | 148 CJS_Value& vRet, |
149 CFX_WideString& sError); | 149 CFX_WideString& sError); |
150 FX_BOOL setTimeOut(IJS_Context* cc, | 150 FX_BOOL setTimeOut(IJS_Context* cc, |
151 const std::vector<CJS_Value>& params, | 151 const std::vector<CJS_Value>& params, |
152 CJS_Value& vRet, | 152 CJS_Value& vRet, |
153 CFX_WideString& sError); | 153 CFX_WideString& sError); |
154 | 154 |
| 155 void TimerProc(GlobalTimer* pTimer); |
| 156 void CancelProc(GlobalTimer* pTimer); |
| 157 |
155 static CFX_WideString SysPathToPDFPath(const CFX_WideString& sOldPath); | 158 static CFX_WideString SysPathToPDFPath(const CFX_WideString& sOldPath); |
156 | 159 |
157 private: | 160 private: |
158 // CJS_EmbedObj | 161 // CJS_EmbedObj |
159 void TimerProc(CJS_Timer* pTimer) override; | |
160 void CancelProc(CJS_Timer* pTimer) override; | |
161 void RunJsScript(CJS_Runtime* pRuntime, const CFX_WideString& wsScript); | 162 void RunJsScript(CJS_Runtime* pRuntime, const CFX_WideString& wsScript); |
162 | 163 |
163 void ClearTimerCommon(const CJS_Value& param); | 164 void ClearTimerCommon(const CJS_Value& param); |
164 | 165 |
165 bool m_bCalculate; | 166 bool m_bCalculate; |
166 bool m_bRuntimeHighLight; | 167 bool m_bRuntimeHighLight; |
167 std::vector<std::unique_ptr<CJS_Timer>> m_Timers; | 168 std::vector<std::unique_ptr<GlobalTimer>> m_Timers; |
168 }; | 169 }; |
169 | 170 |
170 class CJS_App : public CJS_Object { | 171 class CJS_App : public CJS_Object { |
171 public: | 172 public: |
172 explicit CJS_App(v8::Local<v8::Object> pObject) : CJS_Object(pObject) {} | 173 explicit CJS_App(v8::Local<v8::Object> pObject) : CJS_Object(pObject) {} |
173 ~CJS_App() override {} | 174 ~CJS_App() override {} |
174 | 175 |
175 DECLARE_JS_CLASS(); | 176 DECLARE_JS_CLASS(); |
176 | 177 |
177 JS_STATIC_PROP(activeDocs, app); | 178 JS_STATIC_PROP(activeDocs, app); |
(...skipping 26 matching lines...) Expand all Loading... |
204 JS_STATIC_METHOD(openDoc, app); | 205 JS_STATIC_METHOD(openDoc, app); |
205 JS_STATIC_METHOD(openFDF, app); | 206 JS_STATIC_METHOD(openFDF, app); |
206 JS_STATIC_METHOD(popUpMenuEx, app); | 207 JS_STATIC_METHOD(popUpMenuEx, app); |
207 JS_STATIC_METHOD(popUpMenu, app); | 208 JS_STATIC_METHOD(popUpMenu, app); |
208 JS_STATIC_METHOD(response, app); | 209 JS_STATIC_METHOD(response, app); |
209 JS_STATIC_METHOD(setInterval, app); | 210 JS_STATIC_METHOD(setInterval, app); |
210 JS_STATIC_METHOD(setTimeOut, app); | 211 JS_STATIC_METHOD(setTimeOut, app); |
211 }; | 212 }; |
212 | 213 |
213 #endif // FPDFSDK_JAVASCRIPT_APP_H_ | 214 #endif // FPDFSDK_JAVASCRIPT_APP_H_ |
OLD | NEW |