|
@@ -387,7 +387,7 @@ index 4fde003f2a12794bfcd479ef2797cc6281c5720b..bc3bc4aee26f9373de35366ddb07f7ba
|
|
|
// Tells the RenderFrame to switch the CSS to print media type, render every
|
|
|
// requested page using the print preview document's frame/node, and then
|
|
|
diff --git a/components/printing/renderer/print_render_frame_helper.cc b/components/printing/renderer/print_render_frame_helper.cc
|
|
|
-index ddcf650704b6d5f30faa0eb19ad385cc49ed5360..50a3bc2effe67ea3bbae4a3f0070e95317aea399 100644
|
|
|
+index b888b7c38814cbac14ef0dc792a5372886532dcb..fec67ef8da4eaffde505b66f8317312c58f5656d 100644
|
|
|
--- a/components/printing/renderer/print_render_frame_helper.cc
|
|
|
+++ b/components/printing/renderer/print_render_frame_helper.cc
|
|
|
@@ -38,6 +38,7 @@
|
|
@@ -398,17 +398,17 @@ index ddcf650704b6d5f30faa0eb19ad385cc49ed5360..50a3bc2effe67ea3bbae4a3f0070e953
|
|
|
#include "printing/units.h"
|
|
|
#include "third_party/blink/public/common/associated_interfaces/associated_interface_provider.h"
|
|
|
#include "third_party/blink/public/common/associated_interfaces/associated_interface_registry.h"
|
|
|
-@@ -1172,7 +1173,8 @@ void PrintRenderFrameHelper::ScriptedPrint(bool user_initiated) {
|
|
|
+@@ -1176,7 +1177,8 @@ void PrintRenderFrameHelper::ScriptedPrint(bool user_initiated) {
|
|
|
if (!weak_this)
|
|
|
return;
|
|
|
|
|
|
- Print(web_frame, blink::WebNode(), PrintRequestType::kScripted);
|
|
|
+ Print(web_frame, blink::WebNode(), PrintRequestType::kScripted,
|
|
|
+ false /* silent */, base::DictionaryValue() /* new_settings */);
|
|
|
+ if (!weak_this)
|
|
|
+ return;
|
|
|
|
|
|
- if (weak_this)
|
|
|
- web_frame->DispatchAfterPrintEvent();
|
|
|
-@@ -1200,7 +1202,7 @@ void PrintRenderFrameHelper::BindPrintRenderFrameReceiver(
|
|
|
+@@ -1207,7 +1209,7 @@ void PrintRenderFrameHelper::BindPrintRenderFrameReceiver(
|
|
|
receivers_.Add(this, std::move(receiver));
|
|
|
}
|
|
|
|
|
@@ -417,7 +417,7 @@ index ddcf650704b6d5f30faa0eb19ad385cc49ed5360..50a3bc2effe67ea3bbae4a3f0070e953
|
|
|
ScopedIPC scoped_ipc(weak_ptr_factory_.GetWeakPtr());
|
|
|
if (ipc_nesting_level_ > 1)
|
|
|
return;
|
|
|
-@@ -1215,7 +1217,7 @@ void PrintRenderFrameHelper::PrintRequestedPages() {
|
|
|
+@@ -1222,7 +1224,7 @@ void PrintRenderFrameHelper::PrintRequestedPages() {
|
|
|
// that instead.
|
|
|
auto plugin = delegate_->GetPdfElement(frame);
|
|
|
|
|
@@ -426,7 +426,7 @@ index ddcf650704b6d5f30faa0eb19ad385cc49ed5360..50a3bc2effe67ea3bbae4a3f0070e953
|
|
|
|
|
|
if (!render_frame_gone_)
|
|
|
frame->DispatchAfterPrintEvent();
|
|
|
-@@ -1234,7 +1236,8 @@ void PrintRenderFrameHelper::PrintForSystemDialog() {
|
|
|
+@@ -1252,7 +1254,8 @@ void PrintRenderFrameHelper::PrintForSystemDialog() {
|
|
|
}
|
|
|
|
|
|
Print(frame, print_preview_context_.source_node(),
|
|
@@ -436,7 +436,7 @@ index ddcf650704b6d5f30faa0eb19ad385cc49ed5360..50a3bc2effe67ea3bbae4a3f0070e953
|
|
|
if (!render_frame_gone_)
|
|
|
print_preview_context_.DispatchAfterPrintEvent();
|
|
|
// WARNING: |this| may be gone at this point. Do not do any more work here and
|
|
|
-@@ -1282,6 +1285,8 @@ void PrintRenderFrameHelper::PrintPreview(base::Value settings) {
|
|
|
+@@ -1300,6 +1303,8 @@ void PrintRenderFrameHelper::PrintPreview(base::Value settings) {
|
|
|
if (ipc_nesting_level_ > 1)
|
|
|
return;
|
|
|
|
|
@@ -445,7 +445,7 @@ index ddcf650704b6d5f30faa0eb19ad385cc49ed5360..50a3bc2effe67ea3bbae4a3f0070e953
|
|
|
print_preview_context_.OnPrintPreview();
|
|
|
|
|
|
if (print_preview_context_.IsForArc()) {
|
|
|
-@@ -1817,7 +1822,8 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) {
|
|
|
+@@ -1835,7 +1840,8 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) {
|
|
|
return;
|
|
|
|
|
|
Print(duplicate_node.GetDocument().GetFrame(), duplicate_node,
|
|
@@ -455,7 +455,7 @@ index ddcf650704b6d5f30faa0eb19ad385cc49ed5360..50a3bc2effe67ea3bbae4a3f0070e953
|
|
|
// Check if |this| is still valid.
|
|
|
if (!weak_this)
|
|
|
return;
|
|
|
-@@ -1832,7 +1838,9 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) {
|
|
|
+@@ -1850,7 +1856,9 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) {
|
|
|
|
|
|
void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame,
|
|
|
const blink::WebNode& node,
|
|
@@ -466,7 +466,7 @@ index ddcf650704b6d5f30faa0eb19ad385cc49ed5360..50a3bc2effe67ea3bbae4a3f0070e953
|
|
|
// If still not finished with earlier print request simply ignore.
|
|
|
if (prep_frame_view_)
|
|
|
return;
|
|
|
-@@ -1840,7 +1848,7 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame,
|
|
|
+@@ -1858,7 +1866,7 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame,
|
|
|
FrameReference frame_ref(frame);
|
|
|
|
|
|
uint32_t expected_page_count = 0;
|
|
@@ -475,7 +475,7 @@ index ddcf650704b6d5f30faa0eb19ad385cc49ed5360..50a3bc2effe67ea3bbae4a3f0070e953
|
|
|
DidFinishPrinting(FAIL_PRINT_INIT);
|
|
|
return; // Failed to init print page settings.
|
|
|
}
|
|
|
-@@ -1859,8 +1867,41 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame,
|
|
|
+@@ -1877,8 +1885,41 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame,
|
|
|
print_pages_params_->params->print_scaling_option;
|
|
|
|
|
|
auto self = weak_ptr_factory_.GetWeakPtr();
|
|
@@ -518,7 +518,7 @@ index ddcf650704b6d5f30faa0eb19ad385cc49ed5360..50a3bc2effe67ea3bbae4a3f0070e953
|
|
|
// Check if |this| is still valid.
|
|
|
if (!self)
|
|
|
return;
|
|
|
-@@ -2109,7 +2150,9 @@ void PrintRenderFrameHelper::IPCProcessed() {
|
|
|
+@@ -2127,7 +2168,9 @@ void PrintRenderFrameHelper::IPCProcessed() {
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -529,7 +529,7 @@ index ddcf650704b6d5f30faa0eb19ad385cc49ed5360..50a3bc2effe67ea3bbae4a3f0070e953
|
|
|
mojom::PrintPagesParams settings;
|
|
|
settings.params = mojom::PrintParams::New();
|
|
|
GetPrintManagerHost()->GetDefaultPrintSettings(&settings.params);
|
|
|
-@@ -2133,12 +2176,14 @@ bool PrintRenderFrameHelper::InitPrintSettings(bool fit_to_paper_size) {
|
|
|
+@@ -2151,12 +2194,14 @@ bool PrintRenderFrameHelper::InitPrintSettings(bool fit_to_paper_size) {
|
|
|
return result;
|
|
|
}
|
|
|
|
|
@@ -548,7 +548,7 @@ index ddcf650704b6d5f30faa0eb19ad385cc49ed5360..50a3bc2effe67ea3bbae4a3f0070e953
|
|
|
notify_browser_of_print_failure_ = false;
|
|
|
GetPrintManagerHost()->ShowInvalidPrinterSettingsError();
|
|
|
return false;
|
|
|
-@@ -2494,18 +2539,7 @@ void PrintRenderFrameHelper::RequestPrintPreview(PrintPreviewRequestType type) {
|
|
|
+@@ -2527,18 +2572,7 @@ void PrintRenderFrameHelper::RequestPrintPreview(PrintPreviewRequestType type) {
|
|
|
}
|
|
|
|
|
|
bool PrintRenderFrameHelper::CheckForCancel() {
|
|
@@ -569,7 +569,7 @@ index ddcf650704b6d5f30faa0eb19ad385cc49ed5360..50a3bc2effe67ea3bbae4a3f0070e953
|
|
|
|
|
|
bool PrintRenderFrameHelper::PreviewPageRendered(
|
|
|
diff --git a/components/printing/renderer/print_render_frame_helper.h b/components/printing/renderer/print_render_frame_helper.h
|
|
|
-index 8bd08c90b1f05483db8d7a58427a7431edef7868..26a26ceea435f0c09fae4219fd1e907f1f3fe26b 100644
|
|
|
+index ae14b4e5da65fb3548d4369216a3c6b90c8d17a1..67962f518035b528dd3e958e6e56c764257894ae 100644
|
|
|
--- a/components/printing/renderer/print_render_frame_helper.h
|
|
|
+++ b/components/printing/renderer/print_render_frame_helper.h
|
|
|
@@ -231,7 +231,7 @@ class PrintRenderFrameHelper
|