Use CPDF_ReadValidator to request linearized data.

Change-Id: I5c0fccc74a9f103d91c95fd72dc6683d991eadec
Reviewed-on: https://pdfium-review.googlesource.com/13570
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Art Snake <art-snake@yandex-team.ru>
diff --git a/core/fpdfapi/parser/cpdf_data_avail.cpp b/core/fpdfapi/parser/cpdf_data_avail.cpp
index 994d082..b95c9da 100644
--- a/core/fpdfapi/parser/cpdf_data_avail.cpp
+++ b/core/fpdfapi/parser/cpdf_data_avail.cpp
@@ -1204,8 +1204,7 @@
   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 @@
     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 @@
       return nRet;
     }
 
-    DocAvailStatus nResult = CheckLinearizedData(pHints);
+    DocAvailStatus nResult = CheckLinearizedData();
     if (nResult != DataAvailable)
       return nResult;
 
@@ -1479,7 +1478,7 @@
 
   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)
diff --git a/core/fpdfapi/parser/cpdf_data_avail.h b/core/fpdfapi/parser/cpdf_data_avail.h
index 850ceea..ab54b08 100644
--- a/core/fpdfapi/parser/cpdf_data_avail.h
+++ b/core/fpdfapi/parser/cpdf_data_avail.h
@@ -158,7 +158,7 @@
   bool LoadPages();
   bool LoadAllXref(DownloadHints* pHints);
   bool LoadAllFile();
-  DocAvailStatus CheckLinearizedData(DownloadHints* pHints);
+  DocAvailStatus CheckLinearizedData();
   bool CheckPageAnnots(uint32_t dwPage);
 
   DocAvailStatus CheckLinearizedFirstPage(uint32_t dwPage);