| 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_CJS_CONTEXT_H_ | 7 #ifndef FPDFSDK_JAVASCRIPT_CJS_CONTEXT_H_ |
| 8 #define FPDFSDK_JAVASCRIPT_CJS_CONTEXT_H_ | 8 #define FPDFSDK_JAVASCRIPT_CJS_CONTEXT_H_ |
| 9 | 9 |
| 10 #include <memory> | 10 #include <memory> |
| 11 | 11 |
| 12 #include "core/fxcrt/fx_string.h" | 12 #include "core/fxcrt/fx_string.h" |
| 13 #include "core/fxcrt/fx_system.h" | 13 #include "core/fxcrt/fx_system.h" |
| 14 #include "fpdfsdk/javascript/ijs_context.h" | 14 #include "fpdfsdk/javascript/ijs_context.h" |
| 15 | 15 |
| 16 class CJS_EventHandler; | 16 class CJS_EventHandler; |
| 17 class CJS_Runtime; | 17 class CJS_Runtime; |
| 18 class CPDFSDK_FormFillEnvironment; | 18 class CPDFSDK_FormFillEnvironment; |
| 19 | 19 |
| 20 class CJS_Context : public IJS_Context { | 20 class CJS_Context : public IJS_Context { |
| 21 public: | 21 public: |
| 22 explicit CJS_Context(CJS_Runtime* pRuntime); | 22 explicit CJS_Context(CJS_Runtime* pRuntime); |
| 23 ~CJS_Context() override; | 23 ~CJS_Context() override; |
| 24 | 24 |
| 25 // IJS_Context | 25 // IJS_Context |
| 26 FX_BOOL RunScript(const CFX_WideString& script, | 26 bool RunScript(const CFX_WideString& script, CFX_WideString* info) override; |
| 27 CFX_WideString* info) override; | |
| 28 void OnApp_Init() override; | 27 void OnApp_Init() override; |
| 29 void OnDoc_Open(CPDFSDK_FormFillEnvironment* pFormFillEnv, | 28 void OnDoc_Open(CPDFSDK_FormFillEnvironment* pFormFillEnv, |
| 30 const CFX_WideString& strTargetName) override; | 29 const CFX_WideString& strTargetName) override; |
| 31 void OnDoc_WillPrint(CPDFSDK_FormFillEnvironment* pFormFillEnv) override; | 30 void OnDoc_WillPrint(CPDFSDK_FormFillEnvironment* pFormFillEnv) override; |
| 32 void OnDoc_DidPrint(CPDFSDK_FormFillEnvironment* pFormFillEnv) override; | 31 void OnDoc_DidPrint(CPDFSDK_FormFillEnvironment* pFormFillEnv) override; |
| 33 void OnDoc_WillSave(CPDFSDK_FormFillEnvironment* pFormFillEnv) override; | 32 void OnDoc_WillSave(CPDFSDK_FormFillEnvironment* pFormFillEnv) override; |
| 34 void OnDoc_DidSave(CPDFSDK_FormFillEnvironment* pFormFillEnv) override; | 33 void OnDoc_DidSave(CPDFSDK_FormFillEnvironment* pFormFillEnv) override; |
| 35 void OnDoc_WillClose(CPDFSDK_FormFillEnvironment* pFormFillEnv) override; | 34 void OnDoc_WillClose(CPDFSDK_FormFillEnvironment* pFormFillEnv) override; |
| 36 void OnPage_Open(CPDFSDK_FormFillEnvironment* pFormFillEnv) override; | 35 void OnPage_Open(CPDFSDK_FormFillEnvironment* pFormFillEnv) override; |
| 37 void OnPage_Close(CPDFSDK_FormFillEnvironment* pFormFillEnv) override; | 36 void OnPage_Close(CPDFSDK_FormFillEnvironment* pFormFillEnv) override; |
| 38 void OnPage_InView(CPDFSDK_FormFillEnvironment* pFormFillEnv) override; | 37 void OnPage_InView(CPDFSDK_FormFillEnvironment* pFormFillEnv) override; |
| 39 void OnPage_OutView(CPDFSDK_FormFillEnvironment* pFormFillEnv) override; | 38 void OnPage_OutView(CPDFSDK_FormFillEnvironment* pFormFillEnv) override; |
| 40 void OnField_MouseDown(FX_BOOL bModifier, | 39 void OnField_MouseDown(bool bModifier, |
| 41 FX_BOOL bShift, | 40 bool bShift, |
| 42 CPDF_FormField* pTarget) override; | 41 CPDF_FormField* pTarget) override; |
| 43 void OnField_MouseEnter(FX_BOOL bModifier, | 42 void OnField_MouseEnter(bool bModifier, |
| 44 FX_BOOL bShift, | 43 bool bShift, |
| 45 CPDF_FormField* pTarget) override; | 44 CPDF_FormField* pTarget) override; |
| 46 void OnField_MouseExit(FX_BOOL bModifier, | 45 void OnField_MouseExit(bool bModifier, |
| 47 FX_BOOL bShift, | 46 bool bShift, |
| 48 CPDF_FormField* pTarget) override; | 47 CPDF_FormField* pTarget) override; |
| 49 void OnField_MouseUp(FX_BOOL bModifier, | 48 void OnField_MouseUp(bool bModifier, |
| 50 FX_BOOL bShift, | 49 bool bShift, |
| 51 CPDF_FormField* pTarget) override; | 50 CPDF_FormField* pTarget) override; |
| 52 void OnField_Focus(FX_BOOL bModifier, | 51 void OnField_Focus(bool bModifier, |
| 53 FX_BOOL bShift, | 52 bool bShift, |
| 54 CPDF_FormField* pTarget, | 53 CPDF_FormField* pTarget, |
| 55 const CFX_WideString& Value) override; | 54 const CFX_WideString& Value) override; |
| 56 void OnField_Blur(FX_BOOL bModifier, | 55 void OnField_Blur(bool bModifier, |
| 57 FX_BOOL bShift, | 56 bool bShift, |
| 58 CPDF_FormField* pTarget, | 57 CPDF_FormField* pTarget, |
| 59 const CFX_WideString& Value) override; | 58 const CFX_WideString& Value) override; |
| 60 void OnField_Calculate(CPDF_FormField* pSource, | 59 void OnField_Calculate(CPDF_FormField* pSource, |
| 61 CPDF_FormField* pTarget, | 60 CPDF_FormField* pTarget, |
| 62 CFX_WideString& Value, | 61 CFX_WideString& Value, |
| 63 FX_BOOL& bRc) override; | 62 bool& bRc) override; |
| 64 void OnField_Format(CPDF_FormField* pTarget, | 63 void OnField_Format(CPDF_FormField* pTarget, |
| 65 CFX_WideString& Value, | 64 CFX_WideString& Value, |
| 66 FX_BOOL bWillCommit) override; | 65 bool bWillCommit) override; |
| 67 void OnField_Keystroke(CFX_WideString& strChange, | 66 void OnField_Keystroke(CFX_WideString& strChange, |
| 68 const CFX_WideString& strChangeEx, | 67 const CFX_WideString& strChangeEx, |
| 69 FX_BOOL bKeyDown, | 68 bool bKeyDown, |
| 70 FX_BOOL bModifier, | 69 bool bModifier, |
| 71 int& nSelEnd, | 70 int& nSelEnd, |
| 72 int& nSelStart, | 71 int& nSelStart, |
| 73 FX_BOOL bShift, | 72 bool bShift, |
| 74 CPDF_FormField* pTarget, | 73 CPDF_FormField* pTarget, |
| 75 CFX_WideString& Value, | 74 CFX_WideString& Value, |
| 76 FX_BOOL bWillCommit, | 75 bool bWillCommit, |
| 77 FX_BOOL bFieldFull, | 76 bool bFieldFull, |
| 78 FX_BOOL& bRc) override; | 77 bool& bRc) override; |
| 79 void OnField_Validate(CFX_WideString& strChange, | 78 void OnField_Validate(CFX_WideString& strChange, |
| 80 const CFX_WideString& strChangeEx, | 79 const CFX_WideString& strChangeEx, |
| 81 FX_BOOL bKeyDown, | 80 bool bKeyDown, |
| 82 FX_BOOL bModifier, | 81 bool bModifier, |
| 83 FX_BOOL bShift, | 82 bool bShift, |
| 84 CPDF_FormField* pTarget, | 83 CPDF_FormField* pTarget, |
| 85 CFX_WideString& Value, | 84 CFX_WideString& Value, |
| 86 FX_BOOL& bRc) override; | 85 bool& bRc) override; |
| 87 void OnScreen_Focus(FX_BOOL bModifier, | 86 void OnScreen_Focus(bool bModifier, |
| 88 FX_BOOL bShift, | 87 bool bShift, |
| 89 CPDFSDK_Annot* pScreen) override; | 88 CPDFSDK_Annot* pScreen) override; |
| 90 void OnScreen_Blur(FX_BOOL bModifier, | 89 void OnScreen_Blur(bool bModifier, |
| 91 FX_BOOL bShift, | 90 bool bShift, |
| 92 CPDFSDK_Annot* pScreen) override; | 91 CPDFSDK_Annot* pScreen) override; |
| 93 void OnScreen_Open(FX_BOOL bModifier, | 92 void OnScreen_Open(bool bModifier, |
| 94 FX_BOOL bShift, | 93 bool bShift, |
| 95 CPDFSDK_Annot* pScreen) override; | 94 CPDFSDK_Annot* pScreen) override; |
| 96 void OnScreen_Close(FX_BOOL bModifier, | 95 void OnScreen_Close(bool bModifier, |
| 97 FX_BOOL bShift, | 96 bool bShift, |
| 98 CPDFSDK_Annot* pScreen) override; | 97 CPDFSDK_Annot* pScreen) override; |
| 99 void OnScreen_MouseDown(FX_BOOL bModifier, | 98 void OnScreen_MouseDown(bool bModifier, |
| 100 FX_BOOL bShift, | 99 bool bShift, |
| 101 CPDFSDK_Annot* pScreen) override; | 100 CPDFSDK_Annot* pScreen) override; |
| 102 void OnScreen_MouseUp(FX_BOOL bModifier, | 101 void OnScreen_MouseUp(bool bModifier, |
| 103 FX_BOOL bShift, | 102 bool bShift, |
| 104 CPDFSDK_Annot* pScreen) override; | 103 CPDFSDK_Annot* pScreen) override; |
| 105 void OnScreen_MouseEnter(FX_BOOL bModifier, | 104 void OnScreen_MouseEnter(bool bModifier, |
| 106 FX_BOOL bShift, | 105 bool bShift, |
| 107 CPDFSDK_Annot* pScreen) override; | 106 CPDFSDK_Annot* pScreen) override; |
| 108 void OnScreen_MouseExit(FX_BOOL bModifier, | 107 void OnScreen_MouseExit(bool bModifier, |
| 109 FX_BOOL bShift, | 108 bool bShift, |
| 110 CPDFSDK_Annot* pScreen) override; | 109 CPDFSDK_Annot* pScreen) override; |
| 111 void OnScreen_InView(FX_BOOL bModifier, | 110 void OnScreen_InView(bool bModifier, |
| 112 FX_BOOL bShift, | 111 bool bShift, |
| 113 CPDFSDK_Annot* pScreen) override; | 112 CPDFSDK_Annot* pScreen) override; |
| 114 void OnScreen_OutView(FX_BOOL bModifier, | 113 void OnScreen_OutView(bool bModifier, |
| 115 FX_BOOL bShift, | 114 bool bShift, |
| 116 CPDFSDK_Annot* pScreen) override; | 115 CPDFSDK_Annot* pScreen) override; |
| 117 void OnBookmark_MouseUp(CPDF_Bookmark* pBookMark) override; | 116 void OnBookmark_MouseUp(CPDF_Bookmark* pBookMark) override; |
| 118 void OnLink_MouseUp(CPDFSDK_FormFillEnvironment* pFormFillEnv) override; | 117 void OnLink_MouseUp(CPDFSDK_FormFillEnvironment* pFormFillEnv) override; |
| 119 void OnMenu_Exec(CPDFSDK_FormFillEnvironment* pFormFillEnv, | 118 void OnMenu_Exec(CPDFSDK_FormFillEnvironment* pFormFillEnv, |
| 120 const CFX_WideString& strTargetName) override; | 119 const CFX_WideString& strTargetName) override; |
| 121 void OnBatchExec(CPDFSDK_FormFillEnvironment* pFormFillEnv) override; | 120 void OnBatchExec(CPDFSDK_FormFillEnvironment* pFormFillEnv) override; |
| 122 void OnConsole_Exec() override; | 121 void OnConsole_Exec() override; |
| 123 void OnExternal_Exec() override; | 122 void OnExternal_Exec() override; |
| 124 | 123 |
| 125 CJS_Runtime* GetJSRuntime() const { return m_pRuntime; } | 124 CJS_Runtime* GetJSRuntime() const { return m_pRuntime; } |
| 126 CJS_EventHandler* GetEventHandler() const { return m_pEventHandler.get(); } | 125 CJS_EventHandler* GetEventHandler() const { return m_pEventHandler.get(); } |
| 127 | 126 |
| 128 CPDFSDK_FormFillEnvironment* GetFormFillEnv(); | 127 CPDFSDK_FormFillEnvironment* GetFormFillEnv(); |
| 129 | 128 |
| 130 private: | 129 private: |
| 131 CJS_Runtime* const m_pRuntime; | 130 CJS_Runtime* const m_pRuntime; |
| 132 std::unique_ptr<CJS_EventHandler> m_pEventHandler; | 131 std::unique_ptr<CJS_EventHandler> m_pEventHandler; |
| 133 FX_BOOL m_bBusy; | 132 bool m_bBusy; |
| 134 }; | 133 }; |
| 135 | 134 |
| 136 #endif // FPDFSDK_JAVASCRIPT_CJS_CONTEXT_H_ | 135 #endif // FPDFSDK_JAVASCRIPT_CJS_CONTEXT_H_ |
| OLD | NEW |