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

Unified Diff: components/printing/renderer/print_render_frame_helper.cc

Issue 2920013002: Use pdf compositor service for printing when OOPIF is enabled
Patch Set: rebase Created 3 years, 4 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 side-by-side diff with in-line comments
Download patch
Index: components/printing/renderer/print_render_frame_helper.cc
diff --git a/components/printing/renderer/print_render_frame_helper.cc b/components/printing/renderer/print_render_frame_helper.cc
index 969dd832b9a7217f0784eff1b76c07b1ff76dea3..392530db46849e1cd921420da9edee1ec4b6ec51 100644
--- a/components/printing/renderer/print_render_frame_helper.cc
+++ b/components/printing/renderer/print_render_frame_helper.cc
@@ -799,7 +799,6 @@ void PrepareFrameAndViewForPrint::ResizeForPrinting() {
prev_scroll_offset_ = web_frame->ToWebLocalFrame()->GetScrollOffset();
}
prev_view_size_ = web_view->Size();
-
web_view->Resize(print_layout_size);
}
@@ -1291,8 +1290,8 @@ bool PrintRenderFrameHelper::CreatePreviewDocument() {
const PrintMsg_Print_Params& print_params = print_pages_params_->params;
const std::vector<int>& pages = print_pages_params_->pages;
- if (!print_preview_context_.CreatePreviewDocument(prep_frame_view_.release(),
- pages)) {
+ if (!print_preview_context_.CreatePreviewDocument(
+ prep_frame_view_.release(), pages, print_params.printed_doc_type)) {
return false;
}
@@ -1398,7 +1397,7 @@ bool PrintRenderFrameHelper::RenderPreviewPage(
std::unique_ptr<PdfMetafileSkia> draft_metafile;
PdfMetafileSkia* initial_render_metafile = print_preview_context_.metafile();
if (print_preview_context_.IsModifiable() && is_print_ready_metafile_sent_) {
- draft_metafile = base::MakeUnique<PdfMetafileSkia>(PDF_SKIA_DOCUMENT_TYPE);
+ draft_metafile.reset(new PdfMetafileSkia(print_params.printed_doc_type));
Lei Zhang 2017/08/16 21:17:01 Can't use MakeUnique anymore?
Wei Li 2017/08/25 23:39:37 Done in another CL.
initial_render_metafile = draft_metafile.get();
}
@@ -1416,7 +1415,7 @@ bool PrintRenderFrameHelper::RenderPreviewPage(
DCHECK(!draft_metafile.get());
draft_metafile =
print_preview_context_.metafile()->GetMetafileForCurrentPage(
- PDF_SKIA_DOCUMENT_TYPE);
+ print_params.printed_doc_type);
}
return PreviewPageRendered(page_number, draft_metafile.get());
}
@@ -1429,9 +1428,8 @@ bool PrintRenderFrameHelper::FinalizePrintReadyDocument() {
PdfMetafileSkia* metafile = print_preview_context_.metafile();
PrintHostMsg_DidPreviewDocument_Params preview_params;
- // Ask the browser to create the shared memory for us.
if (!CopyMetafileDataToSharedMem(*metafile,
- &(preview_params.metafile_data_handle))) {
+ &preview_params.metafile_data_handle)) {
LOG(ERROR) << "CopyMetafileDataToSharedMem failed";
print_preview_context_.set_error(PREVIEW_ERROR_METAFILE_COPY_FAILED);
return false;
@@ -2131,13 +2129,13 @@ bool PrintRenderFrameHelper::PreviewPageRendered(int page_number,
}
PrintHostMsg_DidPreviewPage_Params preview_page_params;
- // Get the size of the resulting metafile.
- if (!CopyMetafileDataToSharedMem(
- *metafile, &(preview_page_params.metafile_data_handle))) {
+ if (!CopyMetafileDataToSharedMem(*metafile,
+ &preview_page_params.metafile_data_handle)) {
LOG(ERROR) << "CopyMetafileDataToSharedMem failed";
print_preview_context_.set_error(PREVIEW_ERROR_METAFILE_COPY_FAILED);
return false;
}
+
preview_page_params.data_size = metafile->GetDataSize();
preview_page_params.page_number = page_number;
preview_page_params.preview_request_id =
@@ -2187,7 +2185,8 @@ void PrintRenderFrameHelper::PrintPreviewContext::OnPrintPreview() {
bool PrintRenderFrameHelper::PrintPreviewContext::CreatePreviewDocument(
PrepareFrameAndViewForPrint* prepared_frame,
- const std::vector<int>& pages) {
+ const std::vector<int>& pages,
+ SkiaDocumentType doc_type) {
DCHECK_EQ(INITIALIZED, state_);
state_ = RENDERING;
@@ -2202,7 +2201,7 @@ bool PrintRenderFrameHelper::PrintPreviewContext::CreatePreviewDocument(
return false;
}
- metafile_ = base::MakeUnique<PdfMetafileSkia>(PDF_SKIA_DOCUMENT_TYPE);
+ metafile_.reset(new PdfMetafileSkia(doc_type));
CHECK(metafile_->Init());
current_page_index_ = 0;

Powered by Google App Engine
This is Rietveld 408576698