summaryrefslogtreecommitdiff
path: root/fxjs/cfxjse_engine.h
diff options
context:
space:
mode:
authorDan Sinclair <dsinclair@chromium.org>2018-06-05 18:24:12 +0000
committerChromium commit bot <commit-bot@chromium.org>2018-06-05 18:24:12 +0000
commite9f7db9dbb2c5b9d1953c6643e1c38f82130f98b (patch)
tree8918f344abae83984dcd976dbe2a19bf0b0bcc1c /fxjs/cfxjse_engine.h
parent22de733a693f27c90f58ee13cfd398c55d9a064f (diff)
downloadpdfium-e9f7db9dbb2c5b9d1953c6643e1c38f82130f98b.tar.xz
[xfa] Make the event context available when calling back in XFA
When calling into the XFA JS engine with a request for a non-XFA JS call which accesses the EventContext we would get a crash in XFA as we never set the context. This CL changes the XFA code to accept the CJS_Runtime instead of the CFXJS_Engine and then calls NewEventContext before executing JS scripts. This will correctly setup the event context as needed for any JS callbacks. Bug: pdfium:1003 Change-Id: Icf202252b2e6e56afdf0d1766a32a893935a2fd3 Reviewed-on: https://pdfium-review.googlesource.com/33930 Reviewed-by: Tom Sepez <tsepez@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
Diffstat (limited to 'fxjs/cfxjse_engine.h')
-rw-r--r--fxjs/cfxjse_engine.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/fxjs/cfxjse_engine.h b/fxjs/cfxjse_engine.h
index dc05f0ddf8..62de0614c4 100644
--- a/fxjs/cfxjse_engine.h
+++ b/fxjs/cfxjse_engine.h
@@ -23,7 +23,7 @@
#define XFA_RESOLVENODE_TagName 0x0002
class CFXJSE_ResolveProcessor;
-class CFXJS_Engine;
+class CJS_Runtime;
class CXFA_List;
class CFXJSE_Engine : public CFX_V8 {
@@ -52,7 +52,7 @@ class CFXJSE_Engine : public CFX_V8 {
const ByteStringView& szPropName,
bool bQueryIn);
- CFXJSE_Engine(CXFA_Document* pDocument, CFXJS_Engine* fxjs_engine);
+ CFXJSE_Engine(CXFA_Document* pDocument, CJS_Runtime* fxjs_runtime);
~CFXJSE_Engine() override;
void SetEventParam(CXFA_EventParam* param) { m_eventParam = param; }
@@ -107,7 +107,7 @@ class CFXJSE_Engine : public CFX_V8 {
bool bGetter);
bool RunVariablesScript(CXFA_Node* pScriptNode);
- UnownedPtr<CFXJS_Engine> const m_pSubordinateEngine;
+ UnownedPtr<CJS_Runtime> const m_pSubordinateRuntime;
UnownedPtr<CXFA_Document> const m_pDocument;
std::unique_ptr<CFXJSE_Context> m_JsContext;
CFXJSE_Class* m_pJsClass;