summaryrefslogtreecommitdiff
path: root/fxjs/cjs_util.h
diff options
context:
space:
mode:
authorDan Sinclair <dsinclair@chromium.org>2017-10-30 20:20:42 +0000
committerChromium commit bot <commit-bot@chromium.org>2017-10-30 20:20:42 +0000
commite0345a4aecfd16264d393234cf8fe22250d771fe (patch)
tree046f8e6c074b8525d6cf71daf4f2039582fb572a /fxjs/cjs_util.h
parent341ec6256457c53d50f2d0a0667e61041d4d89be (diff)
downloadpdfium-e0345a4aecfd16264d393234cf8fe22250d771fe.tar.xz
Move fpdfsdk/javascript to fxjs/
This CL moves all of the CJS files into fxjs. The :javascript build rule is removed and :fxjs is used instead. Change-Id: I1701b308f51317d0346c7401b43812c3f43a27bf Reviewed-on: https://pdfium-review.googlesource.com/17047 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org>
Diffstat (limited to 'fxjs/cjs_util.h')
-rw-r--r--fxjs/cjs_util.h63
1 files changed, 63 insertions, 0 deletions
diff --git a/fxjs/cjs_util.h b/fxjs/cjs_util.h
new file mode 100644
index 0000000000..cc2026dfc7
--- /dev/null
+++ b/fxjs/cjs_util.h
@@ -0,0 +1,63 @@
+// Copyright 2014 PDFium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
+
+#ifndef FXJS_CJS_UTIL_H_
+#define FXJS_CJS_UTIL_H_
+
+#include <string>
+#include <vector>
+
+#include "fxjs/JS_Define.h"
+
+// Return values for ParseDataType() below.
+#define UTIL_INT 0
+#define UTIL_DOUBLE 1
+#define UTIL_STRING 2
+
+class util : public CJS_EmbedObj {
+ public:
+ explicit util(CJS_Object* pJSObject);
+ ~util() override;
+
+ CJS_Return printd(CJS_Runtime* pRuntime,
+ const std::vector<v8::Local<v8::Value>>& params);
+ CJS_Return printf(CJS_Runtime* pRuntime,
+ const std::vector<v8::Local<v8::Value>>& params);
+ CJS_Return printx(CJS_Runtime* pRuntime,
+ const std::vector<v8::Local<v8::Value>>& params);
+ CJS_Return scand(CJS_Runtime* pRuntime,
+ const std::vector<v8::Local<v8::Value>>& params);
+ CJS_Return byteToChar(CJS_Runtime* pRuntime,
+ const std::vector<v8::Local<v8::Value>>& params);
+
+ static WideString printx(const WideString& cFormat,
+ const WideString& cSource);
+
+ private:
+ friend class CJS_Util_ParseDataType_Test;
+
+ static int ParseDataType(std::wstring* sFormat);
+};
+
+class CJS_Util : public CJS_Object {
+ public:
+ static void DefineJSObjects(CFXJS_Engine* pEngine);
+
+ explicit CJS_Util(v8::Local<v8::Object> pObject) : CJS_Object(pObject) {}
+ ~CJS_Util() override {}
+
+ JS_STATIC_METHOD(printd, util);
+ JS_STATIC_METHOD(printf, util);
+ JS_STATIC_METHOD(printx, util);
+ JS_STATIC_METHOD(scand, util);
+ JS_STATIC_METHOD(byteToChar, util);
+
+ private:
+ static int ObjDefnID;
+ static const JSMethodSpec MethodSpecs[];
+};
+
+#endif // FXJS_CJS_UTIL_H_