1*3ac0a46fSAndroid Build Coastguard Worker // Copyright 2017 The PDFium Authors
2*3ac0a46fSAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be
3*3ac0a46fSAndroid Build Coastguard Worker // found in the LICENSE file.
4*3ac0a46fSAndroid Build Coastguard Worker
5*3ac0a46fSAndroid Build Coastguard Worker // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6*3ac0a46fSAndroid Build Coastguard Worker
7*3ac0a46fSAndroid Build Coastguard Worker #include "fxjs/xfa/cjx_source.h"
8*3ac0a46fSAndroid Build Coastguard Worker
9*3ac0a46fSAndroid Build Coastguard Worker #include <vector>
10*3ac0a46fSAndroid Build Coastguard Worker
11*3ac0a46fSAndroid Build Coastguard Worker #include "fxjs/js_resources.h"
12*3ac0a46fSAndroid Build Coastguard Worker #include "fxjs/xfa/cfxjse_value.h"
13*3ac0a46fSAndroid Build Coastguard Worker #include "xfa/fxfa/parser/cxfa_source.h"
14*3ac0a46fSAndroid Build Coastguard Worker
15*3ac0a46fSAndroid Build Coastguard Worker const CJX_MethodSpec CJX_Source::MethodSpecs[] = {
16*3ac0a46fSAndroid Build Coastguard Worker {"addNew", addNew_static},
17*3ac0a46fSAndroid Build Coastguard Worker {"cancel", cancel_static},
18*3ac0a46fSAndroid Build Coastguard Worker {"cancelBatch", cancelBatch_static},
19*3ac0a46fSAndroid Build Coastguard Worker {"close", close_static},
20*3ac0a46fSAndroid Build Coastguard Worker {"delete", deleteItem_static},
21*3ac0a46fSAndroid Build Coastguard Worker {"first", first_static},
22*3ac0a46fSAndroid Build Coastguard Worker {"hasDataChanged", hasDataChanged_static},
23*3ac0a46fSAndroid Build Coastguard Worker {"isBOF", isBOF_static},
24*3ac0a46fSAndroid Build Coastguard Worker {"isEOF", isEOF_static},
25*3ac0a46fSAndroid Build Coastguard Worker {"last", last_static},
26*3ac0a46fSAndroid Build Coastguard Worker {"next", next_static},
27*3ac0a46fSAndroid Build Coastguard Worker {"open", open_static},
28*3ac0a46fSAndroid Build Coastguard Worker {"previous", previous_static},
29*3ac0a46fSAndroid Build Coastguard Worker {"requery", requery_static},
30*3ac0a46fSAndroid Build Coastguard Worker {"resync", resync_static},
31*3ac0a46fSAndroid Build Coastguard Worker {"update", update_static},
32*3ac0a46fSAndroid Build Coastguard Worker {"updateBatch", updateBatch_static}};
33*3ac0a46fSAndroid Build Coastguard Worker
CJX_Source(CXFA_Source * src)34*3ac0a46fSAndroid Build Coastguard Worker CJX_Source::CJX_Source(CXFA_Source* src) : CJX_Node(src) {
35*3ac0a46fSAndroid Build Coastguard Worker DefineMethods(MethodSpecs);
36*3ac0a46fSAndroid Build Coastguard Worker }
37*3ac0a46fSAndroid Build Coastguard Worker
38*3ac0a46fSAndroid Build Coastguard Worker CJX_Source::~CJX_Source() = default;
39*3ac0a46fSAndroid Build Coastguard Worker
DynamicTypeIs(TypeTag eType) const40*3ac0a46fSAndroid Build Coastguard Worker bool CJX_Source::DynamicTypeIs(TypeTag eType) const {
41*3ac0a46fSAndroid Build Coastguard Worker return eType == static_type__ || ParentType__::DynamicTypeIs(eType);
42*3ac0a46fSAndroid Build Coastguard Worker }
43*3ac0a46fSAndroid Build Coastguard Worker
next(CFXJSE_Engine * runtime,const std::vector<v8::Local<v8::Value>> & params)44*3ac0a46fSAndroid Build Coastguard Worker CJS_Result CJX_Source::next(CFXJSE_Engine* runtime,
45*3ac0a46fSAndroid Build Coastguard Worker const std::vector<v8::Local<v8::Value>>& params) {
46*3ac0a46fSAndroid Build Coastguard Worker if (!params.empty())
47*3ac0a46fSAndroid Build Coastguard Worker return CJS_Result::Failure(JSMessage::kParamError);
48*3ac0a46fSAndroid Build Coastguard Worker
49*3ac0a46fSAndroid Build Coastguard Worker return CJS_Result::Success();
50*3ac0a46fSAndroid Build Coastguard Worker }
51*3ac0a46fSAndroid Build Coastguard Worker
cancelBatch(CFXJSE_Engine * runtime,const std::vector<v8::Local<v8::Value>> & params)52*3ac0a46fSAndroid Build Coastguard Worker CJS_Result CJX_Source::cancelBatch(
53*3ac0a46fSAndroid Build Coastguard Worker CFXJSE_Engine* runtime,
54*3ac0a46fSAndroid Build Coastguard Worker const std::vector<v8::Local<v8::Value>>& params) {
55*3ac0a46fSAndroid Build Coastguard Worker if (!params.empty())
56*3ac0a46fSAndroid Build Coastguard Worker return CJS_Result::Failure(JSMessage::kParamError);
57*3ac0a46fSAndroid Build Coastguard Worker
58*3ac0a46fSAndroid Build Coastguard Worker return CJS_Result::Success();
59*3ac0a46fSAndroid Build Coastguard Worker }
60*3ac0a46fSAndroid Build Coastguard Worker
first(CFXJSE_Engine * runtime,const std::vector<v8::Local<v8::Value>> & params)61*3ac0a46fSAndroid Build Coastguard Worker CJS_Result CJX_Source::first(CFXJSE_Engine* runtime,
62*3ac0a46fSAndroid Build Coastguard Worker const std::vector<v8::Local<v8::Value>>& params) {
63*3ac0a46fSAndroid Build Coastguard Worker if (!params.empty())
64*3ac0a46fSAndroid Build Coastguard Worker return CJS_Result::Failure(JSMessage::kParamError);
65*3ac0a46fSAndroid Build Coastguard Worker
66*3ac0a46fSAndroid Build Coastguard Worker return CJS_Result::Success();
67*3ac0a46fSAndroid Build Coastguard Worker }
68*3ac0a46fSAndroid Build Coastguard Worker
updateBatch(CFXJSE_Engine * runtime,const std::vector<v8::Local<v8::Value>> & params)69*3ac0a46fSAndroid Build Coastguard Worker CJS_Result CJX_Source::updateBatch(
70*3ac0a46fSAndroid Build Coastguard Worker CFXJSE_Engine* runtime,
71*3ac0a46fSAndroid Build Coastguard Worker const std::vector<v8::Local<v8::Value>>& params) {
72*3ac0a46fSAndroid Build Coastguard Worker if (!params.empty())
73*3ac0a46fSAndroid Build Coastguard Worker return CJS_Result::Failure(JSMessage::kParamError);
74*3ac0a46fSAndroid Build Coastguard Worker
75*3ac0a46fSAndroid Build Coastguard Worker return CJS_Result::Success();
76*3ac0a46fSAndroid Build Coastguard Worker }
77*3ac0a46fSAndroid Build Coastguard Worker
previous(CFXJSE_Engine * runtime,const std::vector<v8::Local<v8::Value>> & params)78*3ac0a46fSAndroid Build Coastguard Worker CJS_Result CJX_Source::previous(
79*3ac0a46fSAndroid Build Coastguard Worker CFXJSE_Engine* runtime,
80*3ac0a46fSAndroid Build Coastguard Worker const std::vector<v8::Local<v8::Value>>& params) {
81*3ac0a46fSAndroid Build Coastguard Worker if (!params.empty())
82*3ac0a46fSAndroid Build Coastguard Worker return CJS_Result::Failure(JSMessage::kParamError);
83*3ac0a46fSAndroid Build Coastguard Worker
84*3ac0a46fSAndroid Build Coastguard Worker return CJS_Result::Success();
85*3ac0a46fSAndroid Build Coastguard Worker }
86*3ac0a46fSAndroid Build Coastguard Worker
isBOF(CFXJSE_Engine * runtime,const std::vector<v8::Local<v8::Value>> & params)87*3ac0a46fSAndroid Build Coastguard Worker CJS_Result CJX_Source::isBOF(CFXJSE_Engine* runtime,
88*3ac0a46fSAndroid Build Coastguard Worker const std::vector<v8::Local<v8::Value>>& params) {
89*3ac0a46fSAndroid Build Coastguard Worker if (!params.empty())
90*3ac0a46fSAndroid Build Coastguard Worker return CJS_Result::Failure(JSMessage::kParamError);
91*3ac0a46fSAndroid Build Coastguard Worker
92*3ac0a46fSAndroid Build Coastguard Worker return CJS_Result::Success();
93*3ac0a46fSAndroid Build Coastguard Worker }
94*3ac0a46fSAndroid Build Coastguard Worker
isEOF(CFXJSE_Engine * runtime,const std::vector<v8::Local<v8::Value>> & params)95*3ac0a46fSAndroid Build Coastguard Worker CJS_Result CJX_Source::isEOF(CFXJSE_Engine* runtime,
96*3ac0a46fSAndroid Build Coastguard Worker const std::vector<v8::Local<v8::Value>>& params) {
97*3ac0a46fSAndroid Build Coastguard Worker if (!params.empty())
98*3ac0a46fSAndroid Build Coastguard Worker return CJS_Result::Failure(JSMessage::kParamError);
99*3ac0a46fSAndroid Build Coastguard Worker
100*3ac0a46fSAndroid Build Coastguard Worker return CJS_Result::Success();
101*3ac0a46fSAndroid Build Coastguard Worker }
102*3ac0a46fSAndroid Build Coastguard Worker
cancel(CFXJSE_Engine * runtime,const std::vector<v8::Local<v8::Value>> & params)103*3ac0a46fSAndroid Build Coastguard Worker CJS_Result CJX_Source::cancel(CFXJSE_Engine* runtime,
104*3ac0a46fSAndroid Build Coastguard Worker const std::vector<v8::Local<v8::Value>>& params) {
105*3ac0a46fSAndroid Build Coastguard Worker if (!params.empty())
106*3ac0a46fSAndroid Build Coastguard Worker return CJS_Result::Failure(JSMessage::kParamError);
107*3ac0a46fSAndroid Build Coastguard Worker
108*3ac0a46fSAndroid Build Coastguard Worker return CJS_Result::Success();
109*3ac0a46fSAndroid Build Coastguard Worker }
110*3ac0a46fSAndroid Build Coastguard Worker
update(CFXJSE_Engine * runtime,const std::vector<v8::Local<v8::Value>> & params)111*3ac0a46fSAndroid Build Coastguard Worker CJS_Result CJX_Source::update(CFXJSE_Engine* runtime,
112*3ac0a46fSAndroid Build Coastguard Worker const std::vector<v8::Local<v8::Value>>& params) {
113*3ac0a46fSAndroid Build Coastguard Worker if (!params.empty())
114*3ac0a46fSAndroid Build Coastguard Worker return CJS_Result::Failure(JSMessage::kParamError);
115*3ac0a46fSAndroid Build Coastguard Worker
116*3ac0a46fSAndroid Build Coastguard Worker return CJS_Result::Success();
117*3ac0a46fSAndroid Build Coastguard Worker }
118*3ac0a46fSAndroid Build Coastguard Worker
open(CFXJSE_Engine * runtime,const std::vector<v8::Local<v8::Value>> & params)119*3ac0a46fSAndroid Build Coastguard Worker CJS_Result CJX_Source::open(CFXJSE_Engine* runtime,
120*3ac0a46fSAndroid Build Coastguard Worker const std::vector<v8::Local<v8::Value>>& params) {
121*3ac0a46fSAndroid Build Coastguard Worker if (!params.empty())
122*3ac0a46fSAndroid Build Coastguard Worker return CJS_Result::Failure(JSMessage::kParamError);
123*3ac0a46fSAndroid Build Coastguard Worker
124*3ac0a46fSAndroid Build Coastguard Worker return CJS_Result::Success();
125*3ac0a46fSAndroid Build Coastguard Worker }
126*3ac0a46fSAndroid Build Coastguard Worker
deleteItem(CFXJSE_Engine * runtime,const std::vector<v8::Local<v8::Value>> & params)127*3ac0a46fSAndroid Build Coastguard Worker CJS_Result CJX_Source::deleteItem(
128*3ac0a46fSAndroid Build Coastguard Worker CFXJSE_Engine* runtime,
129*3ac0a46fSAndroid Build Coastguard Worker const std::vector<v8::Local<v8::Value>>& params) {
130*3ac0a46fSAndroid Build Coastguard Worker if (!params.empty())
131*3ac0a46fSAndroid Build Coastguard Worker return CJS_Result::Failure(JSMessage::kParamError);
132*3ac0a46fSAndroid Build Coastguard Worker
133*3ac0a46fSAndroid Build Coastguard Worker return CJS_Result::Success();
134*3ac0a46fSAndroid Build Coastguard Worker }
135*3ac0a46fSAndroid Build Coastguard Worker
addNew(CFXJSE_Engine * runtime,const std::vector<v8::Local<v8::Value>> & params)136*3ac0a46fSAndroid Build Coastguard Worker CJS_Result CJX_Source::addNew(CFXJSE_Engine* runtime,
137*3ac0a46fSAndroid Build Coastguard Worker const std::vector<v8::Local<v8::Value>>& params) {
138*3ac0a46fSAndroid Build Coastguard Worker if (!params.empty())
139*3ac0a46fSAndroid Build Coastguard Worker return CJS_Result::Failure(JSMessage::kParamError);
140*3ac0a46fSAndroid Build Coastguard Worker
141*3ac0a46fSAndroid Build Coastguard Worker return CJS_Result::Success();
142*3ac0a46fSAndroid Build Coastguard Worker }
143*3ac0a46fSAndroid Build Coastguard Worker
requery(CFXJSE_Engine * runtime,const std::vector<v8::Local<v8::Value>> & params)144*3ac0a46fSAndroid Build Coastguard Worker CJS_Result CJX_Source::requery(
145*3ac0a46fSAndroid Build Coastguard Worker CFXJSE_Engine* runtime,
146*3ac0a46fSAndroid Build Coastguard Worker const std::vector<v8::Local<v8::Value>>& params) {
147*3ac0a46fSAndroid Build Coastguard Worker if (!params.empty())
148*3ac0a46fSAndroid Build Coastguard Worker return CJS_Result::Failure(JSMessage::kParamError);
149*3ac0a46fSAndroid Build Coastguard Worker
150*3ac0a46fSAndroid Build Coastguard Worker return CJS_Result::Success();
151*3ac0a46fSAndroid Build Coastguard Worker }
152*3ac0a46fSAndroid Build Coastguard Worker
resync(CFXJSE_Engine * runtime,const std::vector<v8::Local<v8::Value>> & params)153*3ac0a46fSAndroid Build Coastguard Worker CJS_Result CJX_Source::resync(CFXJSE_Engine* runtime,
154*3ac0a46fSAndroid Build Coastguard Worker const std::vector<v8::Local<v8::Value>>& params) {
155*3ac0a46fSAndroid Build Coastguard Worker if (!params.empty())
156*3ac0a46fSAndroid Build Coastguard Worker return CJS_Result::Failure(JSMessage::kParamError);
157*3ac0a46fSAndroid Build Coastguard Worker
158*3ac0a46fSAndroid Build Coastguard Worker return CJS_Result::Success();
159*3ac0a46fSAndroid Build Coastguard Worker }
160*3ac0a46fSAndroid Build Coastguard Worker
close(CFXJSE_Engine * runtime,const std::vector<v8::Local<v8::Value>> & params)161*3ac0a46fSAndroid Build Coastguard Worker CJS_Result CJX_Source::close(CFXJSE_Engine* runtime,
162*3ac0a46fSAndroid Build Coastguard Worker const std::vector<v8::Local<v8::Value>>& params) {
163*3ac0a46fSAndroid Build Coastguard Worker if (!params.empty())
164*3ac0a46fSAndroid Build Coastguard Worker return CJS_Result::Failure(JSMessage::kParamError);
165*3ac0a46fSAndroid Build Coastguard Worker
166*3ac0a46fSAndroid Build Coastguard Worker return CJS_Result::Success();
167*3ac0a46fSAndroid Build Coastguard Worker }
168*3ac0a46fSAndroid Build Coastguard Worker
last(CFXJSE_Engine * runtime,const std::vector<v8::Local<v8::Value>> & params)169*3ac0a46fSAndroid Build Coastguard Worker CJS_Result CJX_Source::last(CFXJSE_Engine* runtime,
170*3ac0a46fSAndroid Build Coastguard Worker const std::vector<v8::Local<v8::Value>>& params) {
171*3ac0a46fSAndroid Build Coastguard Worker if (!params.empty())
172*3ac0a46fSAndroid Build Coastguard Worker return CJS_Result::Failure(JSMessage::kParamError);
173*3ac0a46fSAndroid Build Coastguard Worker
174*3ac0a46fSAndroid Build Coastguard Worker return CJS_Result::Success();
175*3ac0a46fSAndroid Build Coastguard Worker }
176*3ac0a46fSAndroid Build Coastguard Worker
hasDataChanged(CFXJSE_Engine * runtime,const std::vector<v8::Local<v8::Value>> & params)177*3ac0a46fSAndroid Build Coastguard Worker CJS_Result CJX_Source::hasDataChanged(
178*3ac0a46fSAndroid Build Coastguard Worker CFXJSE_Engine* runtime,
179*3ac0a46fSAndroid Build Coastguard Worker const std::vector<v8::Local<v8::Value>>& params) {
180*3ac0a46fSAndroid Build Coastguard Worker if (!params.empty())
181*3ac0a46fSAndroid Build Coastguard Worker return CJS_Result::Failure(JSMessage::kParamError);
182*3ac0a46fSAndroid Build Coastguard Worker
183*3ac0a46fSAndroid Build Coastguard Worker return CJS_Result::Success();
184*3ac0a46fSAndroid Build Coastguard Worker }
185*3ac0a46fSAndroid Build Coastguard Worker
db(v8::Isolate * pIsolate,v8::Local<v8::Value> * pValue,bool bSetting,XFA_Attribute eAttribute)186*3ac0a46fSAndroid Build Coastguard Worker void CJX_Source::db(v8::Isolate* pIsolate,
187*3ac0a46fSAndroid Build Coastguard Worker v8::Local<v8::Value>* pValue,
188*3ac0a46fSAndroid Build Coastguard Worker bool bSetting,
189*3ac0a46fSAndroid Build Coastguard Worker XFA_Attribute eAttribute) {}
190