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

Side by Side Diff: pdf/pdfium/pdfium_engine.h

Issue 2349753003: Improve linearized pdf load/show time. (Closed)
Patch Set: remove useless code. Created 4 years, 3 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef PDF_PDFIUM_PDFIUM_ENGINE_H_ 5 #ifndef PDF_PDFIUM_PDFIUM_ENGINE_H_
6 #define PDF_PDFIUM_PDFIUM_ENGINE_H_ 6 #define PDF_PDFIUM_PDFIUM_ENGINE_H_
7 7
8 #include <stddef.h> 8 #include <stddef.h>
9 #include <stdint.h> 9 #include <stdint.h>
10 10
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
101 pp::FloatRect* out_bounds) override; 101 pp::FloatRect* out_bounds) override;
102 bool GetPrintScaling() override; 102 bool GetPrintScaling() override;
103 int GetCopiesToPrint() override; 103 int GetCopiesToPrint() override;
104 int GetDuplexType() override; 104 int GetDuplexType() override;
105 bool GetPageSizeAndUniformity(pp::Size* size) override; 105 bool GetPageSizeAndUniformity(pp::Size* size) override;
106 void AppendBlankPages(int num_pages) override; 106 void AppendBlankPages(int num_pages) override;
107 void AppendPage(PDFEngine* engine, int index) override; 107 void AppendPage(PDFEngine* engine, int index) override;
108 #if defined(PDF_ENABLE_XFA) 108 #if defined(PDF_ENABLE_XFA)
109 void SetScrollPosition(const pp::Point& position) override; 109 void SetScrollPosition(const pp::Point& position) override;
110 #endif 110 #endif
111 bool IsProgressiveLoad() override;
112 std::string GetMetadata(const std::string& key) override; 111 std::string GetMetadata(const std::string& key) override;
113 112
114 // DocumentLoader::Client implementation. 113 // DocumentLoader::Client implementation.
115 pp::Instance* GetPluginInstance() override; 114 pp::Instance* GetPluginInstance() override;
116 pp::URLLoader CreateURLLoader() override; 115 std::unique_ptr<URLLoaderWrapper> CreateURLLoader() override;
117 void OnPartialDocumentLoaded() override;
118 void OnPendingRequestComplete() override; 116 void OnPendingRequestComplete() override;
119 void OnNewDataAvailable() override; 117 void OnNewDataAvailable() override;
120 void OnDocumentComplete() override; 118 void OnDocumentComplete() override;
119 void OnDocumentCanceled() override;
120 void CancelBrowserDownload() override;
121 121
122 void UnsupportedFeature(int type); 122 void UnsupportedFeature(int type);
123 123
124 std::string current_find_text() const { return current_find_text_; } 124 std::string current_find_text() const { return current_find_text_; }
125 125
126 FPDF_DOCUMENT doc() { return doc_; } 126 FPDF_DOCUMENT doc() { return doc_; }
127 FPDF_FORMHANDLE form() { return form_; } 127 FPDF_FORMHANDLE form() { return form_; }
128 128
129 private: 129 private:
130 // This helper class is used to detect the difference in selection between 130 // This helper class is used to detect the difference in selection between
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
183 private: 183 private:
184 bool valid_; // Whether |index_| is valid or not. 184 bool valid_; // Whether |index_| is valid or not.
185 size_t index_; // The current search result, 0-based. 185 size_t index_; // The current search result, 0-based.
186 186
187 DISALLOW_COPY_AND_ASSIGN(FindTextIndex); 187 DISALLOW_COPY_AND_ASSIGN(FindTextIndex);
188 }; 188 };
189 189
190 friend class SelectionChangeInvalidator; 190 friend class SelectionChangeInvalidator;
191 191
192 struct FileAvail : public FX_FILEAVAIL { 192 struct FileAvail : public FX_FILEAVAIL {
193 DocumentLoader* loader; 193 PDFiumEngine* engine;
194 }; 194 };
195 195
196 struct DownloadHints : public FX_DOWNLOADHINTS { 196 struct DownloadHints : public FX_DOWNLOADHINTS {
197 DocumentLoader* loader; 197 PDFiumEngine* engine;
198 }; 198 };
199 199
200 // PDFium interface to get block of data. 200 // PDFium interface to get block of data.
201 static int GetBlock(void* param, unsigned long position, 201 static int GetBlock(void* param, unsigned long position,
202 unsigned char* buffer, unsigned long size); 202 unsigned char* buffer, unsigned long size);
203 203
204 // PDFium interface to check is block of data is available. 204 // PDFium interface to check is block of data is available.
205 static FPDF_BOOL IsDataAvail(FX_FILEAVAIL* param, 205 static FPDF_BOOL IsDataAvail(FX_FILEAVAIL* param,
206 size_t offset, size_t size); 206 size_t offset, size_t size);
207 207
(...skipping 384 matching lines...) Expand 10 before | Expand all | Expand 10 after
592 592
593 // The scroll position in screen coordinates. 593 // The scroll position in screen coordinates.
594 pp::Point position_; 594 pp::Point position_;
595 // The offset of the page into the viewport. 595 // The offset of the page into the viewport.
596 pp::Point page_offset_; 596 pp::Point page_offset_;
597 // The plugin size in screen coordinates. 597 // The plugin size in screen coordinates.
598 pp::Size plugin_size_; 598 pp::Size plugin_size_;
599 double current_zoom_; 599 double current_zoom_;
600 unsigned int current_rotation_; 600 unsigned int current_rotation_;
601 601
602 DocumentLoader doc_loader_; // Main document's loader. 602 std::unique_ptr<DocumentLoader> doc_loader_; // Main document's loader.
603 std::string url_; 603 std::string url_;
604 std::string headers_; 604 std::string headers_;
605 pp::CompletionCallbackFactory<PDFiumEngine> find_factory_; 605 pp::CompletionCallbackFactory<PDFiumEngine> find_factory_;
606 606
607 pp::CompletionCallbackFactory<PDFiumEngine> password_factory_; 607 pp::CompletionCallbackFactory<PDFiumEngine> password_factory_;
608 int32_t password_tries_remaining_; 608 int32_t password_tries_remaining_;
609 609
610 // The current text used for searching. 610 // The current text used for searching.
611 std::string current_find_text_; 611 std::string current_find_text_;
612 612
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
723 // The timeout to use for the current progressive paint. 723 // The timeout to use for the current progressive paint.
724 int progressive_paint_timeout_; 724 int progressive_paint_timeout_;
725 725
726 // Shadow matrix for generating the page shadow bitmap. 726 // Shadow matrix for generating the page shadow bitmap.
727 std::unique_ptr<ShadowMatrix> page_shadow_; 727 std::unique_ptr<ShadowMatrix> page_shadow_;
728 728
729 // Set to true if the user is being prompted for their password. Will be set 729 // Set to true if the user is being prompted for their password. Will be set
730 // to false after the user finishes getting their password. 730 // to false after the user finishes getting their password.
731 bool getting_password_; 731 bool getting_password_;
732 732
733 bool should_process_pending_request_complete_ = true;
Lei Zhang 2016/10/05 07:18:08 Comment to explain what this does? Maybe "process_
snake 2016/10/05 14:14:10 Done.
734
733 DISALLOW_COPY_AND_ASSIGN(PDFiumEngine); 735 DISALLOW_COPY_AND_ASSIGN(PDFiumEngine);
734 }; 736 };
735 737
736 // Create a local variable of this when calling PDFium functions which can call 738 // Create a local variable of this when calling PDFium functions which can call
737 // our global callback when an unsupported feature is reached. 739 // our global callback when an unsupported feature is reached.
738 class ScopedUnsupportedFeature { 740 class ScopedUnsupportedFeature {
739 public: 741 public:
740 explicit ScopedUnsupportedFeature(PDFiumEngine* engine); 742 explicit ScopedUnsupportedFeature(PDFiumEngine* engine);
741 ~ScopedUnsupportedFeature(); 743 ~ScopedUnsupportedFeature();
742 744
(...skipping 29 matching lines...) Expand all
772 bool GetPDFPageSizeByIndex(const void* pdf_buffer, 774 bool GetPDFPageSizeByIndex(const void* pdf_buffer,
773 int pdf_buffer_size, 775 int pdf_buffer_size,
774 int page_number, 776 int page_number,
775 double* width, 777 double* width,
776 double* height) override; 778 double* height) override;
777 }; 779 };
778 780
779 } // namespace chrome_pdf 781 } // namespace chrome_pdf
780 782
781 #endif // PDF_PDFIUM_PDFIUM_ENGINE_H_ 783 #endif // PDF_PDFIUM_PDFIUM_ENGINE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698