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

Side by Side Diff: core/src/fpdfapi/fpdf_render/fpdf_render_loadimage.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 "../../../../third_party/base/nonstd_unique_ptr.h" 7 #include "../../../../third_party/base/nonstd_unique_ptr.h"
8 #include "../../../include/fpdfapi/fpdf_module.h" 8 #include "../../../include/fpdfapi/fpdf_module.h"
9 #include "../../../include/fpdfapi/fpdf_pageobj.h" 9 #include "../../../include/fpdfapi/fpdf_pageobj.h"
10 #include "../../../include/fpdfapi/fpdf_render.h" 10 #include "../../../include/fpdfapi/fpdf_render.h"
(...skipping 468 matching lines...) Expand 10 before | Expand all | Expand 10 after
479 if (pFilter) { 479 if (pFilter) {
480 CFX_ByteString filter; 480 CFX_ByteString filter;
481 if (pFilter->GetType() == PDFOBJ_NAME) { 481 if (pFilter->GetType() == PDFOBJ_NAME) {
482 filter = pFilter->GetString(); 482 filter = pFilter->GetString();
483 if (filter == FX_BSTRC("JPXDecode")) { 483 if (filter == FX_BSTRC("JPXDecode")) {
484 m_bDoBpcCheck = FALSE; 484 m_bDoBpcCheck = FALSE;
485 return TRUE; 485 return TRUE;
486 } 486 }
487 } else if (pFilter->GetType() == PDFOBJ_ARRAY) { 487 } else if (pFilter->GetType() == PDFOBJ_ARRAY) {
488 CPDF_Array* pArray = (CPDF_Array*)pFilter; 488 CPDF_Array* pArray = (CPDF_Array*)pFilter;
489 if (pArray->GetString(pArray->GetCount() - 1) == FX_BSTRC("J PXDecode")) { 489 int count = pArray->GetCount() - 1;
490 if (pArray->GetStringAt(count) == "JPXDecode") {
490 m_bDoBpcCheck = FALSE; 491 m_bDoBpcCheck = FALSE;
491 return TRUE; 492 return TRUE;
492 } 493 }
493 } 494 }
494 } 495 }
495 } 496 }
496 m_bImageMask = TRUE; 497 m_bImageMask = TRUE;
497 m_bpc = m_nComponents = 1; 498 m_bpc = m_nComponents = 1;
498 CPDF_Array* pDecode = m_pDict->GetArray(FX_BSTRC("Decode")); 499 CPDF_Array* pDecode = m_pDict->GetArray(FX_BSTRC("Decode"));
499 m_bDefaultDecode = pDecode == NULL || pDecode->GetInteger(0) == 0; 500 m_bDefaultDecode = pDecode == NULL || pDecode->GetInteger(0) == 0;
(...skipping 437 matching lines...) Expand 10 before | Expand all | Expand 10 after
937 CFX_ByteString filter = pFilter->GetString(); 938 CFX_ByteString filter = pFilter->GetString();
938 if (filter == FX_BSTRC("CCITTFaxDecode") || filter == FX_BSTRC("JBIG 2Decode")) { 939 if (filter == FX_BSTRC("CCITTFaxDecode") || filter == FX_BSTRC("JBIG 2Decode")) {
939 m_bpc = 1; 940 m_bpc = 1;
940 m_nComponents = 1; 941 m_nComponents = 1;
941 } 942 }
942 if (filter == FX_BSTRC("RunLengthDecode") || filter == FX_BSTRC("DCT Decode")) { 943 if (filter == FX_BSTRC("RunLengthDecode") || filter == FX_BSTRC("DCT Decode")) {
943 m_bpc = 8; 944 m_bpc = 8;
944 } 945 }
945 } else if (pFilter->GetType() == PDFOBJ_ARRAY) { 946 } else if (pFilter->GetType() == PDFOBJ_ARRAY) {
946 CPDF_Array *pArray = (CPDF_Array *)pFilter; 947 CPDF_Array *pArray = (CPDF_Array *)pFilter;
947 if (pArray->GetString(pArray->GetCount() - 1) == FX_BSTRC("CCITTFaxD ecode") || 948 int count = pArray->GetCount() - 1;
948 pArray->GetString(pArray->GetCount() - 1) == FX_BSTRC("JBIG2 Decode")) { 949 if (pArray->GetStringAt(count) == "CCITTFaxDecode" ||
950 pArray->GetStringAt(count) == "JBIG2Decode") {
949 m_bpc = 1; 951 m_bpc = 1;
950 m_nComponents = 1; 952 m_nComponents = 1;
951 } 953 }
952 if (pArray->GetString(pArray->GetCount() - 1) == FX_BSTRC("DCTDecode ")) { 954 if (pArray->GetStringAt(count) == "DCTDecode") {
Tom Sepez 2015/07/16 20:24:46 nit: is this |else if|?
953 // Previously, pArray->GetString(pArray->GetCount() - 1) == FX_B STRC("RunLengthDecode") was checked in the "if" statement as well, 955 // Previously, pArray->GetString(pArray->GetCount() - 1) == FX_B STRC("RunLengthDecode") was checked in the "if" statement as well,
954 // but too many documents don't conform to it. 956 // but too many documents don't conform to it.
955 m_bpc = 8; 957 m_bpc = 8;
956 } 958 }
957 } 959 }
958 } 960 }
959 if (m_bpc != 1 && m_bpc != 2 && m_bpc != 4 && m_bpc != 8 && m_bpc != 16) { 961 if (m_bpc != 1 && m_bpc != 2 && m_bpc != 4 && m_bpc != 8 && m_bpc != 16) {
960 m_bpc = 0; 962 m_bpc = 0;
961 } 963 }
962 } 964 }
(...skipping 587 matching lines...) Expand 10 before | Expand all | Expand 10 after
1550 { 1552 {
1551 return ((CPDF_ProgressiveImageLoaderHandle*)LoadHandle)->Continue(pPause); 1553 return ((CPDF_ProgressiveImageLoaderHandle*)LoadHandle)->Continue(pPause);
1552 } 1554 }
1553 CPDF_ImageLoader::~CPDF_ImageLoader() 1555 CPDF_ImageLoader::~CPDF_ImageLoader()
1554 { 1556 {
1555 if (!m_bCached) { 1557 if (!m_bCached) {
1556 delete m_pBitmap; 1558 delete m_pBitmap;
1557 delete m_pMask; 1559 delete m_pMask;
1558 } 1560 }
1559 } 1561 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698