OLD | NEW |
1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
6 | 6 |
7 #include "xfa/fxfa/xfa_checksum.h" | 7 #include "xfa/fxfa/xfa_checksum.h" |
8 | 8 |
9 #include "core/fdrm/crypto/fx_crypt.h" | 9 #include "core/fdrm/crypto/fx_crypt.h" |
10 | 10 |
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
218 } | 218 } |
219 | 219 |
220 void CXFA_ChecksumContext::StartChecksum() { | 220 void CXFA_ChecksumContext::StartChecksum() { |
221 FinishChecksum(); | 221 FinishChecksum(); |
222 m_pByteContext = FX_Alloc(uint8_t, 128); | 222 m_pByteContext = FX_Alloc(uint8_t, 128); |
223 CRYPT_SHA1Start(m_pByteContext); | 223 CRYPT_SHA1Start(m_pByteContext); |
224 m_bsChecksum.clear(); | 224 m_bsChecksum.clear(); |
225 m_pSAXReader = new CFX_SAXReader; | 225 m_pSAXReader = new CFX_SAXReader; |
226 } | 226 } |
227 | 227 |
228 bool CXFA_ChecksumContext::UpdateChecksum(IFX_SeekableReadStream* pSrcFile, | 228 bool CXFA_ChecksumContext::UpdateChecksum( |
229 FX_FILESIZE offset, | 229 const CFX_RetainPtr<IFX_SeekableReadStream>& pSrcFile, |
230 size_t size) { | 230 FX_FILESIZE offset, |
| 231 size_t size) { |
231 if (!m_pSAXReader || !pSrcFile) | 232 if (!m_pSAXReader || !pSrcFile) |
232 return false; | 233 return false; |
| 234 |
233 if (size < 1) | 235 if (size < 1) |
234 size = pSrcFile->GetSize(); | 236 size = pSrcFile->GetSize(); |
235 | 237 |
236 CXFA_SAXReaderHandler handler(this); | 238 CXFA_SAXReaderHandler handler(this); |
237 m_pSAXReader->SetHandler(&handler); | 239 m_pSAXReader->SetHandler(&handler); |
238 if (m_pSAXReader->StartParse( | 240 if (m_pSAXReader->StartParse( |
239 pSrcFile, (uint32_t)offset, (uint32_t)size, | 241 pSrcFile, (uint32_t)offset, (uint32_t)size, |
240 CFX_SaxParseMode_NotSkipSpace | CFX_SaxParseMode_NotConvert_amp | | 242 CFX_SaxParseMode_NotSkipSpace | CFX_SaxParseMode_NotConvert_amp | |
241 CFX_SaxParseMode_NotConvert_lt | CFX_SaxParseMode_NotConvert_gt | | 243 CFX_SaxParseMode_NotConvert_lt | CFX_SaxParseMode_NotConvert_gt | |
242 CFX_SaxParseMode_NotConvert_sharp) < 0) { | 244 CFX_SaxParseMode_NotConvert_sharp) < 0) { |
(...skipping 20 matching lines...) Expand all Loading... |
263 | 265 |
264 CFX_ByteString CXFA_ChecksumContext::GetChecksum() const { | 266 CFX_ByteString CXFA_ChecksumContext::GetChecksum() const { |
265 return m_bsChecksum; | 267 return m_bsChecksum; |
266 } | 268 } |
267 | 269 |
268 void CXFA_ChecksumContext::Update(const CFX_ByteStringC& bsText) { | 270 void CXFA_ChecksumContext::Update(const CFX_ByteStringC& bsText) { |
269 if (m_pByteContext) { | 271 if (m_pByteContext) { |
270 CRYPT_SHA1Update(m_pByteContext, bsText.raw_str(), bsText.GetLength()); | 272 CRYPT_SHA1Update(m_pByteContext, bsText.raw_str(), bsText.GetLength()); |
271 } | 273 } |
272 } | 274 } |
OLD | NEW |