@@ -666,7 +666,7 @@ index 6809c4576c71bc1e1a6ad4e0a37707272a9a10f4..3aad10424a6a31dab2ca393d00149ec6
666666 PrintingFailed(int32 cookie, PrintFailureReason reason);
667667
668668diff --git a/components/printing/renderer/print_render_frame_helper.cc b/components/printing/renderer/print_render_frame_helper.cc
669- index 08af2c8458fdc2539b437c3ff7e3fa2b5d36eeda..5a8d2f3cc57a66535afb027ee43eebc3b3ffe41c 100644
669+ index 08af2c8458fdc2539b437c3ff7e3fa2b5d36eeda..bac316baaf4340848666085b3de69c99ee522abe 100644
670670--- a/components/printing/renderer/print_render_frame_helper.cc
671671+++ b/components/printing/renderer/print_render_frame_helper.cc
672672@@ -52,6 +52,7 @@
@@ -744,7 +744,7 @@ index 08af2c8458fdc2539b437c3ff7e3fa2b5d36eeda..5a8d2f3cc57a66535afb027ee43eebc3
744744 print_preview_context_.OnPrintPreview();
745745
746746 #if BUILDFLAG(IS_CHROMEOS)
747- @@ -2062,17 +2068,19 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) {
747+ @@ -2062,17 +2068,25 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) {
748748
749749 void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame,
750750 const blink::WebNode& node,
@@ -759,6 +759,12 @@ index 08af2c8458fdc2539b437c3ff7e3fa2b5d36eeda..5a8d2f3cc57a66535afb027ee43eebc3
759759 FrameReference frame_ref(frame);
760760
761761- if (!InitPrintSettings(frame, node)) {
762+ + // If we're silently printing a PDF, we bypass settings logic
763+ + // that sets modifiability to false so ensure it's set here.
764+ + if (silent && IsPrintingPdfFrame(frame, node)) {
765+ + settings.Set(kSettingPreviewModifiable, false);
766+ + }
767+ +
762768+ if (!InitPrintSettings(frame, node, std::move(settings))) {
763769 // Browser triggered this code path. It already knows about the failure.
764770 notify_browser_of_print_failure_ = false;
@@ -767,7 +773,7 @@ index 08af2c8458fdc2539b437c3ff7e3fa2b5d36eeda..5a8d2f3cc57a66535afb027ee43eebc3
767773 DidFinishPrinting(PrintingResult::kFailPrintInit);
768774 return;
769775 }
770- @@ -2093,8 +2101 ,15 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame,
776+ @@ -2093,8 +2107 ,15 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame,
771777 print_pages_params_->params->print_scaling_option;
772778
773779 auto self = weak_ptr_factory_.GetWeakPtr();
@@ -784,7 +790,7 @@ index 08af2c8458fdc2539b437c3ff7e3fa2b5d36eeda..5a8d2f3cc57a66535afb027ee43eebc3
784790 // Check if `this` is still valid.
785791 if (!self)
786792 return;
787- @@ -2362,29 +2377 ,43 @@ void PrintRenderFrameHelper::IPCProcessed() {
793+ @@ -2362,29 +2383 ,43 @@ void PrintRenderFrameHelper::IPCProcessed() {
788794 }
789795
790796 bool PrintRenderFrameHelper::InitPrintSettings(blink::WebLocalFrame* frame,
0 commit comments