| Index: webkit/plugins/ppapi/ppapi_plugin_instance.cc
|
| diff --git a/webkit/plugins/ppapi/ppapi_plugin_instance.cc b/webkit/plugins/ppapi/ppapi_plugin_instance.cc
|
| index ffb0c17a4f95a041e3ee9b3b2cc815af254f7a42..e9e054678156952e65fe937accf1c3a8d6f8b774 100644
|
| --- a/webkit/plugins/ppapi/ppapi_plugin_instance.cc
|
| +++ b/webkit/plugins/ppapi/ppapi_plugin_instance.cc
|
| @@ -1137,7 +1137,10 @@ bool PluginInstance::IsPrintScalingDisabled() {
|
| return plugin_print_interface_->IsScalingDisabled(pp_instance()) == PP_TRUE;
|
| }
|
|
|
| -int PluginInstance::PrintBegin(const gfx::Rect& printable_area,
|
| +int PluginInstance::PrintBegin(const gfx::Rect& content_area,
|
| + const gfx::Rect& printable_area,
|
| + const gfx::Size& paper_size,
|
| + bool fit_to_paper_size,
|
| int printer_dpi) {
|
| // Keep a reference on the stack. See NOTE above.
|
| scoped_refptr<PluginInstance> ref(this);
|
| @@ -1152,9 +1155,12 @@ int PluginInstance::PrintBegin(const gfx::Rect& printable_area,
|
| int num_pages = 0;
|
| PP_PrintSettings_Dev print_settings;
|
| print_settings.printable_area = PP_FromGfxRect(printable_area);
|
| + print_settings.content_area = PP_FromGfxRect(content_area);
|
| + print_settings.paper_size = PP_FromGfxSize(paper_size);
|
| print_settings.dpi = printer_dpi;
|
| print_settings.orientation = PP_PRINTORIENTATION_NORMAL;
|
| print_settings.grayscale = PP_FALSE;
|
| + print_settings.fit_to_paper_size = PP_FromBool(fit_to_paper_size);
|
| print_settings.format = format;
|
| num_pages = plugin_print_interface_->Begin(pp_instance(),
|
| &print_settings);
|
| @@ -1456,7 +1462,7 @@ bool PluginInstance::PrintPDFOutput(PP_Resource print_output,
|
| CGContextRef cgContext = canvas;
|
| CGContextSaveGState(cgContext);
|
| CGContextTranslateCTM(cgContext, 0,
|
| - current_print_settings_.printable_area.size.height);
|
| + current_print_settings_.content_area.size.height);
|
| CGContextScaleCTM(cgContext, 1.0, -1.0);
|
| CGRect page_rect;
|
| page_rect.origin.x = current_print_settings_.printable_area.point.x;
|
| @@ -1529,18 +1535,18 @@ bool PluginInstance::PrintRasterOutput(PP_Resource print_output,
|
| src_rect.set(0, 0, bitmap->width(), bitmap->height());
|
| SkRect dest_rect;
|
| dest_rect.set(
|
| - SkIntToScalar(current_print_settings_.printable_area.point.x),
|
| - SkIntToScalar(current_print_settings_.printable_area.point.y),
|
| - SkIntToScalar(current_print_settings_.printable_area.point.x +
|
| - current_print_settings_.printable_area.size.width),
|
| - SkIntToScalar(current_print_settings_.printable_area.point.y +
|
| - current_print_settings_.printable_area.size.height));
|
| + SkIntToScalar(current_print_settings_.content_area.point.x),
|
| + SkIntToScalar(current_print_settings_.content_area.point.y),
|
| + SkIntToScalar(current_print_settings_.content_area.point.x +
|
| + current_print_settings_.content_area.size.width),
|
| + SkIntToScalar(current_print_settings_.content_area.point.y +
|
| + current_print_settings_.content_area.size.height));
|
| bool draw_to_canvas = true;
|
| gfx::Rect dest_rect_gfx;
|
| - dest_rect_gfx.set_x(current_print_settings_.printable_area.point.x);
|
| - dest_rect_gfx.set_y(current_print_settings_.printable_area.point.y);
|
| - dest_rect_gfx.set_width(current_print_settings_.printable_area.size.width);
|
| - dest_rect_gfx.set_height(current_print_settings_.printable_area.size.height);
|
| + dest_rect_gfx.set_x(current_print_settings_.content_area.point.x);
|
| + dest_rect_gfx.set_y(current_print_settings_.content_area.point.y);
|
| + dest_rect_gfx.set_width(current_print_settings_.content_area.size.width);
|
| + dest_rect_gfx.set_height(current_print_settings_.content_area.size.height);
|
|
|
| #if defined(OS_WIN)
|
| // Since this is a raster output, the size of the bitmap can be
|
| @@ -1559,7 +1565,7 @@ bool PluginInstance::PrintRasterOutput(PP_Resource print_output,
|
| #if defined(OS_MACOSX) && !defined(USE_SKIA)
|
| draw_to_canvas = false;
|
| DrawSkBitmapToCanvas(*bitmap, canvas, dest_rect_gfx,
|
| - current_print_settings_.printable_area.size.height);
|
| + current_print_settings_.content_area.size.height);
|
| // See comments in the header file.
|
| last_printed_page_ = image;
|
| #else // defined(OS_MACOSX) && !defined(USE_SKIA)
|
|
|