| Index: components/printing/renderer/print_web_view_helper.cc
|
| diff --git a/components/printing/renderer/print_web_view_helper.cc b/components/printing/renderer/print_web_view_helper.cc
|
| index ce1b0042f0a034a13f2c651ab29ad5c7b57e954d..2a32dd7c9d5be19e709ed8c072de94538f5a42b1 100644
|
| --- a/components/printing/renderer/print_web_view_helper.cc
|
| +++ b/components/printing/renderer/print_web_view_helper.cc
|
| @@ -127,9 +127,9 @@ PrintMsg_Print_Params GetCssPrintParams(
|
| PrintMsg_Print_Params page_css_params = page_params;
|
| int dpi = GetDPI(&page_params);
|
|
|
| - blink::WebSize page_size_in_pixels(
|
| - ConvertUnit(page_params.page_size.width(), dpi, kPixelsPerInch),
|
| - ConvertUnit(page_params.page_size.height(), dpi, kPixelsPerInch));
|
| + blink::WebFloatSize page_size_in_pixels(
|
| + ConvertUnitDouble(page_params.page_size.width(), dpi, kPixelsPerInch),
|
| + ConvertUnitDouble(page_params.page_size.height(), dpi, kPixelsPerInch));
|
| int margin_top_in_pixels =
|
| ConvertUnit(page_params.margin_top, dpi, kPixelsPerInch);
|
| int margin_right_in_pixels = ConvertUnit(
|
| @@ -144,8 +144,6 @@ PrintMsg_Print_Params GetCssPrintParams(
|
| page_params.margin_left,
|
| dpi, kPixelsPerInch);
|
|
|
| - blink::WebSize original_page_size_in_pixels = page_size_in_pixels;
|
| -
|
| if (frame) {
|
| frame->pageSizeAndMarginsInPixels(page_index,
|
| page_size_in_pixels,
|
| @@ -155,9 +153,9 @@ PrintMsg_Print_Params GetCssPrintParams(
|
| margin_left_in_pixels);
|
| }
|
|
|
| - int new_content_width = page_size_in_pixels.width -
|
| + float new_content_width = page_size_in_pixels.width -
|
| margin_left_in_pixels - margin_right_in_pixels;
|
| - int new_content_height = page_size_in_pixels.height -
|
| + float new_content_height = page_size_in_pixels.height -
|
| margin_top_in_pixels - margin_bottom_in_pixels;
|
|
|
| // Invalid page size and/or margins. We just use the default setting.
|
| @@ -167,20 +165,12 @@ PrintMsg_Print_Params GetCssPrintParams(
|
| return page_css_params;
|
| }
|
|
|
| + page_css_params.page_size =
|
| + gfx::Size(ConvertUnit(page_size_in_pixels.width, kPixelsPerInch, dpi),
|
| + ConvertUnit(page_size_in_pixels.height, kPixelsPerInch, dpi));
|
| page_css_params.content_size =
|
| gfx::Size(ConvertUnit(new_content_width, kPixelsPerInch, dpi),
|
| - ConvertUnit(new_content_height, kPixelsPerInch, dpi));
|
| -
|
| - if (original_page_size_in_pixels != page_size_in_pixels) {
|
| - page_css_params.page_size =
|
| - gfx::Size(ConvertUnit(page_size_in_pixels.width, kPixelsPerInch, dpi),
|
| - ConvertUnit(page_size_in_pixels.height, kPixelsPerInch, dpi));
|
| - } else {
|
| - // Printing frame doesn't have any page size css. Pixels to dpi conversion
|
| - // causes rounding off errors. Therefore use the default page size values
|
| - // directly.
|
| - page_css_params.page_size = page_params.page_size;
|
| - }
|
| + ConvertUnit(new_content_height, kPixelsPerInch, dpi));
|
|
|
| page_css_params.margin_top =
|
| ConvertUnit(margin_top_in_pixels, kPixelsPerInch, dpi);
|
|
|