summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2021-06-11 13:18:33 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2021-10-04 10:20:37 +0200
commit52258dee08c375412c43d878cd60db36ae662e6b (patch)
treebc607fc97aba4e36cd81a24a0615b52c82bef10e
parent0e144ccbdc274016da279124af1367c71bac932d (diff)
downloadqtwebengine-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.mojom3
-rw-r--r--chromium/components/printing/renderer/print_render_frame_helper.cc36
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;
}