1 // Copyright 2016 PDFium Authors. All rights reserved. 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 "core/fpdfdoc/cpdf_docjsactions.h" 8 9 #include "core/fpdfdoc/cpdf_nametree.h" 10 CPDF_DocJSActions(CPDF_Document * pDoc)11CPDF_DocJSActions::CPDF_DocJSActions(CPDF_Document* pDoc) : m_pDocument(pDoc) {} 12 CountJSActions() const13int CPDF_DocJSActions::CountJSActions() const { 14 ASSERT(m_pDocument); 15 CPDF_NameTree name_tree(m_pDocument, "JavaScript"); 16 return name_tree.GetCount(); 17 } 18 GetJSAction(int index,CFX_ByteString & csName) const19CPDF_Action CPDF_DocJSActions::GetJSAction(int index, 20 CFX_ByteString& csName) const { 21 ASSERT(m_pDocument); 22 CPDF_NameTree name_tree(m_pDocument, "JavaScript"); 23 CPDF_Object* pAction = name_tree.LookupValue(index, csName); 24 return ToDictionary(pAction) ? CPDF_Action(pAction->GetDict()) 25 : CPDF_Action(); 26 } 27 GetJSAction(const CFX_ByteString & csName) const28CPDF_Action CPDF_DocJSActions::GetJSAction(const CFX_ByteString& csName) const { 29 ASSERT(m_pDocument); 30 CPDF_NameTree name_tree(m_pDocument, "JavaScript"); 31 CPDF_Object* pAction = name_tree.LookupValue(csName); 32 return ToDictionary(pAction) ? CPDF_Action(pAction->GetDict()) 33 : CPDF_Action(); 34 } 35 FindJSAction(const CFX_ByteString & csName) const36int CPDF_DocJSActions::FindJSAction(const CFX_ByteString& csName) const { 37 ASSERT(m_pDocument); 38 CPDF_NameTree name_tree(m_pDocument, "JavaScript"); 39 return name_tree.GetIndex(csName); 40 } 41