diff options
author | sanjeevr@chromium.org <sanjeevr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-03-12 18:41:34 +0000 |
---|---|---|
committer | sanjeevr@chromium.org <sanjeevr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-03-12 18:41:34 +0000 |
commit | d961508014c7d95571a3a7c1a65a0dbac17a3191 (patch) | |
tree | 9dd5f4678865e35461a57f8593d4bdb77d5ad78b /webkit | |
parent | c71df4c4db3ad3095e9c9e204eaa7aad7436eef0 (diff) | |
download | chromium_src-d961508014c7d95571a3a7c1a65a0dbac17a3191.zip chromium_src-d961508014c7d95571a3a7c1a65a0dbac17a3191.tar.gz chromium_src-d961508014c7d95571a3a7c1a65a0dbac17a3191.tar.bz2 |
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
Diffstat (limited to 'webkit')
-rw-r--r-- | webkit/glue/plugins/webplugin_print_delegate.h | 4 | ||||
-rw-r--r-- | webkit/glue/webplugin_impl.cc | 13 | ||||
-rw-r--r-- | webkit/glue/webplugin_impl.h | 22 |
3 files changed, 3 insertions, 36 deletions
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<std::string> arg_names_; std::vector<std::string> 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<WebPluginImpl> method_factory_; DISALLOW_COPY_AND_ASSIGN(WebPluginImpl); |