summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/print_web_view_helper.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/renderer/print_web_view_helper.cc')
-rw-r--r--chrome/renderer/print_web_view_helper.cc19
1 files changed, 15 insertions, 4 deletions
diff --git a/chrome/renderer/print_web_view_helper.cc b/chrome/renderer/print_web_view_helper.cc
index 8fcfd08..a918de7 100644
--- a/chrome/renderer/print_web_view_helper.cc
+++ b/chrome/renderer/print_web_view_helper.cc
@@ -398,7 +398,11 @@ void PrintWebViewHelper::DidFinishPrinting(PrintingResult result) {
}
} else if (result == FAIL_PREVIEW) {
int cookie = print_pages_params_->params.document_cookie;
- Send(new PrintHostMsg_PrintPreviewFailed(routing_id(), cookie));
+ if (notify_browser_of_print_failure_) {
+ Send(new PrintHostMsg_PrintPreviewFailed(routing_id(), cookie));
+ } else {
+ Send(new PrintHostMsg_PrintPreviewCancelled(routing_id(), cookie));
+ }
}
if (print_web_view_) {
@@ -449,12 +453,11 @@ bool PrintWebViewHelper::PrintPages(const PrintMsg_PrintPages_Params& params,
node,
frame->view());
int page_count = prep_frame_view.GetExpectedPageCount();
-
+ if (!page_count)
+ return false;
Send(new PrintHostMsg_DidGetPrintedPagesCount(routing_id(),
printParams.document_cookie,
page_count));
- if (!page_count)
- return false;
const gfx::Size& canvas_size = prep_frame_view.GetPrintCanvasSize();
PrintMsg_PrintPage_Params page_params;
@@ -804,3 +807,11 @@ void PrintWebViewHelper::RequestPrintPreview() {
old_print_pages_params_.reset();
Send(new PrintHostMsg_RequestPrintPreview(routing_id()));
}
+
+bool PrintWebViewHelper::PreviewPageRendered(int page_number) {
+ bool cancel = false;
+ Send(new PrintHostMsg_DidPreviewPage(routing_id(), page_number, &cancel));
+ if (cancel)
+ notify_browser_of_print_failure_ = false;
+ return !cancel;
+}