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

Side by Side Diff: fpdfsdk/fpdfxfa/cpdfxfa_app.h

Issue 2418653003: Reland: Make the CPDFXFA_App non-global (Closed)
Patch Set: Dispose of the isolate Created 4 years, 2 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
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 #ifndef FPDFSDK_FPDFXFA_CPDFXFA_APP_H_ 7 #ifndef FPDFSDK_FPDFXFA_CPDFXFA_APP_H_
8 #define FPDFSDK_FPDFXFA_CPDFXFA_APP_H_ 8 #define FPDFSDK_FPDFXFA_CPDFXFA_APP_H_
9 9
10 #include "xfa/fxfa/fxfa.h" 10 #include "xfa/fxfa/fxfa.h"
11 11
12 class CPDFSDK_FormFillEnvironment; 12 class CPDFSDK_FormFillEnvironment;
13 class IFXJS_Runtime; 13 class IFXJS_Runtime;
14 14
15 class CPDFXFA_App : public IXFA_AppProvider { 15 class CPDFXFA_App : public IXFA_AppProvider {
16 public: 16 public:
17 static CPDFXFA_App* GetInstance();
18 static void ReleaseInstance();
19
20 CPDFXFA_App(); 17 CPDFXFA_App();
21 ~CPDFXFA_App() override; 18 ~CPDFXFA_App() override;
22 19
23 FX_BOOL Initialize(v8::Isolate* pIsolate);
24 CXFA_FFApp* GetXFAApp() { return m_pXFAApp.get(); } 20 CXFA_FFApp* GetXFAApp() { return m_pXFAApp.get(); }
25 21
26 FX_BOOL AddFormFillEnv(CPDFSDK_FormFillEnvironment* pFormFillEnv); 22 void SetFormFillEnv(CPDFSDK_FormFillEnvironment* pFormFillEnv) {
27 FX_BOOL RemoveFormFillEnv(CPDFSDK_FormFillEnvironment* pFormFillEnv); 23 m_pFormFillEnv = pFormFillEnv;
28
29 FX_BOOL IsJavaScriptInitialized() const { return m_bJavaScriptInitialized; }
30 void SetJavaScriptInitialized(FX_BOOL bInitialized) {
31 m_bJavaScriptInitialized = bInitialized;
32 } 24 }
33 25
34 v8::Isolate* GetJSERuntime() const { return m_pIsolate; } 26 v8::Isolate* GetJSERuntime() const { return m_pIsolate; }
35 27
36 // IFXA_AppProvider: 28 // IFXA_AppProvider:
37 void GetLanguage(CFX_WideString& wsLanguage) override; 29 void GetLanguage(CFX_WideString& wsLanguage) override;
38 void GetPlatform(CFX_WideString& wsPlatform) override; 30 void GetPlatform(CFX_WideString& wsPlatform) override;
39 void GetAppName(CFX_WideString& wsName) override; 31 void GetAppName(CFX_WideString& wsName) override;
40 32
41 void Beep(uint32_t dwType) override; 33 void Beep(uint32_t dwType) override;
(...skipping 13 matching lines...) Expand all
55 const CFX_WideString& wsEncode, 47 const CFX_WideString& wsEncode,
56 const CFX_WideString& wsHeader, 48 const CFX_WideString& wsHeader,
57 CFX_WideString& wsResponse) override; 49 CFX_WideString& wsResponse) override;
58 FX_BOOL PutRequestURL(const CFX_WideString& wsURL, 50 FX_BOOL PutRequestURL(const CFX_WideString& wsURL,
59 const CFX_WideString& wsData, 51 const CFX_WideString& wsData,
60 const CFX_WideString& wsEncode) override; 52 const CFX_WideString& wsEncode) override;
61 53
62 void LoadString(int32_t iStringID, CFX_WideString& wsString) override; 54 void LoadString(int32_t iStringID, CFX_WideString& wsString) override;
63 IFWL_AdapterTimerMgr* GetTimerMgr() override; 55 IFWL_AdapterTimerMgr* GetTimerMgr() override;
64 56
65 CFX_ArrayTemplate<CPDFSDK_FormFillEnvironment*> m_pFormFillEnvList; 57 private:
66 58 CPDFSDK_FormFillEnvironment* m_pFormFillEnv; // Not owned.
67 protected:
68 FX_BOOL m_bJavaScriptInitialized;
69 std::unique_ptr<CXFA_FFApp> m_pXFAApp; 59 std::unique_ptr<CXFA_FFApp> m_pXFAApp;
70 v8::Isolate* m_pIsolate; 60 v8::Isolate* m_pIsolate;
61 bool m_bOwnsIsolate;
71 }; 62 };
72 63
73 #endif // FPDFSDK_FPDFXFA_CPDFXFA_APP_H_ 64 #endif // FPDFSDK_FPDFXFA_CPDFXFA_APP_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698