mirror of
https://github.com/electron/electron.git
synced 2026-05-02 03:00:22 -04:00
fix: honor webContents.print dpi horizontal/vertical options (#51354)
* fix: honor webContents.print dpi horizontal/vertical options Co-authored-by: Kunal Dubey <xakep8@protonmail.com> * style: fix clang-format in print dpi parsing Co-authored-by: Kunal Dubey <xakep8@protonmail.com> * style: extract print dpi key constants Co-authored-by: Kunal Dubey <xakep8@protonmail.com> * fix: use local dpi constants in print options parser Co-authored-by: Kunal Dubey <xakep8@protonmail.com> --------- Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com> Co-authored-by: Kunal Dubey <xakep8@protonmail.com>
This commit is contained in:
@@ -460,6 +460,8 @@ constexpr char kFooterTemplate[] = "footerTemplate";
|
||||
constexpr char kPreferCSSPageSize[] = "preferCSSPageSize";
|
||||
constexpr char kGenerateTaggedPDF[] = "generateTaggedPDF";
|
||||
constexpr char kGenerateDocumentOutline[] = "generateDocumentOutline";
|
||||
constexpr char kDpiHorizontal[] = "horizontal";
|
||||
constexpr char kDpiVertical[] = "vertical";
|
||||
#endif // BUILDFLAG(ENABLE_PRINTING)
|
||||
|
||||
constexpr std::string_view CursorTypeToString(
|
||||
@@ -3365,10 +3367,16 @@ void WebContents::Print(gin::Arguments* const args) {
|
||||
|
||||
// Set custom dots per inch (dpi)
|
||||
if (gin_helper::Dictionary dpi; options.Get(kDpi, &dpi)) {
|
||||
// `webContents.print()` exposes `dpi: { horizontal, vertical }` in JS.
|
||||
// Keep backward compatibility with internal key names as a fallback.
|
||||
settings.Set(printing::kSettingDpiHorizontal,
|
||||
dpi.ValueOrDefault(printing::kSettingDpiHorizontal, 72));
|
||||
dpi.ValueOrDefault(
|
||||
kDpiHorizontal,
|
||||
dpi.ValueOrDefault(printing::kSettingDpiHorizontal, 72)));
|
||||
settings.Set(printing::kSettingDpiVertical,
|
||||
dpi.ValueOrDefault(printing::kSettingDpiVertical, 72));
|
||||
dpi.ValueOrDefault(
|
||||
kDpiVertical,
|
||||
dpi.ValueOrDefault(printing::kSettingDpiVertical, 72)));
|
||||
}
|
||||
|
||||
print_task_runner_->PostTaskAndReplyWithResult(
|
||||
|
||||
Reference in New Issue
Block a user