| Index: pdf/pdfium/pdfium_engine.cc
|
| diff --git a/pdf/pdfium/pdfium_engine.cc b/pdf/pdfium/pdfium_engine.cc
|
| index 0528c94ecca007a1e58ec053c96689974027318d..9bf10fb7c515dbe0390117372f5955b2f79ff83e 100644
|
| --- a/pdf/pdfium/pdfium_engine.cc
|
| +++ b/pdf/pdfium/pdfium_engine.cc
|
| @@ -1156,6 +1156,12 @@ void PDFiumEngine::OnDocumentComplete() {
|
| return;
|
| }
|
|
|
| + FinishLoadingDocument();
|
| +}
|
| +
|
| +void PDFiumEngine::FinishLoadingDocument() {
|
| + DCHECK(doc_loader_.IsDocumentComplete() && doc_);
|
| +
|
| bool need_update = false;
|
| for (size_t i = 0; i < pages_.size(); ++i) {
|
| if (pages_[i]->available())
|
| @@ -1172,11 +1178,6 @@ void PDFiumEngine::OnDocumentComplete() {
|
| if (need_update)
|
| LoadPageInfo(true);
|
|
|
| - FinishLoadingDocument();
|
| -}
|
| -
|
| -void PDFiumEngine::FinishLoadingDocument() {
|
| - DCHECK(doc_loader_.IsDocumentComplete() && doc_);
|
| if (called_do_document_action_)
|
| return;
|
| called_do_document_action_ = true;
|
| @@ -2667,7 +2668,10 @@ void PDFiumEngine::LoadPageInfo(bool reload) {
|
| if (reload) {
|
| pages_[i]->set_rect(page_rect);
|
| } else {
|
| - pages_.push_back(new PDFiumPage(this, i, page_rect, doc_complete));
|
| + // The page is marked as not being available even if |doc_complete| is
|
| + // true because FPDFAvail_IsPageAvail() still has to be called for this
|
| + // page, which will be done in FinishLoadingDocument().
|
| + pages_.push_back(new PDFiumPage(this, i, page_rect, false));
|
| }
|
| }
|
|
|
|
|