From 691d65b4ccf1796ce453018439cb1af2601d7ad2 Mon Sep 17 00:00:00 2001 From: "trop[bot]" <37223003+trop[bot]@users.noreply.github.com> Date: Tue, 18 Oct 2022 13:46:34 +0000 Subject: [PATCH] fix: headless job tracking in printToPDF Co-authored-by: Shelley Vohr --- shell/browser/printing/print_view_manager_electron.cc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/shell/browser/printing/print_view_manager_electron.cc b/shell/browser/printing/print_view_manager_electron.cc index 9d33db221eb7b..6f6776106d899 100644 --- a/shell/browser/printing/print_view_manager_electron.cc +++ b/shell/browser/printing/print_view_manager_electron.cc @@ -124,6 +124,7 @@ void PrintViewManagerElectron::PrintToPdf( printing_rfh_ = rfh; print_pages_params->pages = absl::get(parsed_ranges); + headless_jobs_.emplace_back(print_pages_params->params->document_cookie); callback_ = std::move(callback); // There is no need for a weak pointer here since the mojo proxy is held @@ -147,7 +148,9 @@ void PrintViewManagerElectron::OnDidPrintWithParams( } } - auto& content = *result->get_params()->content; + printing::mojom::DidPrintDocumentParamsPtr& params = result->get_params(); + + auto& content = *params->content; if (!content.metafile_data_region.IsValid()) { FailJob(kInvalidMemoryHandle); return; @@ -163,7 +166,7 @@ void PrintViewManagerElectron::OnDidPrintWithParams( std::string(static_cast(map.memory()), map.size()); std::move(callback_).Run(kPrintSuccess, base::RefCountedString::TakeString(&data)); - + base::Erase(headless_jobs_, params->document_cookie); Reset(); }