Commit cf0de43a authored by Lei Zhang's avatar Lei Zhang Committed by Commit Bot

Switch PDFium integration code to use scopers instead of deleters.

Change-Id: I67162d0c055d49e29e0e22687db8c56e7d8f850c
Reviewed-on: https://chromium-review.googlesource.com/1028757
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: default avatarTom Sepez <tsepez@chromium.org>
Cr-Commit-Position: refs/heads/master@{#553846}
parent 83609dcb
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
#include <utility> #include <utility>
#include "base/memory/free_deleter.h" #include "base/memory/free_deleter.h"
#include "third_party/pdfium/public/cpp/fpdf_deleters.h" #include "third_party/pdfium/public/cpp/fpdf_scopers.h"
#include "third_party/pdfium/public/fpdf_dataavail.h" #include "third_party/pdfium/public/fpdf_dataavail.h"
#include "third_party/pdfium/public/fpdf_text.h" #include "third_party/pdfium/public/fpdf_text.h"
#include "third_party/pdfium/testing/test_support.h" #include "third_party/pdfium/testing/test_support.h"
...@@ -150,12 +150,11 @@ void PDFiumFuzzerHelper::RenderPdf(const char* pBuf, size_t len) { ...@@ -150,12 +150,11 @@ void PDFiumFuzzerHelper::RenderPdf(const char* pBuf, size_t len) {
hints.version = 1; hints.version = 1;
hints.AddSegment = Add_Segment; hints.AddSegment = Add_Segment;
std::unique_ptr<void, FPDFAvailDeleter> pdf_avail( ScopedFPDFAvail pdf_avail(FPDFAvail_Create(&file_avail, &file_access));
FPDFAvail_Create(&file_avail, &file_access));
int nRet = PDF_DATA_NOTAVAIL; int nRet = PDF_DATA_NOTAVAIL;
bool bIsLinearized = false; bool bIsLinearized = false;
std::unique_ptr<void, FPDFDocumentDeleter> doc; ScopedFPDFDocument doc;
if (FPDFAvail_IsLinearized(pdf_avail.get()) == PDF_LINEARIZED) { if (FPDFAvail_IsLinearized(pdf_avail.get()) == PDF_LINEARIZED) {
doc.reset(FPDFAvail_GetDocument(pdf_avail.get(), nullptr)); doc.reset(FPDFAvail_GetDocument(pdf_avail.get(), nullptr));
if (doc) { if (doc) {
...@@ -180,7 +179,7 @@ void PDFiumFuzzerHelper::RenderPdf(const char* pBuf, size_t len) { ...@@ -180,7 +179,7 @@ void PDFiumFuzzerHelper::RenderPdf(const char* pBuf, size_t len) {
(void)FPDF_GetDocPermissions(doc.get()); (void)FPDF_GetDocPermissions(doc.get());
std::unique_ptr<void, FPDFFormHandleDeleter> form( ScopedFPDFFormHandle form(
FPDFDOC_InitFormFillEnvironment(doc.get(), &form_callbacks)); FPDFDOC_InitFormFillEnvironment(doc.get(), &form_callbacks));
if (!OnFormFillEnvLoaded(doc.get())) if (!OnFormFillEnvLoaded(doc.get()))
return; return;
...@@ -208,20 +207,18 @@ void PDFiumFuzzerHelper::RenderPdf(const char* pBuf, size_t len) { ...@@ -208,20 +207,18 @@ void PDFiumFuzzerHelper::RenderPdf(const char* pBuf, size_t len) {
bool PDFiumFuzzerHelper::RenderPage(FPDF_DOCUMENT doc, bool PDFiumFuzzerHelper::RenderPage(FPDF_DOCUMENT doc,
FPDF_FORMHANDLE form, FPDF_FORMHANDLE form,
const int page_index) { const int page_index) {
std::unique_ptr<void, FPDFPageDeleter> page(FPDF_LoadPage(doc, page_index)); ScopedFPDFPage page(FPDF_LoadPage(doc, page_index));
if (!page) if (!page)
return false; return false;
std::unique_ptr<void, FPDFTextPageDeleter> text_page( ScopedFPDFTextPage text_page(FPDFText_LoadPage(page.get()));
FPDFText_LoadPage(page.get()));
FORM_OnAfterLoadPage(page.get(), form); FORM_OnAfterLoadPage(page.get(), form);
FORM_DoPageAAction(page.get(), form, FPDFPAGE_AACTION_OPEN); FORM_DoPageAAction(page.get(), form, FPDFPAGE_AACTION_OPEN);
const double scale = 1.0; const double scale = 1.0;
int width = static_cast<int>(FPDF_GetPageWidth(page.get()) * scale); int width = static_cast<int>(FPDF_GetPageWidth(page.get()) * scale);
int height = static_cast<int>(FPDF_GetPageHeight(page.get()) * scale); int height = static_cast<int>(FPDF_GetPageHeight(page.get()) * scale);
std::unique_ptr<void, FPDFBitmapDeleter> bitmap( ScopedFPDFBitmap bitmap(FPDFBitmap_Create(width, height, 0));
FPDFBitmap_Create(width, height, 0));
if (bitmap) { if (bitmap) {
FPDFBitmap_FillRect(bitmap.get(), 0, 0, width, height, 0xFFFFFFFF); FPDFBitmap_FillRect(bitmap.get(), 0, 0, width, height, 0xFFFFFFFF);
FPDF_RenderPageBitmap(bitmap.get(), page.get(), 0, 0, width, height, 0, 0); FPDF_RenderPageBitmap(bitmap.get(), page.get(), 0, 0, width, height, 0, 0);
......
...@@ -51,7 +51,7 @@ ...@@ -51,7 +51,7 @@
#include "ppapi/cpp/var.h" #include "ppapi/cpp/var.h"
#include "ppapi/cpp/var_dictionary.h" #include "ppapi/cpp/var_dictionary.h"
#include "printing/units.h" #include "printing/units.h"
#include "third_party/pdfium/public/cpp/fpdf_deleters.h" #include "third_party/pdfium/public/cpp/fpdf_scopers.h"
#include "third_party/pdfium/public/fpdf_annot.h" #include "third_party/pdfium/public/fpdf_annot.h"
#include "third_party/pdfium/public/fpdf_attachment.h" #include "third_party/pdfium/public/fpdf_attachment.h"
#include "third_party/pdfium/public/fpdf_catalog.h" #include "third_party/pdfium/public/fpdf_catalog.h"
...@@ -1608,7 +1608,7 @@ FPDF_DOCUMENT PDFiumEngine::CreateSinglePageRasterPdf( ...@@ -1608,7 +1608,7 @@ FPDF_DOCUMENT PDFiumEngine::CreateSinglePageRasterPdf(
} }
{ {
std::unique_ptr<void, FPDFPageDeleter> temp_page_holder( ScopedFPDFPage temp_page_holder(
FPDFPage_New(temp_doc, 0, source_page_width, source_page_height)); FPDFPage_New(temp_doc, 0, source_page_width, source_page_height));
FPDF_PAGE temp_page = temp_page_holder.get(); FPDF_PAGE temp_page = temp_page_holder.get();
if (encoded) { if (encoded) {
...@@ -4720,7 +4720,7 @@ bool PDFiumEngineExports::RenderPDFPageToDC(const void* pdf_buffer, ...@@ -4720,7 +4720,7 @@ bool PDFiumEngineExports::RenderPDFPageToDC(const void* pdf_buffer,
int page_number, int page_number,
const RenderingSettings& settings, const RenderingSettings& settings,
HDC dc) { HDC dc) {
std::unique_ptr<void, FPDFDocumentDeleter> doc( ScopedFPDFDocument doc(
FPDF_LoadMemDocument(pdf_buffer, buffer_size, nullptr)); FPDF_LoadMemDocument(pdf_buffer, buffer_size, nullptr));
if (!doc) if (!doc)
return false; return false;
...@@ -4808,7 +4808,7 @@ bool PDFiumEngineExports::RenderPDFPageToBitmap( ...@@ -4808,7 +4808,7 @@ bool PDFiumEngineExports::RenderPDFPageToBitmap(
int page_number, int page_number,
const RenderingSettings& settings, const RenderingSettings& settings,
void* bitmap_buffer) { void* bitmap_buffer) {
std::unique_ptr<void, FPDFDocumentDeleter> doc( ScopedFPDFDocument doc(
FPDF_LoadMemDocument(pdf_buffer, pdf_buffer_size, nullptr)); FPDF_LoadMemDocument(pdf_buffer, pdf_buffer_size, nullptr));
if (!doc) if (!doc)
return false; return false;
...@@ -4843,7 +4843,7 @@ bool PDFiumEngineExports::GetPDFDocInfo(const void* pdf_buffer, ...@@ -4843,7 +4843,7 @@ bool PDFiumEngineExports::GetPDFDocInfo(const void* pdf_buffer,
int buffer_size, int buffer_size,
int* page_count, int* page_count,
double* max_page_width) { double* max_page_width) {
std::unique_ptr<void, FPDFDocumentDeleter> doc( ScopedFPDFDocument doc(
FPDF_LoadMemDocument(pdf_buffer, buffer_size, nullptr)); FPDF_LoadMemDocument(pdf_buffer, buffer_size, nullptr));
if (!doc) if (!doc)
return false; return false;
...@@ -4875,7 +4875,7 @@ bool PDFiumEngineExports::GetPDFPageSizeByIndex(const void* pdf_buffer, ...@@ -4875,7 +4875,7 @@ bool PDFiumEngineExports::GetPDFPageSizeByIndex(const void* pdf_buffer,
int page_number, int page_number,
double* width, double* width,
double* height) { double* height) {
std::unique_ptr<void, FPDFDocumentDeleter> doc( ScopedFPDFDocument doc(
FPDF_LoadMemDocument(pdf_buffer, pdf_buffer_size, nullptr)); FPDF_LoadMemDocument(pdf_buffer, pdf_buffer_size, nullptr));
if (!doc) if (!doc)
return false; return false;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment