diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2021-06-11 13:18:33 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2021-10-04 10:20:37 +0200 |
commit | 52258dee08c375412c43d878cd60db36ae662e6b (patch) | |
tree | bc607fc97aba4e36cd81a24a0615b52c82bef10e | |
parent | 0e144ccbdc274016da279124af1367c71bac932d (diff) | |
download | qtwebengine-chromium-52258dee08c375412c43d878cd60db36ae662e6b.tar.gz |
Fix printing after 90-based merge
Change-Id: I11e714254cd56b001515441784187d887f724b6c
Reviewed-by: Michael BrĂ¼ning <michael.bruning@qt.io>
-rw-r--r-- | chromium/components/printing/common/print.mojom | 3 | ||||
-rw-r--r-- | chromium/components/printing/renderer/print_render_frame_helper.cc | 36 |
2 files changed, 24 insertions, 15 deletions
diff --git a/chromium/components/printing/common/print.mojom b/chromium/components/printing/common/print.mojom index bfca294bd94..81c922e6a25 100644 --- a/chromium/components/printing/common/print.mojom +++ b/chromium/components/printing/common/print.mojom @@ -375,6 +375,9 @@ interface PrintManagerHost { [EnableIf=enable_print_preview, Sync] CheckForCancel(int32 preview_ui_id, int32 request_id) => (bool cancel); + [EnableIf=enable_print_preview] + MetafileReadyForPrinting(DidPreviewDocumentParams params, int32 request_id); + // Sends the accessibility tree corresponding to a document being // printed, needed for a tagged (accessible) PDF. Note that // enable_print_preview must be set to true as well, but Mojo cannot express diff --git a/chromium/components/printing/renderer/print_render_frame_helper.cc b/chromium/components/printing/renderer/print_render_frame_helper.cc index 9d0876c86f2..4887d3dcc29 100644 --- a/chromium/components/printing/renderer/print_render_frame_helper.cc +++ b/chromium/components/printing/renderer/print_render_frame_helper.cc @@ -1564,7 +1564,7 @@ void PrintRenderFrameHelper::OnFramePreparedForPreviewDocument() { PrintRenderFrameHelper::CreatePreviewDocumentResult PrintRenderFrameHelper::CreatePreviewDocument() { - if (!print_pages_params_ || CheckForCancel() || !preview_ui_) + if (!print_pages_params_ || CheckForCancel()/* || !preview_ui_*/) return CREATE_FAIL; if (print_preview_context_.IsForArc()) { @@ -1603,19 +1603,21 @@ PrintRenderFrameHelper::CreatePreviewDocument() { ConvertUnit(print_params.printable_area.width(), dpi, kPointsPerInch), ConvertUnit(print_params.printable_area.height(), dpi, kPointsPerInch)); - // Margins: Send default page layout to browser process. - preview_ui_->DidGetDefaultPageLayout( - std::move(default_page_layout), printable_area_in_points, - has_page_size_style, print_params.preview_request_id); - - preview_ui_->DidStartPreview( - mojom::DidStartPreviewParams::New( - print_preview_context_.total_page_count(), - print_preview_context_.pages_to_render(), - print_params.pages_per_sheet, - GetPdfPageSize(print_params.page_size, dpi), - GetFitToPageScaleFactor(printable_area_in_points)), - print_params.preview_request_id); + if (preview_ui_) { + // Margins: Send default page layout to browser process. + preview_ui_->DidGetDefaultPageLayout( + std::move(default_page_layout), printable_area_in_points, + has_page_size_style, print_params.preview_request_id); + + preview_ui_->DidStartPreview( + mojom::DidStartPreviewParams::New( + print_preview_context_.total_page_count(), + print_preview_context_.pages_to_render(), + print_params.pages_per_sheet, + GetPdfPageSize(print_params.page_size, dpi), + GetFitToPageScaleFactor(printable_area_in_points)), + print_params.preview_request_id); + } if (CheckForCancel()) return CREATE_FAIL; @@ -1632,7 +1634,7 @@ PrintRenderFrameHelper::CreatePreviewDocument() { } if (print_pages_params_->params->printed_doc_type == - mojom::SkiaDocumentType::kMSKP) { + mojom::SkiaDocumentType::kMSKP && preview_ui_) { // Want modifiable content of MSKP type to be collected into a document // during individual page preview generation (to avoid separate document // version for composition), notify to prepare to do this collection. @@ -1756,6 +1758,10 @@ bool PrintRenderFrameHelper::FinalizePrintReadyDocument() { preview_ui_->MetafileReadyForPrinting( std::move(preview_params), print_pages_params_->params->preview_request_id); + } else { + GetPrintManagerHost()->MetafileReadyForPrinting( + std::move(preview_params), + print_pages_params_->params->preview_request_id); } return true; } |