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

Side by Side Diff: core/fpdfapi/edit/fpdf_edit_create.cpp

Issue 2611413002: Remove CFX_ArrayTemplate from fpdfapi (Closed)
Patch Set: comment Created 3 years, 11 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
« no previous file with comments | « core/fpdfapi/edit/cpdf_creator.h ('k') | core/fpdfapi/font/cpdf_cidfont.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "core/fpdfapi/edit/editint.h" 7 #include "core/fpdfapi/edit/editint.h"
8 8
9 #include <memory> 9 #include <memory>
10 #include <vector> 10 #include <vector>
(...skipping 1295 matching lines...) Expand 10 before | Expand all | Expand 10 after
1306 if (!iRet) 1306 if (!iRet)
1307 continue; 1307 continue;
1308 1308
1309 if (pPause && pPause->NeedToPauseNow()) { 1309 if (pPause && pPause->NeedToPauseNow()) {
1310 m_Pos = (void*)(uintptr_t)(objnum + 1); 1310 m_Pos = (void*)(uintptr_t)(objnum + 1);
1311 return 1; 1311 return 1;
1312 } 1312 }
1313 } 1313 }
1314 return 0; 1314 return 0;
1315 } 1315 }
1316
1316 int32_t CPDF_Creator::WriteNewObjs(bool bIncremental, IFX_Pause* pPause) { 1317 int32_t CPDF_Creator::WriteNewObjs(bool bIncremental, IFX_Pause* pPause) {
1317 int32_t iCount = m_NewObjNumArray.GetSize(); 1318 size_t iCount = m_NewObjNumArray.size();
1318 int32_t index = (int32_t)(uintptr_t)m_Pos; 1319 size_t index = (size_t)(uintptr_t)m_Pos;
1319 while (index < iCount) { 1320 while (index < iCount) {
1320 uint32_t objnum = m_NewObjNumArray.ElementAt(index); 1321 uint32_t objnum = m_NewObjNumArray[index];
1321 CPDF_Object* pObj = m_pDocument->GetIndirectObject(objnum); 1322 CPDF_Object* pObj = m_pDocument->GetIndirectObject(objnum);
1322 if (!pObj) { 1323 if (!pObj) {
1323 ++index; 1324 ++index;
1324 continue; 1325 continue;
1325 } 1326 }
1326 m_ObjectOffset[objnum] = m_Offset; 1327 m_ObjectOffset[objnum] = m_Offset;
1327 if (WriteIndirectObj(pObj)) 1328 if (WriteIndirectObj(pObj))
1328 return -1; 1329 return -1;
1329 1330
1330 index++; 1331 index++;
1331 if (pPause && pPause->NeedToPauseNow()) { 1332 if (pPause && pPause->NeedToPauseNow()) {
1332 m_Pos = (FX_POSITION)(uintptr_t)index; 1333 m_Pos = (FX_POSITION)(uintptr_t)index;
1333 return 1; 1334 return 1;
1334 } 1335 }
1335 } 1336 }
1336 return 0; 1337 return 0;
1337 } 1338 }
1339
1338 void CPDF_Creator::InitOldObjNumOffsets() { 1340 void CPDF_Creator::InitOldObjNumOffsets() {
1339 if (!m_pParser) { 1341 if (!m_pParser) {
1340 return; 1342 return;
1341 } 1343 }
1342 uint32_t j = 0; 1344 uint32_t j = 0;
1343 uint32_t dwStart = 0; 1345 uint32_t dwStart = 0;
1344 uint32_t dwEnd = m_pParser->GetLastObjNum(); 1346 uint32_t dwEnd = m_pParser->GetLastObjNum();
1345 while (dwStart <= dwEnd) { 1347 while (dwStart <= dwEnd) {
1346 while (dwStart <= dwEnd && m_pParser->IsObjectFreeOrNull(dwStart)) 1348 while (dwStart <= dwEnd && m_pParser->IsObjectFreeOrNull(dwStart))
1347 dwStart++; 1349 dwStart++;
(...skipping 18 matching lines...) Expand all
1366 const CPDF_Object* pObj = pair.second.get(); 1368 const CPDF_Object* pObj = pair.second.get();
1367 if (bIncremental || pObj->GetObjNum() == CPDF_Object::kInvalidObjNum) 1369 if (bIncremental || pObj->GetObjNum() == CPDF_Object::kInvalidObjNum)
1368 continue; 1370 continue;
1369 if (m_pParser && m_pParser->IsValidObjectNumber(objnum) && 1371 if (m_pParser && m_pParser->IsValidObjectNumber(objnum) &&
1370 m_pParser->GetObjectType(objnum)) { 1372 m_pParser->GetObjectType(objnum)) {
1371 continue; 1373 continue;
1372 } 1374 }
1373 AppendNewObjNum(objnum); 1375 AppendNewObjNum(objnum);
1374 } 1376 }
1375 1377
1376 int32_t iCount = m_NewObjNumArray.GetSize(); 1378 size_t iCount = m_NewObjNumArray.size();
1377 if (iCount == 0) 1379 if (iCount == 0)
1378 return; 1380 return;
1379 1381
1380 int32_t i = 0; 1382 size_t i = 0;
1381 uint32_t dwStartObjNum = 0; 1383 uint32_t dwStartObjNum = 0;
1382 bool bCrossRefValid = m_pParser && m_pParser->GetLastXRefOffset() > 0; 1384 bool bCrossRefValid = m_pParser && m_pParser->GetLastXRefOffset() > 0;
1383 while (i < iCount) { 1385 while (i < iCount) {
1384 dwStartObjNum = m_NewObjNumArray.ElementAt(i); 1386 dwStartObjNum = m_NewObjNumArray[i];
1385 if ((bIncremental && (bNoOriginal || bCrossRefValid)) || 1387 if ((bIncremental && (bNoOriginal || bCrossRefValid)) ||
1386 !m_ObjectOffset.GetPtrAt(dwStartObjNum)) { 1388 !m_ObjectOffset.GetPtrAt(dwStartObjNum)) {
1387 break; 1389 break;
1388 } 1390 }
1389 i++; 1391 i++;
1390 } 1392 }
1391 if (i >= iCount) 1393 if (i >= iCount)
1392 return; 1394 return;
1393 1395
1394 uint32_t dwLastObjNum = dwStartObjNum; 1396 uint32_t dwLastObjNum = dwStartObjNum;
1395 i++; 1397 i++;
1396 bool bNewStart = false; 1398 bool bNewStart = false;
1397 for (; i < iCount; i++) { 1399 for (; i < iCount; i++) {
1398 uint32_t dwCurObjNum = m_NewObjNumArray.ElementAt(i); 1400 uint32_t dwCurObjNum = m_NewObjNumArray[i];
1399 bool bExist = m_pParser && m_pParser->IsValidObjectNumber(dwCurObjNum) && 1401 bool bExist = m_pParser && m_pParser->IsValidObjectNumber(dwCurObjNum) &&
1400 m_ObjectOffset.GetPtrAt(dwCurObjNum); 1402 m_ObjectOffset.GetPtrAt(dwCurObjNum);
1401 if (bExist || dwCurObjNum - dwLastObjNum > 1) { 1403 if (bExist || dwCurObjNum - dwLastObjNum > 1) {
1402 if (!bNewStart) 1404 if (!bNewStart)
1403 m_ObjectOffset.Add(dwStartObjNum, dwLastObjNum - dwStartObjNum + 1); 1405 m_ObjectOffset.Add(dwStartObjNum, dwLastObjNum - dwStartObjNum + 1);
1404 dwStartObjNum = dwCurObjNum; 1406 dwStartObjNum = dwCurObjNum;
1405 } 1407 }
1406 if (bNewStart) 1408 if (bNewStart)
1407 dwStartObjNum = dwCurObjNum; 1409 dwStartObjNum = dwCurObjNum;
1408 1410
1409 bNewStart = bExist; 1411 bNewStart = bExist;
1410 dwLastObjNum = dwCurObjNum; 1412 dwLastObjNum = dwCurObjNum;
1411 } 1413 }
1412 m_ObjectOffset.Add(dwStartObjNum, dwLastObjNum - dwStartObjNum + 1); 1414 m_ObjectOffset.Add(dwStartObjNum, dwLastObjNum - dwStartObjNum + 1);
1413 } 1415 }
1414 1416
1415 void CPDF_Creator::AppendNewObjNum(uint32_t objbum) { 1417 void CPDF_Creator::AppendNewObjNum(uint32_t objnum) {
1416 int32_t iStart = 0, iFind = 0; 1418 m_NewObjNumArray.insert(std::lower_bound(m_NewObjNumArray.begin(),
1417 int32_t iEnd = m_NewObjNumArray.GetUpperBound(); 1419 m_NewObjNumArray.end(), objnum),
1418 while (iStart <= iEnd) { 1420 objnum);
1419 int32_t iMid = (iStart + iEnd) / 2;
1420 uint32_t dwMid = m_NewObjNumArray.ElementAt(iMid);
1421 if (objbum < dwMid) {
1422 iEnd = iMid - 1;
1423 } else {
1424 if (iMid == iEnd) {
1425 iFind = iMid + 1;
1426 break;
1427 }
1428 uint32_t dwNext = m_NewObjNumArray.ElementAt(iMid + 1);
1429 if (objbum < dwNext) {
1430 iFind = iMid + 1;
1431 break;
1432 }
1433 iStart = iMid + 1;
1434 }
1435 }
1436 m_NewObjNumArray.InsertAt(iFind, objbum);
1437 } 1421 }
1422
1438 int32_t CPDF_Creator::WriteDoc_Stage1(IFX_Pause* pPause) { 1423 int32_t CPDF_Creator::WriteDoc_Stage1(IFX_Pause* pPause) {
1439 ASSERT(m_iStage > -1 || m_iStage < 20); 1424 ASSERT(m_iStage > -1 || m_iStage < 20);
1440 if (m_iStage == 0) { 1425 if (m_iStage == 0) {
1441 if (!m_pParser) { 1426 if (!m_pParser) {
1442 m_dwFlags &= ~FPDFCREATE_INCREMENTAL; 1427 m_dwFlags &= ~FPDFCREATE_INCREMENTAL;
1443 } 1428 }
1444 if (m_bSecurityChanged && (m_dwFlags & FPDFCREATE_NO_ORIGINAL) == 0) { 1429 if (m_bSecurityChanged && (m_dwFlags & FPDFCREATE_NO_ORIGINAL) == 0) {
1445 m_dwFlags &= ~FPDFCREATE_INCREMENTAL; 1430 m_dwFlags &= ~FPDFCREATE_INCREMENTAL;
1446 } 1431 }
1447 CPDF_Dictionary* pDict = m_pDocument->GetRoot(); 1432 CPDF_Dictionary* pDict = m_pDocument->GetRoot();
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
1558 WriteNewObjs((m_dwFlags & FPDFCREATE_INCREMENTAL) != 0, pPause); 1543 WriteNewObjs((m_dwFlags & FPDFCREATE_INCREMENTAL) != 0, pPause);
1559 if (iRet) { 1544 if (iRet) {
1560 return iRet; 1545 return iRet;
1561 } 1546 }
1562 m_iStage = 27; 1547 m_iStage = 27;
1563 } 1548 }
1564 if (m_iStage == 27) { 1549 if (m_iStage == 27) {
1565 if (m_pEncryptDict && m_pEncryptDict->IsInline()) { 1550 if (m_pEncryptDict && m_pEncryptDict->IsInline()) {
1566 m_dwLastObjNum += 1; 1551 m_dwLastObjNum += 1;
1567 FX_FILESIZE saveOffset = m_Offset; 1552 FX_FILESIZE saveOffset = m_Offset;
1568 if (WriteIndirectObj(m_dwLastObjNum, m_pEncryptDict) < 0) { 1553 if (WriteIndirectObj(m_dwLastObjNum, m_pEncryptDict) < 0)
1569 return -1; 1554 return -1;
1570 } 1555
1571 m_ObjectOffset.Add(m_dwLastObjNum, 1); 1556 m_ObjectOffset.Add(m_dwLastObjNum, 1);
1572 m_ObjectOffset[m_dwLastObjNum] = saveOffset; 1557 m_ObjectOffset[m_dwLastObjNum] = saveOffset;
1573 m_dwEncryptObjNum = m_dwLastObjNum; 1558 m_dwEncryptObjNum = m_dwLastObjNum;
1574 if (m_dwFlags & FPDFCREATE_INCREMENTAL) { 1559 if (m_dwFlags & FPDFCREATE_INCREMENTAL)
1575 m_NewObjNumArray.Add(m_dwLastObjNum); 1560 m_NewObjNumArray.push_back(m_dwLastObjNum);
1576 }
1577 } 1561 }
1578 m_iStage = 80; 1562 m_iStage = 80;
1579 } 1563 }
1580 return m_iStage; 1564 return m_iStage;
1581 } 1565 }
1582 int32_t CPDF_Creator::WriteDoc_Stage3(IFX_Pause* pPause) { 1566 int32_t CPDF_Creator::WriteDoc_Stage3(IFX_Pause* pPause) {
1583 ASSERT(m_iStage >= 80 || m_iStage < 90); 1567 ASSERT(m_iStage >= 80 || m_iStage < 90);
1584 uint32_t dwLastObjNum = m_dwLastObjNum; 1568 uint32_t dwLastObjNum = m_dwLastObjNum;
1585 if (m_iStage == 80) { 1569 if (m_iStage == 80) {
1586 m_XrefStart = m_Offset; 1570 m_XrefStart = m_Offset;
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
1645 } 1629 }
1646 if (pPause && pPause->NeedToPauseNow()) { 1630 if (pPause && pPause->NeedToPauseNow()) {
1647 m_Pos = (void*)(uintptr_t)i; 1631 m_Pos = (void*)(uintptr_t)i;
1648 return 1; 1632 return 1;
1649 } 1633 }
1650 } 1634 }
1651 m_iStage = 90; 1635 m_iStage = 90;
1652 } 1636 }
1653 if (m_iStage == 82) { 1637 if (m_iStage == 82) {
1654 CFX_ByteString str; 1638 CFX_ByteString str;
1655 int32_t iCount = m_NewObjNumArray.GetSize(); 1639 size_t iCount = m_NewObjNumArray.size();
1656 int32_t i = (int32_t)(uintptr_t)m_Pos; 1640 size_t i = (size_t)(uintptr_t)m_Pos;
1657 while (i < iCount) { 1641 while (i < iCount) {
1658 int32_t j = i; 1642 size_t j = i;
1659 uint32_t objnum = m_NewObjNumArray.ElementAt(i); 1643 uint32_t objnum = m_NewObjNumArray[i];
1660 while (j < iCount) { 1644 while (j < iCount) {
1661 if (++j == iCount) { 1645 if (++j == iCount)
1662 break; 1646 break;
1663 } 1647 uint32_t dwCurrent = m_NewObjNumArray[j];
1664 uint32_t dwCurrent = m_NewObjNumArray.ElementAt(j); 1648 if (dwCurrent - objnum > 1)
1665 if (dwCurrent - objnum > 1) {
1666 break; 1649 break;
1667 }
1668 objnum = dwCurrent; 1650 objnum = dwCurrent;
1669 } 1651 }
1670 objnum = m_NewObjNumArray.ElementAt(i); 1652 objnum = m_NewObjNumArray[i];
1671 if (objnum == 1) { 1653 if (objnum == 1) {
1672 str.Format("0 %d\r\n0000000000 65535 f\r\n", j - i + 1); 1654 str.Format("0 %d\r\n0000000000 65535 f\r\n", j - i + 1);
1673 } else { 1655 } else {
1674 str.Format("%d %d\r\n", objnum, j - i); 1656 str.Format("%d %d\r\n", objnum, j - i);
1675 } 1657 }
1676 if (m_File.AppendBlock(str.c_str(), str.GetLength()) < 0) { 1658 if (m_File.AppendBlock(str.c_str(), str.GetLength()) < 0) {
1677 return -1; 1659 return -1;
1678 } 1660 }
1679 while (i < j) { 1661 while (i < j) {
1680 objnum = m_NewObjNumArray.ElementAt(i++); 1662 objnum = m_NewObjNumArray[i++];
1681 str.Format("%010d 00000 n\r\n", m_ObjectOffset[objnum]); 1663 str.Format("%010d 00000 n\r\n", m_ObjectOffset[objnum]);
1682 if (m_File.AppendBlock(str.c_str(), str.GetLength()) < 0) { 1664 if (m_File.AppendBlock(str.c_str(), str.GetLength()) < 0)
1683 return -1; 1665 return -1;
1684 }
1685 } 1666 }
1686 if (pPause && (i % 100) == 0 && pPause->NeedToPauseNow()) { 1667 if (pPause && (i % 100) == 0 && pPause->NeedToPauseNow()) {
1687 m_Pos = (void*)(uintptr_t)i; 1668 m_Pos = (void*)(uintptr_t)i;
1688 return 1; 1669 return 1;
1689 } 1670 }
1690 } 1671 }
1691 m_iStage = 90; 1672 m_iStage = 90;
1692 } 1673 }
1693 return m_iStage; 1674 return m_iStage;
1694 } 1675 }
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
1840 return -1; 1821 return -1;
1841 } 1822 }
1842 if (m_File.AppendDWord(m_dwLastObjNum * 5) < 0) { 1823 if (m_File.AppendDWord(m_dwLastObjNum * 5) < 0) {
1843 return -1; 1824 return -1;
1844 } 1825 }
1845 if (m_File.AppendString(">>stream\r\n") < 0) { 1826 if (m_File.AppendString(">>stream\r\n") < 0) {
1846 return -1; 1827 return -1;
1847 } 1828 }
1848 for (i = 0; i < m_dwLastObjNum; i++) { 1829 for (i = 0; i < m_dwLastObjNum; i++) {
1849 FX_FILESIZE* offset = m_ObjectOffset.GetPtrAt(i); 1830 FX_FILESIZE* offset = m_ObjectOffset.GetPtrAt(i);
1850 if (!offset) { 1831 if (!offset)
1851 continue; 1832 continue;
1852 }
1853 OutputIndex(&m_File, *offset); 1833 OutputIndex(&m_File, *offset);
1854 } 1834 }
1855 } else { 1835 } else {
1856 int count = m_NewObjNumArray.GetSize(); 1836 size_t count = m_NewObjNumArray.size();
1857 int32_t i = 0; 1837 size_t i = 0;
1858 for (i = 0; i < count; i++) { 1838 for (i = 0; i < count; i++) {
1859 uint32_t objnum = m_NewObjNumArray.ElementAt(i); 1839 if (m_File.AppendDWord(m_NewObjNumArray[i]) < 0)
1860 if (m_File.AppendDWord(objnum) < 0) {
1861 return -1; 1840 return -1;
1862 } 1841 if (m_File.AppendString(" 1 ") < 0)
1863 if (m_File.AppendString(" 1 ") < 0) {
1864 return -1; 1842 return -1;
1865 }
1866 } 1843 }
1867 if (m_File.AppendString("]/Length ") < 0) { 1844 if (m_File.AppendString("]/Length ") < 0)
1868 return -1; 1845 return -1;
1869 } 1846 if (m_File.AppendDWord(count * 5) < 0)
1870 if (m_File.AppendDWord(count * 5) < 0) {
1871 return -1; 1847 return -1;
1872 } 1848 if (m_File.AppendString(">>stream\r\n") < 0)
1873 if (m_File.AppendString(">>stream\r\n") < 0) {
1874 return -1; 1849 return -1;
1875 }
1876 for (i = 0; i < count; i++) { 1850 for (i = 0; i < count; i++) {
1877 uint32_t objnum = m_NewObjNumArray.ElementAt(i); 1851 uint32_t objnum = m_NewObjNumArray[i];
1878 FX_FILESIZE offset = m_ObjectOffset[objnum]; 1852 FX_FILESIZE offset = m_ObjectOffset[objnum];
1879 OutputIndex(&m_File, offset); 1853 OutputIndex(&m_File, offset);
1880 } 1854 }
1881 } 1855 }
1882 if (m_File.AppendString("\r\nendstream") < 0) { 1856 if (m_File.AppendString("\r\nendstream") < 0)
1883 return -1; 1857 return -1;
1884 }
1885 } 1858 }
1886 } 1859 }
1887 if (m_File.AppendString("\r\nstartxref\r\n") < 0) { 1860 if (m_File.AppendString("\r\nstartxref\r\n") < 0) {
1888 return -1; 1861 return -1;
1889 } 1862 }
1890 FX_CHAR offset_buf[20]; 1863 FX_CHAR offset_buf[20];
1891 FXSYS_memset(offset_buf, 0, sizeof(offset_buf)); 1864 FXSYS_memset(offset_buf, 0, sizeof(offset_buf));
1892 FXSYS_i64toa(m_XrefStart, offset_buf, 10); 1865 FXSYS_i64toa(m_XrefStart, offset_buf, 10);
1893 if (m_File.AppendBlock(offset_buf, FXSYS_strlen(offset_buf)) < 0) { 1866 if (m_File.AppendBlock(offset_buf, FXSYS_strlen(offset_buf)) < 0) {
1894 return -1; 1867 return -1;
1895 } 1868 }
1896 if (m_File.AppendString("\r\n%%EOF\r\n") < 0) { 1869 if (m_File.AppendString("\r\n%%EOF\r\n") < 0) {
1897 return -1; 1870 return -1;
1898 } 1871 }
1899 m_File.Flush(); 1872 m_File.Flush();
1900 return m_iStage = 100; 1873 return m_iStage = 100;
1901 } 1874 }
1902 1875
1903 void CPDF_Creator::Clear() { 1876 void CPDF_Creator::Clear() {
1904 m_pXRefStream.reset(); 1877 m_pXRefStream.reset();
1905 m_File.Clear(); 1878 m_File.Clear();
1906 m_NewObjNumArray.RemoveAll(); 1879 m_NewObjNumArray.clear();
1907 m_pIDArray.reset(); 1880 m_pIDArray.reset();
1908 } 1881 }
1909 1882
1910 bool CPDF_Creator::Create(const CFX_RetainPtr<IFX_WriteStream>& pFile, 1883 bool CPDF_Creator::Create(const CFX_RetainPtr<IFX_WriteStream>& pFile,
1911 uint32_t flags) { 1884 uint32_t flags) {
1912 m_File.AttachFile(pFile); 1885 m_File.AttachFile(pFile);
1913 return Create(flags); 1886 return Create(flags);
1914 } 1887 }
1915 1888
1916 bool CPDF_Creator::Create(uint32_t flags) { 1889 bool CPDF_Creator::Create(uint32_t flags) {
1917 m_dwFlags = flags; 1890 m_dwFlags = flags;
1918 m_iStage = 0; 1891 m_iStage = 0;
1919 m_Offset = 0; 1892 m_Offset = 0;
1920 m_dwLastObjNum = m_pDocument->GetLastObjNum(); 1893 m_dwLastObjNum = m_pDocument->GetLastObjNum();
1921 m_ObjectOffset.Clear(); 1894 m_ObjectOffset.Clear();
1922 m_NewObjNumArray.RemoveAll(); 1895 m_NewObjNumArray.clear();
1923 InitID(); 1896 InitID();
1924 if (flags & FPDFCREATE_PROGRESSIVE) 1897 if (flags & FPDFCREATE_PROGRESSIVE)
1925 return true; 1898 return true;
1926 return Continue(nullptr) > -1; 1899 return Continue(nullptr) > -1;
1927 } 1900 }
1928 1901
1929 void CPDF_Creator::InitID(bool bDefault) { 1902 void CPDF_Creator::InitID(bool bDefault) {
1930 CPDF_Array* pOldIDArray = m_pParser ? m_pParser->GetIDArray() : nullptr; 1903 CPDF_Array* pOldIDArray = m_pParser ? m_pParser->GetIDArray() : nullptr;
1931 bool bNewId = !m_pIDArray; 1904 bool bNewId = !m_pIDArray;
1932 if (bNewId) { 1905 if (bNewId) {
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
2013 m_pCryptoHandler = nullptr; 1986 m_pCryptoHandler = nullptr;
2014 } 1987 }
2015 void CPDF_Creator::ResetStandardSecurity() { 1988 void CPDF_Creator::ResetStandardSecurity() {
2016 if (!m_bLocalCryptoHandler) 1989 if (!m_bLocalCryptoHandler)
2017 return; 1990 return;
2018 1991
2019 delete m_pCryptoHandler; 1992 delete m_pCryptoHandler;
2020 m_pCryptoHandler = nullptr; 1993 m_pCryptoHandler = nullptr;
2021 m_bLocalCryptoHandler = false; 1994 m_bLocalCryptoHandler = false;
2022 } 1995 }
OLDNEW
« no previous file with comments | « core/fpdfapi/edit/cpdf_creator.h ('k') | core/fpdfapi/font/cpdf_cidfont.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698