| 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 |