Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(532)

Side by Side Diff: core/src/fpdfapi/fpdf_parser/cpdf_syntax_parser.cpp

Issue 1782673002: Split off IPDF_CryptoHandler into its own .cpp/.h files (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Move virtual dtor to .cpp file. Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 PDFium Authors. All rights reserved. 1 // Copyright 2016 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 "core/src/fpdfapi/fpdf_parser/cpdf_syntax_parser.h" 7 #include "core/src/fpdfapi/fpdf_parser/cpdf_syntax_parser.h"
8 8
9 #include <vector> 9 #include <vector>
10 10
11 #include "core/include/fpdfapi/fpdf_module.h" 11 #include "core/include/fpdfapi/fpdf_module.h"
12 #include "core/include/fpdfapi/fpdf_parser.h" 12 #include "core/include/fpdfapi/fpdf_parser.h"
13 #include "core/include/fpdfapi/ipdf_crypto_handler.h"
13 #include "core/include/fxcrt/fx_ext.h" 14 #include "core/include/fxcrt/fx_ext.h"
14 #include "core/src/fpdfapi/fpdf_parser/fpdf_parser_utility.h" 15 #include "core/src/fpdfapi/fpdf_parser/fpdf_parser_utility.h"
15 #include "third_party/base/numerics/safe_math.h" 16 #include "third_party/base/numerics/safe_math.h"
16 17
17 namespace { 18 namespace {
18 19
19 struct SearchTagRecord { 20 struct SearchTagRecord {
20 const char* m_pTag; 21 const char* m_pTag;
21 FX_DWORD m_Len; 22 FX_DWORD m_Len;
22 FX_DWORD m_Offset; 23 FX_DWORD m_Offset;
(...skipping 606 matching lines...) Expand 10 before | Expand all | Expand 10 after
629 if (pLenObj && differingObjNum) 630 if (pLenObj && differingObjNum)
630 len = pLenObj->GetInteger(); 631 len = pLenObj->GetInteger();
631 632
632 // Locate the start of stream. 633 // Locate the start of stream.
633 ToNextLine(); 634 ToNextLine();
634 FX_FILESIZE streamStartPos = m_Pos; 635 FX_FILESIZE streamStartPos = m_Pos;
635 636
636 const CFX_ByteStringC kEndStreamStr("endstream"); 637 const CFX_ByteStringC kEndStreamStr("endstream");
637 const CFX_ByteStringC kEndObjStr("endobj"); 638 const CFX_ByteStringC kEndObjStr("endobj");
638 639
639 CPDF_CryptoHandler* pCryptoHandler = 640 IPDF_CryptoHandler* pCryptoHandler =
640 objnum == (FX_DWORD)m_MetadataObjnum ? nullptr : m_pCryptoHandler.get(); 641 objnum == (FX_DWORD)m_MetadataObjnum ? nullptr : m_pCryptoHandler.get();
641 if (!pCryptoHandler) { 642 if (!pCryptoHandler) {
642 FX_BOOL bSearchForKeyword = TRUE; 643 FX_BOOL bSearchForKeyword = TRUE;
643 if (len >= 0) { 644 if (len >= 0) {
644 pdfium::base::CheckedNumeric<FX_FILESIZE> pos = m_Pos; 645 pdfium::base::CheckedNumeric<FX_FILESIZE> pos = m_Pos;
645 pos += len; 646 pos += len;
646 if (pos.IsValid() && pos.ValueOrDie() < m_FileLen) 647 if (pos.IsValid() && pos.ValueOrDie() < m_FileLen)
647 m_Pos = pos.ValueOrDie(); 648 m_Pos = pos.ValueOrDie();
648 649
649 m_Pos += ReadEOLMarkers(m_Pos); 650 m_Pos += ReadEOLMarkers(m_Pos);
(...skipping 317 matching lines...) Expand 10 before | Expand all | Expand 10 after
967 match = ch == tag[0] ? 1 : 0; 968 match = ch == tag[0] ? 1 : 0;
968 } 969 }
969 970
970 if (limit && m_Pos == limit) 971 if (limit && m_Pos == limit)
971 return -1; 972 return -1;
972 } 973 }
973 return -1; 974 return -1;
974 } 975 }
975 976
976 void CPDF_SyntaxParser::SetEncrypt( 977 void CPDF_SyntaxParser::SetEncrypt(
977 std::unique_ptr<CPDF_CryptoHandler> pCryptoHandler) { 978 std::unique_ptr<IPDF_CryptoHandler> pCryptoHandler) {
978 m_pCryptoHandler = std::move(pCryptoHandler); 979 m_pCryptoHandler = std::move(pCryptoHandler);
979 } 980 }
OLDNEW
« no previous file with comments | « core/src/fpdfapi/fpdf_parser/cpdf_syntax_parser.h ('k') | core/src/fpdfapi/fpdf_parser/fpdf_parser_encrypt.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698