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

Unified Diff: pdf/pdf.cc

Issue 2508563003: Printing: Load the source PDF only once. (Closed)
Patch Set: More renaming 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « pdf/pdf.h ('k') | pdf/pdf_engine.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pdf/pdf.cc
diff --git a/pdf/pdf.cc b/pdf/pdf.cc
index 57d5b0178c87c8db266d97068364c0046884dac7..e60c4bd0aa495e7b8777c87a48cf395b820186ef 100644
--- a/pdf/pdf.cc
+++ b/pdf/pdf.cc
@@ -82,8 +82,7 @@ const void* PPP_GetInterface(const char* interface_name) {
}
#if defined(OS_WIN)
-bool RenderPDFPageToDC(const void* pdf_buffer,
- int buffer_size,
+bool RenderPDFPageToDC(void* pdf_handle,
int page_number,
HDC dc,
int dpi,
@@ -107,8 +106,8 @@ bool RenderPDFPageToDC(const void* pdf_buffer,
pp::Rect(bounds_origin_x, bounds_origin_y, bounds_width, bounds_height),
fit_to_bounds, stretch_to_bounds, keep_aspect_ratio, center_in_bounds,
autorotate);
- bool ret = engine_exports->RenderPDFPageToDC(pdf_buffer, buffer_size,
- page_number, settings, dc);
+ bool ret =
+ engine_exports->RenderPDFPageToDC(pdf_handle, page_number, settings, dc);
if (!g_sdk_initialized_via_pepper)
ShutdownSDK();
@@ -126,39 +125,51 @@ void SetPDFUseGDIPrinting(bool enable) {
#endif // defined(OS_WIN)
bool GetPDFDocInfo(const void* pdf_buffer,
- int buffer_size, int* page_count,
- double* max_page_width) {
+ int buffer_size,
+ int* page_count,
+ double* max_page_width,
+ void** pdf_handle) {
if (!g_sdk_initialized_via_pepper) {
if (!InitializeSDK())
return false;
}
PDFEngineExports* engine_exports = PDFEngineExports::Get();
- bool ret = engine_exports->GetPDFDocInfo(
- pdf_buffer, buffer_size, page_count, max_page_width);
+ bool ret = engine_exports->GetPDFDocInfo(pdf_buffer, buffer_size, page_count,
+ max_page_width, pdf_handle);
if (!g_sdk_initialized_via_pepper)
ShutdownSDK();
return ret;
}
-bool GetPDFPageSizeByIndex(const void* pdf_buffer,
- int pdf_buffer_size, int page_number,
- double* width, double* height) {
+void ReleasePDFHandle(void* pdf_handle) {
if (!g_sdk_initialized_via_pepper) {
- if (!chrome_pdf::InitializeSDK())
+ if (!InitializeSDK())
+ return;
+ }
+ PDFEngineExports* engine_exports = PDFEngineExports::Get();
+ engine_exports->ReleasePDFHandle(pdf_handle);
+ if (!g_sdk_initialized_via_pepper)
+ ShutdownSDK();
+}
+
+bool GetPDFPageSizeByIndex(void* pdf_handle,
+ int page_number,
+ double* width,
+ double* height) {
+ if (!g_sdk_initialized_via_pepper) {
+ if (!InitializeSDK())
return false;
}
- chrome_pdf::PDFEngineExports* engine_exports =
- chrome_pdf::PDFEngineExports::Get();
- bool ret = engine_exports->GetPDFPageSizeByIndex(
- pdf_buffer, pdf_buffer_size, page_number, width, height);
+ PDFEngineExports* engine_exports = PDFEngineExports::Get();
+ bool ret = engine_exports->GetPDFPageSizeByIndex(pdf_handle, page_number,
+ width, height);
if (!g_sdk_initialized_via_pepper)
- chrome_pdf::ShutdownSDK();
+ ShutdownSDK();
return ret;
}
-bool RenderPDFPageToBitmap(const void* pdf_buffer,
- int pdf_buffer_size,
+bool RenderPDFPageToBitmap(void* pdf_handle,
int page_number,
void* bitmap_buffer,
int bitmap_width,
@@ -173,8 +184,8 @@ bool RenderPDFPageToBitmap(const void* pdf_buffer,
PDFEngineExports::RenderingSettings settings(
dpi, dpi, pp::Rect(bitmap_width, bitmap_height), true, false, true, true,
autorotate);
- bool ret = engine_exports->RenderPDFPageToBitmap(
- pdf_buffer, pdf_buffer_size, page_number, settings, bitmap_buffer);
+ bool ret = engine_exports->RenderPDFPageToBitmap(pdf_handle, page_number,
+ settings, bitmap_buffer);
if (!g_sdk_initialized_via_pepper)
ShutdownSDK();
« no previous file with comments | « pdf/pdf.h ('k') | pdf/pdf_engine.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698