From dd996c3f9be94818b494653078143224e1bc583c Mon Sep 17 00:00:00 2001 From: "kmadhusu@chromium.org" <kmadhusu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> Date: Wed, 12 Jan 2011 17:27:30 +0000 Subject: [PATCH] Refactor UpdatePrintableSizeInPrintParameters() function in print_web_view_helper.cc BUG=none TEST=printing works after code changes. Review URL: http://codereview.chromium.org/6165004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@71186 0039d316-1c4b-4281-b951-d872f2087c98 --- chrome/renderer/print_web_view_helper.cc | 38 ++++++++++++++---------- 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/chrome/renderer/print_web_view_helper.cc b/chrome/renderer/print_web_view_helper.cc index cdf31277e5f90..c1014aeacb951 100644 --- a/chrome/renderer/print_web_view_helper.cc +++ b/chrome/renderer/print_web_view_helper.cc @@ -373,25 +373,31 @@ void PrintWebViewHelper::UpdatePrintableSizeInPrintParameters( &content_width_in_points, &content_height_in_points, &margin_top_in_points, &margin_right_in_points, &margin_bottom_in_points, &margin_left_in_points); - #if defined(OS_MACOSX) - params->page_size = gfx::Size( - static_cast<int>(content_width_in_points + - margin_left_in_points + margin_right_in_points), - static_cast<int>(content_height_in_points + - margin_top_in_points + margin_bottom_in_points)); - - params->printable_size = gfx::Size(static_cast<int>(content_width_in_points), - static_cast<int>(content_height_in_points)); + // On the Mac, the printable area is in points, don't do any scaling based + // on dpi. + int dpi = printing::kPointsPerInch; #else + int dpi = static_cast<int>(params->dpi); +#endif // defined(OS_MACOSX) params->printable_size = gfx::Size( - static_cast<int>(ConvertUnitDouble( - content_width_in_points, printing::kPointsPerInch, params->dpi)), - static_cast<int>(ConvertUnitDouble( - content_height_in_points, printing::kPointsPerInch, params->dpi))); -#endif - params->margin_top = static_cast<int>(margin_top_in_points); - params->margin_left = static_cast<int>(margin_left_in_points); + static_cast<int>(ConvertUnitDouble(content_width_in_points, + printing::kPointsPerInch, dpi)), + static_cast<int>(ConvertUnitDouble(content_height_in_points, + printing::kPointsPerInch, dpi))); + + params->page_size = gfx::Size( + static_cast<int>(ConvertUnitDouble(content_width_in_points + + margin_left_in_points + margin_right_in_points, + printing::kPointsPerInch, dpi)), + static_cast<int>(ConvertUnitDouble(content_height_in_points + + margin_top_in_points + margin_bottom_in_points, + printing::kPointsPerInch, dpi))); + + params->margin_top = static_cast<int>(ConvertUnitDouble( + margin_top_in_points, printing::kPointsPerInch, dpi)); + params->margin_left = static_cast<int>(ConvertUnitDouble( + margin_left_in_points, printing::kPointsPerInch, dpi)); } bool PrintWebViewHelper::InitPrintSettings(WebFrame* frame) { -- GitLab