| Index: pdf/pdfium/pdfium_engine.h
|
| diff --git a/pdf/pdfium/pdfium_engine.h b/pdf/pdfium/pdfium_engine.h
|
| index 7f7d1136cc2375b8a947920b9dea770824a90118..c7bf28e204d09f6694848e433c2ef5512e39d008 100644
|
| --- a/pdf/pdfium/pdfium_engine.h
|
| +++ b/pdf/pdfium/pdfium_engine.h
|
| @@ -15,6 +15,7 @@
|
| #include <vector>
|
|
|
| #include "base/macros.h"
|
| +#include "base/optional.h"
|
| #include "base/time/time.h"
|
| #include "pdf/document_loader.h"
|
| #include "pdf/pdf_engine.h"
|
| @@ -249,6 +250,11 @@ class PDFiumEngine : public PDFEngine,
|
| // must have been called first.
|
| bool IsPageVisible(int index) const;
|
|
|
| + // Internal interface that caches the page index requested by PDFium to get
|
| + // scrolled to. The cache is to be be used during the interval the PDF
|
| + // plugin has not finished handling the scroll request.
|
| + void ScrollToPage(int page);
|
| +
|
| // Checks if a page is now available, and if so marks it as such and returns
|
| // true. Otherwise, it will return false and will add the index to the given
|
| // array if it's not already there.
|
| @@ -678,6 +684,10 @@ class PDFiumEngine : public PDFEngine,
|
| // calling CalculateVisiblePages()
|
| int most_visible_page_;
|
|
|
| + // Holds the page index requested by PDFium while the scroll operation
|
| + // is being handled (asynchronously).
|
| + base::Optional<int> in_flight_visible_page_;
|
| +
|
| // Set to true after FORM_DoDocumentJSAction/FORM_DoDocumentOpenAction have
|
| // been called. Only after that can we call FORM_DoPageAAction.
|
| bool called_do_document_action_;
|
|
|