From cbe23dbdff3f6e41843fd99cbf615000b52727ed Mon Sep 17 00:00:00 2001 From: dan sinclair Date: Thu, 19 Oct 2017 14:29:33 -0400 Subject: Refactoring JS Callbacks. This CL updates the fpdfsdk/javascript callbacks to have explicit get/set methods instead of one method which worked differently depending on the mode. This allows better ownership of the passed in params, (get takes a * and set takes a const&). The Value object was changed to have To* and Set methods to make the code clearer compared to the operator<< and operator>> overloading. Bug: Change-Id: Id6ff20a4e3252adfd0a78b643e50b9f095085018 Reviewed-on: https://pdfium-review.googlesource.com/16330 Reviewed-by: Tom Sepez Commit-Queue: dsinclair --- fpdfsdk/javascript/Annot.h | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) (limited to 'fpdfsdk/javascript/Annot.h') diff --git a/fpdfsdk/javascript/Annot.h b/fpdfsdk/javascript/Annot.h index d70f96a179..c5fb3f2e1e 100644 --- a/fpdfsdk/javascript/Annot.h +++ b/fpdfsdk/javascript/Annot.h @@ -17,9 +17,20 @@ class Annot : public CJS_EmbedObj { explicit Annot(CJS_Object* pJSObject); ~Annot() override; - bool hidden(CJS_Runtime* pRuntime, CJS_PropValue& vp, WideString& sError); - bool name(CJS_Runtime* pRuntime, CJS_PropValue& vp, WideString& sError); - bool type(CJS_Runtime* pRuntime, CJS_PropValue& vp, WideString& sError); + bool get_hidden(CJS_Runtime* pRuntime, CJS_PropValue* vp, WideString* sError); + bool set_hidden(CJS_Runtime* pRuntime, + const CJS_PropValue& vp, + WideString* sError); + + bool get_name(CJS_Runtime* pRuntime, CJS_PropValue* vp, WideString* sError); + bool set_name(CJS_Runtime* pRuntime, + const CJS_PropValue& vp, + WideString* sError); + + bool get_type(CJS_Runtime* pRuntime, CJS_PropValue* vp, WideString* sError); + bool set_type(CJS_Runtime* pRuntime, + const CJS_PropValue& vp, + WideString* sError); void SetSDKAnnot(CPDFSDK_BAAnnot* annot); @@ -33,9 +44,9 @@ class CJS_Annot : public CJS_Object { ~CJS_Annot() override {} DECLARE_JS_CLASS(); - JS_STATIC_PROP(hidden, Annot); - JS_STATIC_PROP(name, Annot); - JS_STATIC_PROP(type, Annot); + JS_STATIC_PROP(hidden, hidden, Annot); + JS_STATIC_PROP(name, name, Annot); + JS_STATIC_PROP(type, type, Annot); }; #endif // FPDFSDK_JAVASCRIPT_ANNOT_H_ -- cgit v1.2.3