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

Side by Side Diff: core/src/fpdfapi/fpdf_edit/fpdf_edit_create.cpp

Issue 1194933003: Make CPDF_Object::GetString() a virtual method. (Closed) Base URL: https://pdfium.googlesource.com/pdfium@master
Patch Set: rebase Created 5 years, 5 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 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 "../../../include/fxcrt/fx_ext.h" 7 #include "../../../include/fxcrt/fx_ext.h"
8 #include "../../../include/fpdfapi/fpdf_serial.h" 8 #include "../../../include/fpdfapi/fpdf_serial.h"
9 #include "editint.h" 9 #include "editint.h"
10 10
(...skipping 911 matching lines...) Expand 10 before | Expand all | Expand 10 after
922 } 922 }
923 FX_DWORD objnum = pObj->GetObjNum(); 923 FX_DWORD objnum = pObj->GetObjNum();
924 if (m_pParser && m_pParser->m_ObjVersion.GetSize() > (int32_t)objnum && m_pP arser->m_ObjVersion[objnum] > 0) { 924 if (m_pParser && m_pParser->m_ObjVersion.GetSize() > (int32_t)objnum && m_pP arser->m_ObjVersion[objnum] > 0) {
925 return 1; 925 return 1;
926 } 926 }
927 if (pObj->GetType() == PDFOBJ_NUMBER) { 927 if (pObj->GetType() == PDFOBJ_NUMBER) {
928 return 1; 928 return 1;
929 } 929 }
930 CPDF_Dictionary *pDict = pObj->GetDict(); 930 CPDF_Dictionary *pDict = pObj->GetDict();
931 if (pObj->GetType() == PDFOBJ_STREAM) { 931 if (pObj->GetType() == PDFOBJ_STREAM) {
932 if (pDict && pDict->GetString(FX_BSTRC("Type")) == FX_BSTRC("XRef")) { 932 if (pDict && pDict->GetStringAt("Type") == "XRef") {
933 return 0; 933 return 0;
934 } 934 }
935 return 1; 935 return 1;
936 } 936 }
937 if (pDict) { 937 if (pDict) {
938 if (pDict == m_pDocument->m_pRootDict || pDict == m_pEncryptDict) { 938 if (pDict == m_pDocument->m_pRootDict || pDict == m_pEncryptDict) {
939 return 1; 939 return 1;
940 } 940 }
941 if (IsSignatureDict(pDict)) { 941 if (IsSignatureDict(pDict)) {
942 return 1; 942 return 1;
943 } 943 }
944 if (pDict->GetString(FX_BSTRC("Type")) == FX_BSTRC("Page")) { 944 if (pDict->GetStringAt("Type") == "Page") {
945 return 1; 945 return 1;
946 } 946 }
947 } 947 }
948 m_pXRefStream->AddObjectNumberToIndexArray(objnum); 948 m_pXRefStream->AddObjectNumberToIndexArray(objnum);
949 if (m_pXRefStream->CompressIndirectObject(objnum, pObj, this) < 0) { 949 if (m_pXRefStream->CompressIndirectObject(objnum, pObj, this) < 0) {
950 return -1; 950 return -1;
951 } 951 }
952 if (!_IsXRefNeedEnd(m_pXRefStream, m_dwFlags)) { 952 if (!_IsXRefNeedEnd(m_pXRefStream, m_dwFlags)) {
953 return 0; 953 return 0;
954 } 954 }
(...skipping 1099 matching lines...) Expand 10 before | Expand all | Expand 10 after
2054 } 2054 }
2055 FX_DWORD* pBuffer = FX_Alloc(FX_DWORD, 4); 2055 FX_DWORD* pBuffer = FX_Alloc(FX_DWORD, 4);
2056 PDF_GenerateFileID((FX_DWORD)(uintptr_t)this, m_dwLastObjNum, pBuffer); 2056 PDF_GenerateFileID((FX_DWORD)(uintptr_t)this, m_dwLastObjNum, pBuffer);
2057 CFX_ByteStringC bsBuffer((const uint8_t*)pBuffer, 4 * sizeof(FX_DWORD)); 2057 CFX_ByteStringC bsBuffer((const uint8_t*)pBuffer, 4 * sizeof(FX_DWORD));
2058 m_pIDArray->Add(CPDF_String::Create(bsBuffer, TRUE), m_pDocument); 2058 m_pIDArray->Add(CPDF_String::Create(bsBuffer, TRUE), m_pDocument);
2059 FX_Free(pBuffer); 2059 FX_Free(pBuffer);
2060 return; 2060 return;
2061 } 2061 }
2062 m_pIDArray->Add(m_pIDArray->GetElement(0)->Clone()); 2062 m_pIDArray->Add(m_pIDArray->GetElement(0)->Clone());
2063 if (m_pEncryptDict && !pOldIDArray && m_pParser && bNewId) { 2063 if (m_pEncryptDict && !pOldIDArray && m_pParser && bNewId) {
2064 if (m_pEncryptDict->GetString(FX_BSTRC("Filter")) == FX_BSTRC("Standard" )) { 2064 if (m_pEncryptDict->GetStringAt("Filter") == "Standard") {
2065 CPDF_StandardSecurityHandler handler; 2065 CPDF_StandardSecurityHandler handler;
2066 CFX_ByteString user_pass = m_pParser->GetPassword(); 2066 CFX_ByteString user_pass = m_pParser->GetPassword();
2067 FX_DWORD flag = PDF_ENCRYPT_CONTENT; 2067 FX_DWORD flag = PDF_ENCRYPT_CONTENT;
2068 handler.OnCreate(m_pEncryptDict, m_pIDArray, (const uint8_t*)user_pa ss, user_pass.GetLength(), flag); 2068 handler.OnCreate(m_pEncryptDict, m_pIDArray, (const uint8_t*)user_pa ss, user_pass.GetLength(), flag);
2069 if (m_bNewCrypto) { 2069 if (m_bNewCrypto) {
2070 delete m_pCryptoHandler; 2070 delete m_pCryptoHandler;
2071 } 2071 }
2072 m_pCryptoHandler = new CPDF_StandardCryptoHandler; 2072 m_pCryptoHandler = new CPDF_StandardCryptoHandler;
2073 m_pCryptoHandler->Init(m_pEncryptDict, &handler); 2073 m_pCryptoHandler->Init(m_pEncryptDict, &handler);
2074 m_bNewCrypto = TRUE; 2074 m_bNewCrypto = TRUE;
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
2127 m_bNewCrypto = FALSE; 2127 m_bNewCrypto = FALSE;
2128 if (!m_bStandardSecurity) { 2128 if (!m_bStandardSecurity) {
2129 return; 2129 return;
2130 } 2130 }
2131 if (m_pEncryptDict) { 2131 if (m_pEncryptDict) {
2132 m_pEncryptDict->Release(); 2132 m_pEncryptDict->Release();
2133 m_pEncryptDict = NULL; 2133 m_pEncryptDict = NULL;
2134 } 2134 }
2135 m_bStandardSecurity = FALSE; 2135 m_bStandardSecurity = FALSE;
2136 } 2136 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698