summaryrefslogtreecommitdiffstats
path: root/webkit
diff options
context:
space:
mode:
authorsanjeevr@chromium.org <sanjeevr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-03-12 18:41:34 +0000
committersanjeevr@chromium.org <sanjeevr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-03-12 18:41:34 +0000
commitd961508014c7d95571a3a7c1a65a0dbac17a3191 (patch)
tree9dd5f4678865e35461a57f8593d4bdb77d5ad78b /webkit
parentc71df4c4db3ad3095e9c9e204eaa7aad7436eef0 (diff)
downloadchromium_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.h4
-rw-r--r--webkit/glue/webplugin_impl.cc13
-rw-r--r--webkit/glue/webplugin_impl.h22
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);