From 8f524d6ff9c5c5e07388438e58aca7dc39f43a1f Mon Sep 17 00:00:00 2001 From: Dan Sinclair Date: Wed, 25 Oct 2017 13:30:31 -0400 Subject: Refactor JS method parameters and return values. This CL removes the out parameters from the JS methods and changes the return from a |bool| to a |CJS_Return| value. The return value holds the returned v8 object, error string and a status code. Change-Id: I82488ff0d916475d7e3c8e51ed868639806181c9 Reviewed-on: https://pdfium-review.googlesource.com/16751 Reviewed-by: Tom Sepez Commit-Queue: dsinclair --- fpdfsdk/javascript/JS_Value.h | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'fpdfsdk/javascript/JS_Value.h') diff --git a/fpdfsdk/javascript/JS_Value.h b/fpdfsdk/javascript/JS_Value.h index b97a7061e3..c508fe80d7 100644 --- a/fpdfsdk/javascript/JS_Value.h +++ b/fpdfsdk/javascript/JS_Value.h @@ -17,6 +17,28 @@ class CJS_Document; class CJS_Object; class CJS_Runtime; +class CJS_Return { + public: + explicit CJS_Return(bool); + explicit CJS_Return(const WideString&); + explicit CJS_Return(v8::Local); + CJS_Return(const CJS_Return&); + ~CJS_Return(); + + bool HasError() const { return is_error_; } + WideString Error() const { return error_; } + + bool HasReturn() const { return !return_.IsEmpty(); } + v8::Local Return() const { return return_; } + + private: + CJS_Return() = delete; + + bool is_error_ = false; + WideString error_; + v8::Local return_; +}; + class CJS_Value { public: CJS_Value(); -- cgit v1.2.3