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 (#51046)
* fix: honor webContents.print dpi horizontal/vertical options * style: fix clang-format in print dpi parsing * style: extract print dpi key constants * fix: use local dpi constants in print options parser
This commit is contained in:
@@ -464,6 +464,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(
|
||||
@@ -3396,10 +3398,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