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

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

Issue 2482533003: Fix crash. (Closed)
Patch Set: Created 4 years, 1 month 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 #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 2578 matching lines...) Expand 10 before | Expand all | Expand 10 after
2589 CheckPageAvailable(FPDFAvail_GetFirstPageNum(doc_), &pending_pages_); 2589 CheckPageAvailable(FPDFAvail_GetFirstPageNum(doc_), &pending_pages_);
2590 } 2590 }
2591 2591
2592 LoadPageInfo(false); 2592 LoadPageInfo(false);
2593 2593
2594 if (doc_loader_->IsDocumentComplete()) 2594 if (doc_loader_->IsDocumentComplete())
2595 FinishLoadingDocument(); 2595 FinishLoadingDocument();
2596 } 2596 }
2597 2597
2598 void PDFiumEngine::LoadPageInfo(bool reload) { 2598 void PDFiumEngine::LoadPageInfo(bool reload) {
2599 if (!doc_loader_)
2600 return;
2599 pending_pages_.clear(); 2601 pending_pages_.clear();
2600 pp::Size old_document_size = document_size_; 2602 pp::Size old_document_size = document_size_;
2601 document_size_ = pp::Size(); 2603 document_size_ = pp::Size();
2602 std::vector<pp::Rect> page_rects; 2604 std::vector<pp::Rect> page_rects;
2603 int page_count = FPDF_GetPageCount(doc_); 2605 int page_count = FPDF_GetPageCount(doc_);
2604 bool doc_complete = doc_loader_->IsDocumentComplete(); 2606 bool doc_complete = doc_loader_->IsDocumentComplete();
2605 bool is_linear = FPDFAvail_IsLinearized(fpdf_availability_) == PDF_LINEARIZED; 2607 bool is_linear = FPDFAvail_IsLinearized(fpdf_availability_) == PDF_LINEARIZED;
2606 for (int i = 0; i < page_count; ++i) { 2608 for (int i = 0; i < page_count; ++i) {
2607 if (i != 0) { 2609 if (i != 0) {
2608 // Add space for horizontal separator. 2610 // Add space for horizontal separator.
(...skipping 1414 matching lines...) Expand 10 before | Expand all | Expand 10 after
4023 FPDF_DOCUMENT doc = 4025 FPDF_DOCUMENT doc =
4024 FPDF_LoadMemDocument(pdf_buffer, pdf_buffer_size, nullptr); 4026 FPDF_LoadMemDocument(pdf_buffer, pdf_buffer_size, nullptr);
4025 if (!doc) 4027 if (!doc)
4026 return false; 4028 return false;
4027 bool success = FPDF_GetPageSizeByIndex(doc, page_number, width, height) != 0; 4029 bool success = FPDF_GetPageSizeByIndex(doc, page_number, width, height) != 0;
4028 FPDF_CloseDocument(doc); 4030 FPDF_CloseDocument(doc);
4029 return success; 4031 return success;
4030 } 4032 }
4031 4033
4032 } // namespace chrome_pdf 4034 } // namespace chrome_pdf
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698