Index: chrome/renderer/print_web_view_helper.cc |
diff --git a/chrome/renderer/print_web_view_helper.cc b/chrome/renderer/print_web_view_helper.cc |
index b065f31b4416deae0f9ecc570ab673dde50736e9..dbf1ca5681009918883f1e05a5170dcf420063a3 100644 |
--- a/chrome/renderer/print_web_view_helper.cc |
+++ b/chrome/renderer/print_web_view_helper.cc |
@@ -319,7 +319,7 @@ void PrintWebViewHelper::OnPrintPreview(const DictionaryValue& settings) { |
return; |
} |
- if (print_pages_params_->params.preview_request_id != 0 && |
+ if (!print_pages_params_->params.is_first_request && |
old_print_pages_params_.get() && |
PrintMsg_Print_Params_IsEqual(*old_print_pages_params_, |
*print_pages_params_)) { |
@@ -351,11 +351,12 @@ bool PrintWebViewHelper::CreatePreviewDocument() { |
const std::vector<int>& pages = print_pages_params_->pages; |
if (!print_preview_context_.CreatePreviewDocument(&print_params, pages)) |
return false; |
- int page_count = print_preview_context_.total_page_count(); |
- bool is_modifiable = print_preview_context_.IsModifiable(); |
- int document_cookie = print_pages_params_->params.document_cookie; |
- Send(new PrintHostMsg_DidGetPreviewPageCount(routing_id(), document_cookie, |
- page_count, is_modifiable)); |
+ PrintHostMsg_DidGetPreviewPageCount_Params params; |
+ params.page_count = print_preview_context_.total_page_count(); |
+ params.is_modifiable = print_preview_context_.IsModifiable(); |
+ params.document_cookie = print_pages_params_->params.document_cookie; |
+ params.preview_request_id = print_pages_params_->params.preview_request_id; |
+ Send(new PrintHostMsg_DidGetPreviewPageCount(routing_id(), params)); |
PreviewPageRendered(printing::INVALID_PAGE_INDEX, NULL); |
return true; |
} |
@@ -773,6 +774,11 @@ bool PrintWebViewHelper::UpdatePrintSettings( |
if (!UpdatePrintSettingsRequestId(job_settings, &(settings.params))) |
return false; |
+ if (!job_settings.GetBoolean(printing::kIsFirstRequest, |
+ &(settings.params.is_first_request))) { |
+ NOTREACHED(); |
+ } |
+ |
print_pages_params_.reset(new PrintMsg_PrintPages_Params(settings)); |
Send(new PrintHostMsg_DidGetDocumentCookie(routing_id(), |
settings.params.document_cookie)); |
@@ -931,6 +937,8 @@ void PrintWebViewHelper::PreviewPageRendered(int page_number, |
} |
preview_page_params.data_size = buf_size; |
preview_page_params.page_number = page_number; |
+ preview_page_params.preview_request_id = |
+ print_pages_params_->params.preview_request_id; |
Send(new PrintHostMsg_DidPreviewPage(routing_id(), preview_page_params)); |
} |