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 "core/fpdfapi/fpdf_edit/editint.h" | 7 #include "core/fpdfapi/fpdf_edit/editint.h" |
8 | 8 |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 1968 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1979 CPDF_Array* pOldIDArray = m_pParser ? m_pParser->GetIDArray() : NULL; | 1979 CPDF_Array* pOldIDArray = m_pParser ? m_pParser->GetIDArray() : NULL; |
1980 FX_BOOL bNewId = !m_pIDArray; | 1980 FX_BOOL bNewId = !m_pIDArray; |
1981 if (!m_pIDArray) { | 1981 if (!m_pIDArray) { |
1982 m_pIDArray = new CPDF_Array; | 1982 m_pIDArray = new CPDF_Array; |
1983 CPDF_Object* pID1 = pOldIDArray ? pOldIDArray->GetObjectAt(0) : NULL; | 1983 CPDF_Object* pID1 = pOldIDArray ? pOldIDArray->GetObjectAt(0) : NULL; |
1984 if (pID1) { | 1984 if (pID1) { |
1985 m_pIDArray->Add(pID1->Clone()); | 1985 m_pIDArray->Add(pID1->Clone()); |
1986 } else { | 1986 } else { |
1987 std::vector<uint8_t> buffer = | 1987 std::vector<uint8_t> buffer = |
1988 PDF_GenerateFileID((uint32_t)(uintptr_t) this, m_dwLastObjNum); | 1988 PDF_GenerateFileID((uint32_t)(uintptr_t) this, m_dwLastObjNum); |
1989 CFX_ByteStringC bsBuffer(buffer.data(), buffer.size()); | 1989 CFX_ByteString bsBuffer(buffer.data(), buffer.size()); |
1990 m_pIDArray->Add(new CPDF_String(bsBuffer, TRUE), m_pDocument); | 1990 m_pIDArray->Add(new CPDF_String(bsBuffer, TRUE), m_pDocument); |
1991 } | 1991 } |
1992 } | 1992 } |
1993 if (!bDefault) { | 1993 if (!bDefault) { |
1994 return; | 1994 return; |
1995 } | 1995 } |
1996 if (pOldIDArray) { | 1996 if (pOldIDArray) { |
1997 CPDF_Object* pID2 = pOldIDArray->GetObjectAt(1); | 1997 CPDF_Object* pID2 = pOldIDArray->GetObjectAt(1); |
1998 if ((m_dwFlags & FPDFCREATE_INCREMENTAL) && m_pEncryptDict && pID2) { | 1998 if ((m_dwFlags & FPDFCREATE_INCREMENTAL) && m_pEncryptDict && pID2) { |
1999 m_pIDArray->Add(pID2->Clone()); | 1999 m_pIDArray->Add(pID2->Clone()); |
2000 return; | 2000 return; |
2001 } | 2001 } |
2002 std::vector<uint8_t> buffer = | 2002 std::vector<uint8_t> buffer = |
2003 PDF_GenerateFileID((uint32_t)(uintptr_t) this, m_dwLastObjNum); | 2003 PDF_GenerateFileID((uint32_t)(uintptr_t) this, m_dwLastObjNum); |
2004 CFX_ByteStringC bsBuffer(buffer.data(), buffer.size()); | 2004 CFX_ByteString bsBuffer(buffer.data(), buffer.size()); |
2005 m_pIDArray->Add(new CPDF_String(bsBuffer, TRUE), m_pDocument); | 2005 m_pIDArray->Add(new CPDF_String(bsBuffer, TRUE), m_pDocument); |
2006 return; | 2006 return; |
2007 } | 2007 } |
2008 m_pIDArray->Add(m_pIDArray->GetObjectAt(0)->Clone()); | 2008 m_pIDArray->Add(m_pIDArray->GetObjectAt(0)->Clone()); |
2009 if (m_pEncryptDict && !pOldIDArray && m_pParser && bNewId) { | 2009 if (m_pEncryptDict && !pOldIDArray && m_pParser && bNewId) { |
2010 if (m_pEncryptDict->GetStringBy("Filter") == "Standard") { | 2010 if (m_pEncryptDict->GetStringBy("Filter") == "Standard") { |
2011 CPDF_StandardSecurityHandler handler; | 2011 CPDF_StandardSecurityHandler handler; |
2012 CFX_ByteString user_pass = m_pParser->GetPassword(); | 2012 CFX_ByteString user_pass = m_pParser->GetPassword(); |
2013 uint32_t flag = PDF_ENCRYPT_CONTENT; | 2013 uint32_t flag = PDF_ENCRYPT_CONTENT; |
2014 handler.OnCreate(m_pEncryptDict, m_pIDArray, user_pass.raw_str(), | 2014 handler.OnCreate(m_pEncryptDict, m_pIDArray, user_pass.raw_str(), |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2070 m_bNewCrypto = FALSE; | 2070 m_bNewCrypto = FALSE; |
2071 if (!m_bStandardSecurity) { | 2071 if (!m_bStandardSecurity) { |
2072 return; | 2072 return; |
2073 } | 2073 } |
2074 if (m_pEncryptDict) { | 2074 if (m_pEncryptDict) { |
2075 m_pEncryptDict->Release(); | 2075 m_pEncryptDict->Release(); |
2076 m_pEncryptDict = NULL; | 2076 m_pEncryptDict = NULL; |
2077 } | 2077 } |
2078 m_bStandardSecurity = FALSE; | 2078 m_bStandardSecurity = FALSE; |
2079 } | 2079 } |
OLD | NEW |