• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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)11 CPDF_DocJSActions::CPDF_DocJSActions(CPDF_Document* pDoc) : m_pDocument(pDoc) {}
12 
CountJSActions() const13 int 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) const19 CPDF_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) const28 CPDF_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) const36 int 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