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

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

Issue 1230313006: PDF: Revert to the original shut down order for non-XFA. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 5 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
« 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 8
9 #include "base/i18n/icu_encoding_detection.h" 9 #include "base/i18n/icu_encoding_detection.h"
10 #include "base/i18n/icu_string_conversions.h" 10 #include "base/i18n/icu_string_conversions.h"
(...skipping 659 matching lines...) Expand 10 before | Expand all | Expand 10 after
670 IFSDK_PAUSE::user = NULL; 670 IFSDK_PAUSE::user = NULL;
671 IFSDK_PAUSE::NeedToPauseNow = Pause_NeedToPauseNow; 671 IFSDK_PAUSE::NeedToPauseNow = Pause_NeedToPauseNow;
672 } 672 }
673 673
674 PDFiumEngine::~PDFiumEngine() { 674 PDFiumEngine::~PDFiumEngine() {
675 for (size_t i = 0; i < pages_.size(); ++i) 675 for (size_t i = 0; i < pages_.size(); ++i)
676 pages_[i]->Unload(); 676 pages_[i]->Unload();
677 677
678 if (doc_) { 678 if (doc_) {
679 FORM_DoDocumentAAction(form_, FPDFDOC_AACTION_WC); 679 FORM_DoDocumentAAction(form_, FPDFDOC_AACTION_WC);
680
681 #ifdef PDF_USE_XFA
682 // XFA may require |form_| to outlive |doc_|, so shut down in that order.
680 FPDF_CloseDocument(doc_); 683 FPDF_CloseDocument(doc_);
681 FPDFDOC_ExitFormFillEnvironment(form_); 684 FPDFDOC_ExitFormFillEnvironment(form_);
685 #else
686 // Normally |doc_| should outlive |form_|.
687 FPDFDOC_ExitFormFillEnvironment(form_);
688 FPDF_CloseDocument(doc_);
689 #endif
682 } 690 }
683 FPDFAvail_Destroy(fpdf_availability_); 691 FPDFAvail_Destroy(fpdf_availability_);
684 692
685 STLDeleteElements(&pages_); 693 STLDeleteElements(&pages_);
686 } 694 }
687 695
688 #ifdef PDF_USE_XFA 696 #ifdef PDF_USE_XFA
689 697
690 // This is just for testing, needs to be removed later 698 // This is just for testing, needs to be removed later
691 #if defined(WIN32) 699 #if defined(WIN32)
(...skipping 3339 matching lines...) Expand 10 before | Expand all | Expand 10 after
4031 double* height) { 4039 double* height) {
4032 FPDF_DOCUMENT doc = FPDF_LoadMemDocument(pdf_buffer, pdf_buffer_size, NULL); 4040 FPDF_DOCUMENT doc = FPDF_LoadMemDocument(pdf_buffer, pdf_buffer_size, NULL);
4033 if (!doc) 4041 if (!doc)
4034 return false; 4042 return false;
4035 bool success = FPDF_GetPageSizeByIndex(doc, page_number, width, height) != 0; 4043 bool success = FPDF_GetPageSizeByIndex(doc, page_number, width, height) != 0;
4036 FPDF_CloseDocument(doc); 4044 FPDF_CloseDocument(doc);
4037 return success; 4045 return success;
4038 } 4046 }
4039 4047
4040 } // namespace chrome_pdf 4048 } // 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