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

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

Issue 2554563002: [pdf] Reset defer_page_unload to original value. (Closed)
Patch Set: review feedback Created 4 years 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
11 #include <algorithm> 11 #include <algorithm>
12 #include <memory> 12 #include <memory>
13 #include <set> 13 #include <set>
14 14
15 #include "base/auto_reset.h"
15 #include "base/i18n/encoding_detection.h" 16 #include "base/i18n/encoding_detection.h"
16 #include "base/i18n/icu_string_conversions.h" 17 #include "base/i18n/icu_string_conversions.h"
17 #include "base/lazy_instance.h" 18 #include "base/lazy_instance.h"
18 #include "base/logging.h" 19 #include "base/logging.h"
19 #include "base/macros.h" 20 #include "base/macros.h"
20 #include "base/memory/ptr_util.h" 21 #include "base/memory/ptr_util.h"
21 #include "base/numerics/safe_conversions.h" 22 #include "base/numerics/safe_conversions.h"
22 #include "base/stl_util.h" 23 #include "base/stl_util.h"
23 #include "base/strings/string_number_conversions.h" 24 #include "base/strings/string_number_conversions.h"
24 #include "base/strings/string_piece.h" 25 #include "base/strings/string_piece.h"
(...skipping 2438 matching lines...) Expand 10 before | Expand all | Expand 10 after
2463 } 2464 }
2464 2465
2465 int PDFiumEngine::GetMostVisiblePage() { 2466 int PDFiumEngine::GetMostVisiblePage() {
2466 if (in_flight_visible_page_) 2467 if (in_flight_visible_page_)
2467 return *in_flight_visible_page_; 2468 return *in_flight_visible_page_;
2468 2469
2469 // We can call GetMostVisiblePage through a callback from PDFium. We have 2470 // We can call GetMostVisiblePage through a callback from PDFium. We have
2470 // to defer the page deletion otherwise we could potentially delete the page 2471 // to defer the page deletion otherwise we could potentially delete the page
2471 // that originated the calling JS request and destroy the objects that are 2472 // that originated the calling JS request and destroy the objects that are
2472 // currently being used. 2473 // currently being used.
2473 defer_page_unload_ = true; 2474 base::AutoReset<bool> defer_page_unload_guard(&defer_page_unload_, true);
2474 CalculateVisiblePages(); 2475 CalculateVisiblePages();
2475 defer_page_unload_ = false;
2476 return most_visible_page_; 2476 return most_visible_page_;
2477 } 2477 }
2478 2478
2479 pp::Rect PDFiumEngine::GetPageRect(int index) { 2479 pp::Rect PDFiumEngine::GetPageRect(int index) {
2480 pp::Rect rc(pages_[index]->rect()); 2480 pp::Rect rc(pages_[index]->rect());
2481 rc.Inset(-kPageShadowLeft, -kPageShadowTop, 2481 rc.Inset(-kPageShadowLeft, -kPageShadowTop,
2482 -kPageShadowRight, -kPageShadowBottom); 2482 -kPageShadowRight, -kPageShadowBottom);
2483 return rc; 2483 return rc;
2484 } 2484 }
2485 2485
(...skipping 1673 matching lines...) Expand 10 before | Expand all | Expand 10 after
4159 FPDF_DOCUMENT doc = 4159 FPDF_DOCUMENT doc =
4160 FPDF_LoadMemDocument(pdf_buffer, pdf_buffer_size, nullptr); 4160 FPDF_LoadMemDocument(pdf_buffer, pdf_buffer_size, nullptr);
4161 if (!doc) 4161 if (!doc)
4162 return false; 4162 return false;
4163 bool success = FPDF_GetPageSizeByIndex(doc, page_number, width, height) != 0; 4163 bool success = FPDF_GetPageSizeByIndex(doc, page_number, width, height) != 0;
4164 FPDF_CloseDocument(doc); 4164 FPDF_CloseDocument(doc);
4165 return success; 4165 return success;
4166 } 4166 }
4167 4167
4168 } // namespace chrome_pdf 4168 } // 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