8000 fix: printing PDF via `webContents.print()` (#47400) · electron/electron@cac4755 · GitHub
[go: up one dir, main page]

Skip to content

Commit cac4755

Browse files
fix: printing PDF via webContents.print() (#47400)
fix: printing PDF via webContents.print() Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com> Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
1 parent 47caba6 commit cac4755

File tree

1 file changed

+12
-6
lines changed

1 file changed

+12
-6
lines changed

shell/browser/api/electron_api_web_contents.cc

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2955,12 +2955,15 @@ void OnGetDeviceNameToUse(base::WeakPtr<content::WebContents> web_contents,
29552955
print_settings.Set(printing::kSettingDpiVertical, dpi.height());
29562956
}
29572957

2958-
auto* print_view_manager =
2959-
PrintViewManagerElectron::FromWebContents(web_contents.get());
2958+
content::RenderFrameHost* rfh = GetRenderFrameHostToUse(web_contents.get());
2959+
if (!rfh)
2960+
return;
2961+
2962+
auto* print_view_manager = PrintViewManagerElectron::FromWebContents(
2963+
content::WebContents::FromRenderFrameHost(rfh));
29602964
if (!print_view_manager)
29612965
return;
29622966

2963-
content::RenderFrameHost* rfh = GetRenderFrameHostToUse(web_contents.get());
29642967
print_view_manager->PrintNow(rfh, std::move(print_settings),
29652968
std::move(print_callback));
29662969
}
@@ -3006,12 +3009,15 @@ void WebContents::Print(gin::Arguments* args) {
30063009
}
30073010

30083011
if (options.IsEmptyObject()) {
3009-
auto* print_view_manager =
3010-
PrintViewManagerElectron::FromWebContents(web_contents());
3012+
content::RenderFrameHost* rfh = GetRenderFrameHostToUse(web_contents());
3013+
if (!rfh)
3014+
return;
3015+
3016+
auto* print_view_manager = PrintViewManagerElectron::FromWebContents(
3017+
content::WebContents::FromRenderFrameHost(rfh));
30113018
if (!print_view_manager)
30123019
return;
30133020

3014-
content::RenderFrameHost* rfh = GetRenderFrameHostToUse(web_contents());
30153021
print_view_manager->PrintNow(rfh, std::move(settings), std::move(callback));
30163022
return;
30173023
}

0 commit comments

Comments
 (0)
0