| Index: pdf/pdfium/pdfium_engine.cc
|
| diff --git a/pdf/pdfium/pdfium_engine.cc b/pdf/pdfium/pdfium_engine.cc
|
| index 0528c94ecca007a1e58ec053c96689974027318d..39b27d8e4b21797970cd67a4fa46fd39aee16618 100644
|
| --- a/pdf/pdfium/pdfium_engine.cc
|
| +++ b/pdf/pdfium/pdfium_engine.cc
|
| @@ -2597,12 +2597,13 @@ void PDFiumEngine::ContinueLoadingDocument(
|
| permissions_handler_revision_ = FPDF_GetSecurityHandlerRevision(doc_);
|
|
|
| if (!form_) {
|
| - // Only returns 0 when data isn't available. If form data is downloaded, or
|
| - // if this isn't a form, returns positive values.
|
| - if (!doc_loader_.IsDocumentComplete() &&
|
| - !FPDFAvail_IsFormAvail(fpdf_availability_, &download_hints_)) {
|
| + int form_status =
|
| + FPDFAvail_IsFormAvail(fpdf_availability_, &download_hints_);
|
| + bool doc_complete = doc_loader_.IsDocumentComplete();
|
| + // Try again if the data is not available and the document hasn't finished
|
| + // downloading.
|
| + if (form_status == PDF_FORM_NOTAVAIL && !doc_complete)
|
| return;
|
| - }
|
|
|
| form_ = FPDFDOC_InitFormFillEnvironment(
|
| doc_, static_cast<FPDF_FORMFILLINFO*>(this));
|
|
|