Index: chrome/renderer/print_web_view_helper.cc |
diff --git a/chrome/renderer/print_web_view_helper.cc b/chrome/renderer/print_web_view_helper.cc |
index 2a2f2d0f8870e7dbf925f6b578b621af57dc4102..0db60dd0b2ccf25b2fdae1e20ec15b883c9200c5 100644 |
--- a/chrome/renderer/print_web_view_helper.cc |
+++ b/chrome/renderer/print_web_view_helper.cc |
@@ -367,25 +367,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) { |