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(); }