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 @@
#include <utility>
#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_text.h"
#include "third_party/pdfium/testing/test_support.h"
......@@ -150,12 +150,11 @@ void PDFiumFuzzerHelper::RenderPdf(const char* pBuf, size_t len) {
hints.version = 1;
hints.AddSegment = Add_Segment;
std::unique_ptr<void, FPDFAvailDeleter> pdf_avail(
FPDFAvail_Create(&file_avail, &file_access));
ScopedFPDFAvail pdf_avail(FPDFAvail_Create(&file_avail, &file_access));
int nRet = PDF_DATA_NOTAVAIL;
bool bIsLinearized = false;
std::unique_ptr<void, FPDFDocumentDeleter> doc;
ScopedFPDFDocument doc;
if (FPDFAvail_IsLinearized(pdf_avail.get()) == PDF_LINEARIZED) {
doc.reset(FPDFAvail_GetDocument(pdf_avail.get(), nullptr));
if (doc) {
......@@ -180,7 +179,7 @@ void PDFiumFuzzerHelper::RenderPdf(const char* pBuf, size_t len) {
(void)FPDF_GetDocPermissions(doc.get());
std::unique_ptr<void, FPDFFormHandleDeleter> form(
ScopedFPDFFormHandle form(
FPDFDOC_InitFormFillEnvironment(doc.get(), &form_callbacks));
if (!OnFormFillEnvLoaded(doc.get()))
return;
......@@ -208,20 +207,18 @@ void PDFiumFuzzerHelper::RenderPdf(const char* pBuf, size_t len) {
bool PDFiumFuzzerHelper::RenderPage(FPDF_DOCUMENT doc,
FPDF_FORMHANDLE form,
const int page_index) {
std::unique_ptr<void, FPDFPageDeleter> page(FPDF_LoadPage(doc, page_index));
ScopedFPDFPage page(FPDF_LoadPage(doc, page_index));
if (!page)
return false;
std::unique_ptr<void, FPDFTextPageDeleter> text_page(
FPDFText_LoadPage(page.get()));
ScopedFPDFTextPage text_page(FPDFText_LoadPage(page.get()));
FORM_OnAfterLoadPage(page.get(), form);
FORM_DoPageAAction(page.get(), form, FPDFPAGE_AACTION_OPEN);
const double scale = 1.0;
int width = static_cast<int>(FPDF_GetPageWidth(page.get()) * scale);
int height = static_cast<int>(FPDF_GetPageHeight(page.get()) * scale);
std::unique_ptr<void, FPDFBitmapDeleter> bitmap(
FPDFBitmap_Create(width, height, 0));
ScopedFPDFBitmap bitmap(FPDFBitmap_Create(width, height, 0));
if (bitmap) {
FPDFBitmap_FillRect(bitmap.get(), 0, 0, width, height, 0xFFFFFFFF);
FPDF_RenderPageBitmap(bitmap.get(), page.get(), 0, 0, width, height, 0, 0);
......
......@@ -51,7 +51,7 @@
#include "ppapi/cpp/var.h"
#include "ppapi/cpp/var_dictionary.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_attachment.h"
#include "third_party/pdfium/public/fpdf_catalog.h"
......@@ -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));
FPDF_PAGE temp_page = temp_page_holder.get();
if (encoded) {
......@@ -4720,7 +4720,7 @@ bool PDFiumEngineExports::RenderPDFPageToDC(const void* pdf_buffer,
int page_number,
const RenderingSettings& settings,
HDC dc) {
std::unique_ptr<void, FPDFDocumentDeleter> doc(
ScopedFPDFDocument doc(
FPDF_LoadMemDocument(pdf_buffer, buffer_size, nullptr));
if (!doc)
return false;
......@@ -4808,7 +4808,7 @@ bool PDFiumEngineExports::RenderPDFPageToBitmap(
int page_number,
const RenderingSettings& settings,
void* bitmap_buffer) {
std::unique_ptr<void, FPDFDocumentDeleter> doc(
ScopedFPDFDocument doc(
FPDF_LoadMemDocument(pdf_buffer, pdf_buffer_size, nullptr));
if (!doc)
return false;
......@@ -4843,7 +4843,7 @@ bool PDFiumEngineExports::GetPDFDocInfo(const void* pdf_buffer,
int buffer_size,
int* page_count,
double* max_page_width) {
std::unique_ptr<void, FPDFDocumentDeleter> doc(
ScopedFPDFDocument doc(
FPDF_LoadMemDocument(pdf_buffer, buffer_size, nullptr));
if (!doc)
return false;
......@@ -4875,7 +4875,7 @@ bool PDFiumEngineExports::GetPDFPageSizeByIndex(const void* pdf_buffer,
int page_number,
double* width,
double* height) {
std::unique_ptr<void, FPDFDocumentDeleter> doc(
ScopedFPDFDocument doc(
FPDF_LoadMemDocument(pdf_buffer, pdf_buffer_size, nullptr));
if (!doc)
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