summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/print_web_view_helper_linux.cc
diff options
context:
space:
mode:
authorkmadhusu@chromium.org <kmadhusu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-06-24 01:19:05 +0000
committerkmadhusu@chromium.org <kmadhusu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-06-24 01:19:05 +0000
commitd1f9090e19aa5223eece8b11b8d680991e261953 (patch)
tree7c1d006b04bc9c12dd37005d89de8bb8445e0ba0 /chrome/renderer/print_web_view_helper_linux.cc
parent69a729c7afe80e6f7d1f4d7760b72bf223936d40 (diff)
downloadchromium_src-d1f9090e19aa5223eece8b11b8d680991e261953.zip
chromium_src-d1f9090e19aa5223eece8b11b8d680991e261953.tar.gz
chromium_src-d1f9090e19aa5223eece8b11b8d680991e261953.tar.bz2
PrintPreview: Regenerate print preview data only when required.
Do not regenerate print preview data if the new printer settings matches previously selected printer settings. BUG=82211 TEST=Preview a long webpage. Wait till the preview is loaded. Change the destination printer. If the new printer settings matches the old printer settings, you can observe that the preview data is loaded very quickly. Review URL: http://codereview.chromium.org/7204043 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@90320 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer/print_web_view_helper_linux.cc')
-rw-r--r--chrome/renderer/print_web_view_helper_linux.cc10
1 files changed, 6 insertions, 4 deletions
diff --git a/chrome/renderer/print_web_view_helper_linux.cc b/chrome/renderer/print_web_view_helper_linux.cc
index bb7a642..9e00adc 100644
--- a/chrome/renderer/print_web_view_helper_linux.cc
+++ b/chrome/renderer/print_web_view_helper_linux.cc
@@ -28,24 +28,26 @@ using WebKit::WebNode;
bool PrintWebViewHelper::CreatePreviewDocument(
const PrintMsg_PrintPages_Params& params, WebKit::WebFrame* frame,
WebKit::WebNode* node, bool draft) {
- int page_count = 0;
+ preview_page_count_ = 0;
printing::PreviewMetafile metafile;
metafile.set_draft(draft);
if (!metafile.Init())
return false;
- if (!RenderPages(params, frame, node, false, &page_count, &metafile, true))
+ if (!RenderPages(params, frame, node, false, &preview_page_count_,
+ &metafile, true)) {
return false;
-
+ }
// Get the size of the resulting metafile.
uint32 buf_size = metafile.GetDataSize();
DCHECK_GT(buf_size, 0u);
PrintHostMsg_DidPreviewDocument_Params preview_params;
+ preview_params.reuse_existing_data = false;
preview_params.data_size = buf_size;
preview_params.document_cookie = params.params.document_cookie;
- preview_params.expected_pages_count = page_count;
+ preview_params.expected_pages_count = preview_page_count_;
preview_params.modifiable = IsModifiable(frame, node);
if (!CopyMetafileDataToSharedMem(&metafile,