diff options
author | Tom Sepez <tsepez@chromium.org> | 2015-10-09 13:14:47 -0700 |
---|---|---|
committer | Tom Sepez <tsepez@chromium.org> | 2015-10-09 13:14:47 -0700 |
commit | 848a13b6777cbff8cc4aea3ab3d69eaa0b82ae6c (patch) | |
tree | d2c3a5ee4f67227ac33199f6d10caaf204c92896 /fpdfsdk/include/javascript | |
parent | f1c713663192368d26031a4caed1f9705f4510af (diff) | |
download | pdfium-848a13b6777cbff8cc4aea3ab3d69eaa0b82ae6c.tar.xz |
Pass IJS_Runtime, not IJS_Context, to native object constructors.
This better separates the two IJS_ classes, with the IJS_Context
taking on its proper role of describing an event. There's no need
for the event details for object creation, so this gets much
cleaner.
Move some JS error reporting code from CJS_Context to CJS_Runtime.
Make InitInstance() and ExitInstance() voids, they always return
TRUE and we never check the result anyways.
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1389163007 .
Diffstat (limited to 'fpdfsdk/include/javascript')
-rw-r--r-- | fpdfsdk/include/javascript/IJavaScript.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/fpdfsdk/include/javascript/IJavaScript.h b/fpdfsdk/include/javascript/IJavaScript.h index bf90210794..c4c5d0d053 100644 --- a/fpdfsdk/include/javascript/IJavaScript.h +++ b/fpdfsdk/include/javascript/IJavaScript.h @@ -16,10 +16,11 @@ class CPDFSDK_Document; class CPDF_Bookmark; class CPDF_FormField; +// Records the details of an event and triggers JS execution for it. class IJS_Context { public: virtual FX_BOOL RunScript(const CFX_WideString& script, - CFX_WideString& info) = 0; + CFX_WideString* info) = 0; virtual void OnApp_Init() = 0; @@ -131,6 +132,7 @@ class IJS_Context { virtual ~IJS_Context() {} }; +// Owns the FJXS objects needed to actually execute JS. class IJS_Runtime { public: static void Initialize(unsigned int slot, void* isolate); @@ -142,6 +144,9 @@ class IJS_Runtime { virtual IJS_Context* GetCurrentContext() = 0; virtual void SetReaderDocument(CPDFSDK_Document* pReaderDoc) = 0; virtual CPDFSDK_Document* GetReaderDocument() = 0; + virtual int Execute(IJS_Context* cc, + const wchar_t* script, + CFX_WideString* info) = 0; protected: IJS_Runtime() {} |