| OLD | NEW |
| 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 #include "pdf/pdfium/pdfium_engine.h" | 5 #include "pdf/pdfium/pdfium_engine.h" |
| 6 | 6 |
| 7 #include <math.h> | 7 #include <math.h> |
| 8 #include <stddef.h> | 8 #include <stddef.h> |
| 9 #include <stdint.h> | 9 #include <stdint.h> |
| 10 | 10 |
| (...skipping 1196 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1207 if (IsPageVisible(pending_page)) | 1207 if (IsPageVisible(pending_page)) |
| 1208 client_->Invalidate(GetPageScreenRect(pending_page)); | 1208 client_->Invalidate(GetPageScreenRect(pending_page)); |
| 1209 } | 1209 } |
| 1210 } | 1210 } |
| 1211 pending_pages_.swap(still_pending); | 1211 pending_pages_.swap(still_pending); |
| 1212 if (update_pages) | 1212 if (update_pages) |
| 1213 LoadPageInfo(true); | 1213 LoadPageInfo(true); |
| 1214 } | 1214 } |
| 1215 | 1215 |
| 1216 void PDFiumEngine::OnNewDataAvailable() { | 1216 void PDFiumEngine::OnNewDataAvailable() { |
| 1217 if (!doc_loader_->GetDocumentSize()) { |
| 1218 client_->DocumentLoadProgress(doc_loader_->count_of_bytes_received(), 0); |
| 1219 return; |
| 1220 } |
| 1221 |
| 1217 const float progress = doc_loader_->GetProgress(); | 1222 const float progress = doc_loader_->GetProgress(); |
| 1218 if (progress < 0.001) { | 1223 DCHECK_GE(progress, 0.0); |
| 1219 client_->DocumentLoadProgress(0, 0); | 1224 DCHECK_LE(progress, 1.0); |
| 1220 } else { | 1225 client_->DocumentLoadProgress(progress * 10000, 10000); |
| 1221 client_->DocumentLoadProgress(progress * 10000, 10000); | |
| 1222 } | |
| 1223 } | 1226 } |
| 1224 | 1227 |
| 1225 void PDFiumEngine::OnDocumentComplete() { | 1228 void PDFiumEngine::OnDocumentComplete() { |
| 1226 if (doc_) { | 1229 if (doc_) { |
| 1227 return FinishLoadingDocument(); | 1230 return FinishLoadingDocument(); |
| 1228 } | 1231 } |
| 1229 file_access_.m_FileLen = doc_loader_->GetDocumentSize(); | 1232 file_access_.m_FileLen = doc_loader_->GetDocumentSize(); |
| 1230 if (!fpdf_availability_) { | 1233 if (!fpdf_availability_) { |
| 1231 fpdf_availability_ = FPDFAvail_Create(&file_availability_, &file_access_); | 1234 fpdf_availability_ = FPDFAvail_Create(&file_availability_, &file_access_); |
| 1232 DCHECK(fpdf_availability_); | 1235 DCHECK(fpdf_availability_); |
| (...skipping 2917 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4150 | 4153 |
| 4151 bool PDFiumEngineExports::GetPDFPageSizeByIndex(void* pdf_handle, | 4154 bool PDFiumEngineExports::GetPDFPageSizeByIndex(void* pdf_handle, |
| 4152 int page_number, | 4155 int page_number, |
| 4153 double* width, | 4156 double* width, |
| 4154 double* height) { | 4157 double* height) { |
| 4155 FPDF_DOCUMENT doc = pdf_handle; | 4158 FPDF_DOCUMENT doc = pdf_handle; |
| 4156 return doc && FPDF_GetPageSizeByIndex(doc, page_number, width, height) != 0; | 4159 return doc && FPDF_GetPageSizeByIndex(doc, page_number, width, height) != 0; |
| 4157 } | 4160 } |
| 4158 | 4161 |
| 4159 } // namespace chrome_pdf | 4162 } // namespace chrome_pdf |
| OLD | NEW |