summaryrefslogtreecommitdiff
path: root/fpdfsdk/javascript/JS_Value.h
diff options
context:
space:
mode:
authorDan Sinclair <dsinclair@chromium.org>2017-10-25 13:30:31 -0400
committerChromium commit bot <commit-bot@chromium.org>2017-10-25 18:40:45 +0000
commit8f524d6ff9c5c5e07388438e58aca7dc39f43a1f (patch)
treeec73d24ebdfb84e0c9a254a35912edc5ab54dae7 /fpdfsdk/javascript/JS_Value.h
parent2474a3b2d9fe987dac58813771f1fa66427e124f (diff)
downloadpdfium-8f524d6ff9c5c5e07388438e58aca7dc39f43a1f.tar.xz
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 <tsepez@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
Diffstat (limited to 'fpdfsdk/javascript/JS_Value.h')
-rw-r--r--fpdfsdk/javascript/JS_Value.h22
1 files changed, 22 insertions, 0 deletions
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<v8::Value>);
+ 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<v8::Value> Return() const { return return_; }
+
+ private:
+ CJS_Return() = delete;
+
+ bool is_error_ = false;
+ WideString error_;
+ v8::Local<v8::Value> return_;
+};
+
class CJS_Value {
public:
CJS_Value();