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_metadata.h" 8 9#include "core/fpdfapi/parser/cpdf_document.h" 10#include "core/fpdfapi/parser/cpdf_stream.h" 11#include "core/fpdfapi/parser/cpdf_stream_acc.h" 12#include "core/fxcrt/fx_xml.h" 13 14CPDF_Metadata::CPDF_Metadata(CPDF_Document* pDoc) { 15 CPDF_Dictionary* pRoot = pDoc->GetRoot(); 16 if (!pRoot) 17 return; 18 19 CPDF_Stream* pStream = pRoot->GetStreamFor("Metadata"); 20 if (!pStream) 21 return; 22 23 CPDF_StreamAcc acc; 24 acc.LoadAllData(pStream, false); 25 m_pXmlElement = CXML_Element::Parse(acc.GetData(), acc.GetSize()); 26} 27 28CPDF_Metadata::~CPDF_Metadata() {} 29 30const CXML_Element* CPDF_Metadata::GetRoot() const { 31 return m_pXmlElement.get(); 32} 33