From d961508014c7d95571a3a7c1a65a0dbac17a3191 Mon Sep 17 00:00:00 2001 From: "sanjeevr@chromium.org" Date: Fri, 12 Mar 2010 18:41:34 +0000 Subject: Fixed the Pepper print interface to take in the print dimensions and printer DPI only in the PrintBegin method. The plugin is expected to remember this until PrintEnd is called. BUG=None TEST=Test printing with plugins that support the new interface Review URL: http://codereview.chromium.org/858007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41453 0039d316-1c4b-4281-b951-d872f2087c98 --- webkit/glue/plugins/webplugin_print_delegate.h | 4 +--- webkit/glue/webplugin_impl.cc | 13 ++----------- webkit/glue/webplugin_impl.h | 22 ---------------------- 3 files changed, 3 insertions(+), 36 deletions(-) (limited to 'webkit') diff --git a/webkit/glue/plugins/webplugin_print_delegate.h b/webkit/glue/plugins/webplugin_print_delegate.h index 1cd5b6d..040e58f 100644 --- a/webkit/glue/plugins/webplugin_print_delegate.h +++ b/webkit/glue/plugins/webplugin_print_delegate.h @@ -31,9 +31,7 @@ class WebPluginPrintDelegate { return 0; } - // Note: printable_area is in points (a point is 1/72 of an inch). - virtual bool PrintPage(int page_number, const gfx::Rect& printable_area, - int printer_dpi, WebKit::WebCanvas* canvas) { + virtual bool PrintPage(int page_number, WebKit::WebCanvas* canvas) { return false; } diff --git a/webkit/glue/webplugin_impl.cc b/webkit/glue/webplugin_impl.cc index ec7bf71..e797676 100644 --- a/webkit/glue/webplugin_impl.cc +++ b/webkit/glue/webplugin_impl.cc @@ -389,26 +389,17 @@ int WebPluginImpl::printBegin(const WebRect& printable_area, int printer_dpi) { if (!supportsPaginatedPrint()) return 0; - print_settings_.is_printing = true; - print_settings_.printable_area = printable_area; - print_settings_.printer_dpi = printer_dpi; return delegate_->PrintBegin(printable_area, printer_dpi); } bool WebPluginImpl::printPage(int page_number, WebCanvas* canvas) { if (!delegate_) return false; - if (!print_settings_.is_printing) { - NOTREACHED(); - return false; - } - return delegate_->PrintPage(page_number, print_settings_.printable_area, - print_settings_.printer_dpi, canvas); + + return delegate_->PrintPage(page_number, canvas); } void WebPluginImpl::printEnd() { - DCHECK(print_settings_.is_printing); - print_settings_.Clear(); if (delegate_) delegate_->PrintEnd(); } diff --git a/webkit/glue/webplugin_impl.h b/webkit/glue/webplugin_impl.h index ced39f5..5d6c49c 100644 --- a/webkit/glue/webplugin_impl.h +++ b/webkit/glue/webplugin_impl.h @@ -311,28 +311,6 @@ class WebPluginImpl : public WebPlugin, std::vector arg_names_; std::vector arg_values_; - struct PrintSettings { - // This is set to true when printBegin is called and false when printEnd is - // called. - bool is_printing; - // The remembered printable_area from the last printBegin call. It is - // cleared in printEnd. - WebKit::WebRect printable_area; - // The remembered printer_dpi from the last printBegin call. It is cleared - // in printEnd. - int printer_dpi; - PrintSettings() { - Clear(); - } - void Clear() { - is_printing = false; - printable_area = WebKit::WebRect(0, 0, 0, 0); - printer_dpi = 0; - } - }; - - PrintSettings print_settings_; - ScopedRunnableMethodFactory method_factory_; DISALLOW_COPY_AND_ASSIGN(WebPluginImpl); -- cgit v1.1