diff options
Diffstat (limited to 'core/fpdfapi/parser/cpdf_data_avail.cpp')
-rw-r--r-- | core/fpdfapi/parser/cpdf_data_avail.cpp | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/core/fpdfapi/parser/cpdf_data_avail.cpp b/core/fpdfapi/parser/cpdf_data_avail.cpp index 994d082712..b95c9daf8d 100644 --- a/core/fpdfapi/parser/cpdf_data_avail.cpp +++ b/core/fpdfapi/parser/cpdf_data_avail.cpp @@ -1204,8 +1204,7 @@ bool CPDF_DataAvail::LoadPages() { return false; } -CPDF_DataAvail::DocAvailStatus CPDF_DataAvail::CheckLinearizedData( - DownloadHints* pHints) { +CPDF_DataAvail::DocAvailStatus CPDF_DataAvail::CheckLinearizedData() { if (m_bLinearedDataOK) return DataAvailable; ASSERT(m_pLinearized); @@ -1218,10 +1217,10 @@ CPDF_DataAvail::DocAvailStatus CPDF_DataAvail::CheckLinearizedData( if (!data_size.IsValid()) return DataError; - if (!m_pFileAvail->IsDataAvail(m_pLinearized->GetLastXRefOffset(), - data_size.ValueOrDie())) { - pHints->AddSegment(m_pLinearized->GetLastXRefOffset(), - data_size.ValueOrDie()); + if (!GetValidator()->IsDataRangeAvailable( + m_pLinearized->GetLastXRefOffset(), data_size.ValueOrDie())) { + GetValidator()->ScheduleDataDownload(m_pLinearized->GetLastXRefOffset(), + data_size.ValueOrDie()); return DataNotAvailable; } @@ -1312,7 +1311,7 @@ CPDF_DataAvail::DocAvailStatus CPDF_DataAvail::IsPageAvail( return nRet; } - DocAvailStatus nResult = CheckLinearizedData(pHints); + DocAvailStatus nResult = CheckLinearizedData(); if (nResult != DataAvailable) return nResult; @@ -1479,7 +1478,7 @@ CPDF_DataAvail::DocFormStatus CPDF_DataAvail::IsFormAvail( const HintsScope hints_scope(GetValidator().Get(), pHints); if (m_pLinearized) { - DocAvailStatus nDocStatus = CheckLinearizedData(pHints); + DocAvailStatus nDocStatus = CheckLinearizedData(); if (nDocStatus == DataError) return FormError; if (nDocStatus == DataNotAvailable) |