Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(64)

Side by Side Diff: fpdfsdk/src/fsdk_mgr.cpp

Issue 1360523004: Remove CJS_RuntimeFactory (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: unique_ptr Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « fpdfsdk/include/javascript/IJavaScript.h ('k') | fpdfsdk/src/javascript/JS_Runtime.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 #include "../../public/fpdf_ext.h" 7 #include "../../public/fpdf_ext.h"
8 #include "../../third_party/base/nonstd_unique_ptr.h" 8 #include "../../third_party/base/nonstd_unique_ptr.h"
9 #include "../include/fsdk_define.h" 9 #include "../include/fsdk_define.h"
10 #include "../include/fsdk_mgr.h" 10 #include "../include/fsdk_mgr.h"
11 #include "../include/formfiller/FFL_FormFiller.h" 11 #include "../include/formfiller/FFL_FormFiller.h"
12 #include "../include/javascript/IJavaScript.h" 12 #include "../include/javascript/IJavaScript.h"
13 #include "../include/javascript/JS_Runtime.h"
13 14
14 #if _FX_OS_ == _FX_ANDROID_ 15 #if _FX_OS_ == _FX_ANDROID_
15 #include "time.h" 16 #include "time.h"
16 #else 17 #else
17 #include <ctime> 18 #include <ctime>
18 #endif 19 #endif
19 20
20 class CFX_SystemHandler : public IFX_SystemHandler { 21 class CFX_SystemHandler : public IFX_SystemHandler {
21 public: 22 public:
22 CFX_SystemHandler(CPDFDoc_Environment* pEnv) : m_pEnv(pEnv), m_nCharSet(-1) {} 23 CFX_SystemHandler(CPDFDoc_Environment* pEnv) : m_pEnv(pEnv), m_nCharSet(-1) {}
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after
196 return m_pEnv->FFI_SetTimer(uElapse, lpTimerFunc); 197 return m_pEnv->FFI_SetTimer(uElapse, lpTimerFunc);
197 } 198 }
198 void CFX_SystemHandler::KillTimer(int32_t nID) { 199 void CFX_SystemHandler::KillTimer(int32_t nID) {
199 m_pEnv->FFI_KillTimer(nID); 200 m_pEnv->FFI_KillTimer(nID);
200 } 201 }
201 202
202 FX_SYSTEMTIME CFX_SystemHandler::GetLocalTime() { 203 FX_SYSTEMTIME CFX_SystemHandler::GetLocalTime() {
203 return m_pEnv->FFI_GetLocalTime(); 204 return m_pEnv->FFI_GetLocalTime();
204 } 205 }
205 206
206 CJS_RuntimeFactory* GetJSRuntimeFactory() {
207 static CJS_RuntimeFactory s_JSRuntimeFactory;
208 return &s_JSRuntimeFactory;
209 }
210
211 CPDFDoc_Environment::CPDFDoc_Environment(CPDF_Document* pDoc, 207 CPDFDoc_Environment::CPDFDoc_Environment(CPDF_Document* pDoc,
212 FPDF_FORMFILLINFO* pFFinfo) 208 FPDF_FORMFILLINFO* pFFinfo)
213 : m_pAnnotHandlerMgr(NULL), 209 : m_pAnnotHandlerMgr(NULL),
214 m_pActionHandler(NULL), 210 m_pActionHandler(NULL),
215 m_pJSRuntime(NULL),
216 m_pInfo(pFFinfo), 211 m_pInfo(pFFinfo),
217 m_pSDKDoc(NULL), 212 m_pSDKDoc(NULL),
218 m_pPDFDoc(pDoc), 213 m_pPDFDoc(pDoc),
219 m_pIFormFiller(NULL) { 214 m_pIFormFiller(NULL) {
220 m_pSysHandler = new CFX_SystemHandler(this); 215 m_pSysHandler = new CFX_SystemHandler(this);
221 m_pJSRuntimeFactory = GetJSRuntimeFactory();
222 m_pJSRuntimeFactory->AddRef();
223 } 216 }
224 217
225 CPDFDoc_Environment::~CPDFDoc_Environment() { 218 CPDFDoc_Environment::~CPDFDoc_Environment() {
226 delete m_pIFormFiller; 219 delete m_pIFormFiller;
227 m_pIFormFiller = NULL; 220 m_pIFormFiller = NULL;
228 if (m_pJSRuntime && m_pJSRuntimeFactory)
229 m_pJSRuntimeFactory->DeleteJSRuntime(m_pJSRuntime);
230 m_pJSRuntimeFactory->Release();
231 221
232 delete m_pSysHandler; 222 delete m_pSysHandler;
233 m_pSysHandler = NULL; 223 m_pSysHandler = NULL;
234 224
235 delete m_pAnnotHandlerMgr; 225 delete m_pAnnotHandlerMgr;
236 m_pAnnotHandlerMgr = NULL; 226 m_pAnnotHandlerMgr = NULL;
237 delete m_pActionHandler; 227 delete m_pActionHandler;
238 m_pActionHandler = NULL; 228 m_pActionHandler = NULL;
239 } 229 }
240 230
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after
377 bsBcc.ReleaseBuffer(); 367 bsBcc.ReleaseBuffer();
378 bsSubject.ReleaseBuffer(); 368 bsSubject.ReleaseBuffer();
379 bsMsg.ReleaseBuffer(); 369 bsMsg.ReleaseBuffer();
380 } 370 }
381 } 371 }
382 372
383 IFXJS_Runtime* CPDFDoc_Environment::GetJSRuntime() { 373 IFXJS_Runtime* CPDFDoc_Environment::GetJSRuntime() {
384 if (!IsJSInitiated()) 374 if (!IsJSInitiated())
385 return NULL; 375 return NULL;
386 if (!m_pJSRuntime) 376 if (!m_pJSRuntime)
387 m_pJSRuntime = m_pJSRuntimeFactory->NewJSRuntime(this); 377 m_pJSRuntime.reset(new CJS_Runtime(this));
388 return m_pJSRuntime; 378 return m_pJSRuntime.get();
389 } 379 }
390 380
391 CPDFSDK_AnnotHandlerMgr* CPDFDoc_Environment::GetAnnotHandlerMgr() { 381 CPDFSDK_AnnotHandlerMgr* CPDFDoc_Environment::GetAnnotHandlerMgr() {
392 if (!m_pAnnotHandlerMgr) 382 if (!m_pAnnotHandlerMgr)
393 m_pAnnotHandlerMgr = new CPDFSDK_AnnotHandlerMgr(this); 383 m_pAnnotHandlerMgr = new CPDFSDK_AnnotHandlerMgr(this);
394 return m_pAnnotHandlerMgr; 384 return m_pAnnotHandlerMgr;
395 } 385 }
396 386
397 CPDFSDK_ActionHandler* CPDFDoc_Environment::GetActionHander() { 387 CPDFSDK_ActionHandler* CPDFDoc_Environment::GetActionHander() {
398 if (!m_pActionHandler) 388 if (!m_pActionHandler)
(...skipping 599 matching lines...) Expand 10 before | Expand all | Expand 10 after
998 if (!pFocusAnnot) 988 if (!pFocusAnnot)
999 return NULL; 989 return NULL;
1000 990
1001 for (int i = 0; i < m_fxAnnotArray.GetSize(); i++) { 991 for (int i = 0; i < m_fxAnnotArray.GetSize(); i++) {
1002 CPDFSDK_Annot* pAnnot = (CPDFSDK_Annot*)m_fxAnnotArray.GetAt(i); 992 CPDFSDK_Annot* pAnnot = (CPDFSDK_Annot*)m_fxAnnotArray.GetAt(i);
1003 if (pAnnot == pFocusAnnot) 993 if (pAnnot == pFocusAnnot)
1004 return pAnnot; 994 return pAnnot;
1005 } 995 }
1006 return NULL; 996 return NULL;
1007 } 997 }
OLDNEW
« no previous file with comments | « fpdfsdk/include/javascript/IJavaScript.h ('k') | fpdfsdk/src/javascript/JS_Runtime.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698