Chromium Code Reviews| Index: pdf/pdfium/pdfium_engine.cc |
| diff --git a/pdf/pdfium/pdfium_engine.cc b/pdf/pdfium/pdfium_engine.cc |
| index 0528c94ecca007a1e58ec053c96689974027318d..997ece03b91be0910331e4b8c3bbf6197f20bf8e 100644 |
| --- a/pdf/pdfium/pdfium_engine.cc |
| +++ b/pdf/pdfium/pdfium_engine.cc |
| @@ -2597,12 +2597,14 @@ 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_); |
| + DCHECK(form_status != PDF_FORM_ERROR); |
|
Lei Zhang
2015/12/30 17:48:26
DCHECK_NE()
spelchat
2015/12/30 17:53:36
Done.
|
| + 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)); |