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