1 // Copyright 2017 The PDFium Authors 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 6 7 #include "fxjs/xfa/cjx_manifest.h" 8 9 #include "core/fxcrt/span.h" 10 #include "fxjs/cfx_v8.h" 11 #include "fxjs/js_resources.h" 12 #include "fxjs/xfa/cfxjse_value.h" 13 #include "v8/include/v8-primitive.h" 14 #include "xfa/fxfa/parser/cxfa_manifest.h" 15 16 const CJX_MethodSpec CJX_Manifest::MethodSpecs[] = { 17 {"evaluate", evaluate_static}}; 18 CJX_Manifest(CXFA_Manifest * manifest)19CJX_Manifest::CJX_Manifest(CXFA_Manifest* manifest) : CJX_Node(manifest) { 20 DefineMethods(MethodSpecs); 21 } 22 23 CJX_Manifest::~CJX_Manifest() = default; 24 DynamicTypeIs(TypeTag eType) const25bool CJX_Manifest::DynamicTypeIs(TypeTag eType) const { 26 return eType == static_type__ || ParentType__::DynamicTypeIs(eType); 27 } 28 evaluate(CFXJSE_Engine * runtime,pdfium::span<v8::Local<v8::Value>> params)29CJS_Result CJX_Manifest::evaluate(CFXJSE_Engine* runtime, 30 pdfium::span<v8::Local<v8::Value>> params) { 31 if (!params.empty()) 32 return CJS_Result::Failure(JSMessage::kParamError); 33 34 return CJS_Result::Success( 35 runtime->NewBoolean(GetXFANode()->IsWidgetReady())); 36 } 37