| 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 4bf647597f9b6315d002c4fe47fa7c64792bb26a..390f8dcec831e8c35799980655c33120b2e6d96d 100644
|
| --- a/webkit/plugins/ppapi/ppapi_plugin_instance.cc
|
| +++ b/webkit/plugins/ppapi/ppapi_plugin_instance.cc
|
| @@ -50,6 +50,8 @@
|
| #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebGamepads.h"
|
| #include "third_party/WebKit/Source/WebKit/chromium/public/WebInputEvent.h"
|
| #include "third_party/WebKit/Source/WebKit/chromium/public/WebPluginContainer.h"
|
| +#include "third_party/WebKit/Source/WebKit/chromium/public/WebPrintParams.h"
|
| +#include "third_party/WebKit/Source/WebKit/chromium/public/WebPrintScalingOption.h"
|
| #include "third_party/WebKit/Source/WebKit/chromium/public/WebScopedUserGesture.h"
|
| #include "third_party/WebKit/Source/WebKit/chromium/public/WebSecurityOrigin.h"
|
| #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebString.h"
|
| @@ -120,6 +122,8 @@ using WebKit::WebFrame;
|
| using WebKit::WebInputEvent;
|
| using WebKit::WebPlugin;
|
| using WebKit::WebPluginContainer;
|
| +using WebKit::WebPrintParams;
|
| +using WebKit::WebPrintScalingOption;
|
| using WebKit::WebScopedUserGesture;
|
| using WebKit::WebString;
|
| using WebKit::WebURLRequest;
|
| @@ -180,6 +184,11 @@ const ui::TextInputType kPluginDefaultTextInputType = ui::TEXT_INPUT_TYPE_TEXT;
|
| == static_cast<int>(np_name), \
|
| mismatching_enums)
|
|
|
| +#define COMPILE_ASSERT_PRINT_SCALING_MATCHING_ENUM(webkit_name, pp_name) \
|
| + COMPILE_ASSERT(static_cast<int>(webkit_name) \
|
| + == static_cast<int>(pp_name), \
|
| + mismatching_enums)
|
| +
|
| // <embed>/<object> attributes.
|
| const char kWidth[] = "width";
|
| const char kHeight[] = "height";
|
| @@ -249,6 +258,14 @@ COMPILE_ASSERT_MATCHING_ENUM(TypeGrabbing, PP_MOUSECURSOR_TYPE_GRABBING);
|
| // Do not assert WebCursorInfo::TypeCustom == PP_CURSORTYPE_CUSTOM;
|
| // PP_CURSORTYPE_CUSTOM is pinned to allow new cursor types.
|
|
|
| +COMPILE_ASSERT_PRINT_SCALING_MATCHING_ENUM(WebKit::WebPrintScalingOptionNone,
|
| + PP_PRINTSCALINGOPTION_NONE);
|
| +COMPILE_ASSERT_PRINT_SCALING_MATCHING_ENUM(
|
| + WebKit::WebPrintScalingOptionFitToPrintableArea,
|
| + PP_PRINTSCALINGOPTION_FIT_TO_PRINTABLE_AREA);
|
| +COMPILE_ASSERT_PRINT_SCALING_MATCHING_ENUM(
|
| + WebKit::WebPrintScalingOptionSourceSize, PP_PRINTSCALINGOPTION_SOURCE_SIZE);
|
| +
|
| // Sets |*security_origin| to be the WebKit security origin associated with the
|
| // document containing the given plugin instance. On success, returns true. If
|
| // the instance is invalid, returns false and |*security_origin| will be
|
| @@ -1118,8 +1135,7 @@ bool PluginInstance::IsPrintScalingDisabled() {
|
| return plugin_print_interface_->IsScalingDisabled(pp_instance()) == PP_TRUE;
|
| }
|
|
|
| -int PluginInstance::PrintBegin(const gfx::Rect& printable_area,
|
| - int printer_dpi) {
|
| +int PluginInstance::PrintBegin(const WebPrintParams& print_params) {
|
| // Keep a reference on the stack. See NOTE above.
|
| scoped_refptr<PluginInstance> ref(this);
|
| PP_PrintOutputFormat_Dev format;
|
| @@ -1129,13 +1145,16 @@ int PluginInstance::PrintBegin(const gfx::Rect& printable_area,
|
| NOTREACHED();
|
| return 0;
|
| }
|
| -
|
| int num_pages = 0;
|
| PP_PrintSettings_Dev print_settings;
|
| - print_settings.printable_area = PP_FromGfxRect(printable_area);
|
| - print_settings.dpi = printer_dpi;
|
| + print_settings.printable_area = PP_FromGfxRect(print_params.printableArea);
|
| + print_settings.content_area = PP_FromGfxRect(print_params.printContentArea);
|
| + print_settings.paper_size = PP_FromGfxSize(print_params.paperSize);
|
| + print_settings.dpi = print_params.printerDPI;
|
| print_settings.orientation = PP_PRINTORIENTATION_NORMAL;
|
| print_settings.grayscale = PP_FALSE;
|
| + print_settings.print_scaling_option = static_cast<PP_PrintScalingOption_Dev>(
|
| + print_params.printScalingOption);
|
| print_settings.format = format;
|
| num_pages = plugin_print_interface_->Begin(pp_instance(),
|
| &print_settings);
|
|
|