Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(685)

Unified Diff: pdf/pdfium/pdfium_engine.h

Issue 2349753003: Improve linearized pdf load/show time. (Closed)
Patch Set: Fix review issues. Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: pdf/pdfium/pdfium_engine.h
diff --git a/pdf/pdfium/pdfium_engine.h b/pdf/pdfium/pdfium_engine.h
index 07c15b56e865c9dca7c344e278c244c3028adc45..0d10e29ca5ba03c043fea47d5118dd9acc9f4628 100644
--- a/pdf/pdfium/pdfium_engine.h
+++ b/pdf/pdfium/pdfium_engine.h
@@ -108,16 +108,16 @@ class PDFiumEngine : public PDFEngine,
#if defined(PDF_ENABLE_XFA)
void SetScrollPosition(const pp::Point& position) override;
#endif
- bool IsProgressiveLoad() override;
std::string GetMetadata(const std::string& key) override;
// DocumentLoader::Client implementation.
pp::Instance* GetPluginInstance() override;
- pp::URLLoader CreateURLLoader() override;
- void OnPartialDocumentLoaded() override;
+ std::unique_ptr<URLLoaderWrapper> CreateURLLoader() override;
void OnPendingRequestComplete() override;
void OnNewDataAvailable() override;
void OnDocumentComplete() override;
+ void OnDocumentCanceled() override;
+ void CancelBrowserDownload() override;
void UnsupportedFeature(int type);
@@ -190,11 +190,11 @@ class PDFiumEngine : public PDFEngine,
friend class SelectionChangeInvalidator;
struct FileAvail : public FX_FILEAVAIL {
- DocumentLoader* loader;
+ PDFiumEngine* engine;
};
struct DownloadHints : public FX_DOWNLOADHINTS {
- DocumentLoader* loader;
+ PDFiumEngine* engine;
};
// PDFium interface to get block of data.
@@ -599,7 +599,7 @@ class PDFiumEngine : public PDFEngine,
double current_zoom_;
unsigned int current_rotation_;
- DocumentLoader doc_loader_; // Main document's loader.
+ std::unique_ptr<DocumentLoader> doc_loader_; // Main document's loader.
std::string url_;
std::string headers_;
pp::CompletionCallbackFactory<PDFiumEngine> find_factory_;
@@ -730,6 +730,11 @@ class PDFiumEngine : public PDFEngine,
// to false after the user finishes getting their password.
bool getting_password_;
+ // While true, the document try to be opened and parsed after download each
+ // part. Else the document will be opened and parsed only on finish of
+ // downloading.
+ bool process_when_pending_request_complete_ = true;
+
DISALLOW_COPY_AND_ASSIGN(PDFiumEngine);
};

Powered by Google App Engine
This is Rietveld 408576698