summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome/renderer/print_web_view_helper.cc8
-rw-r--r--chrome/renderer/print_web_view_helper.h3
2 files changed, 10 insertions, 1 deletions
diff --git a/chrome/renderer/print_web_view_helper.cc b/chrome/renderer/print_web_view_helper.cc
index 1735d90..a2c9889 100644
--- a/chrome/renderer/print_web_view_helper.cc
+++ b/chrome/renderer/print_web_view_helper.cc
@@ -507,7 +507,7 @@ void PrintWebViewHelper::DidFinishPrinting(PrintingResult result) {
store_print_pages_params = false;
int cookie = print_pages_params_->params.document_cookie;
Send(new PrintHostMsg_PrintPreviewFailed(routing_id(), cookie));
- print_preview_context_.Abort();
+ print_preview_context_.Failed();
} else if (result == ABORT_PREVIEW) {
DCHECK(is_preview_);
store_print_pages_params = false;
@@ -1054,6 +1054,12 @@ void PrintWebViewHelper::PrintPreviewContext::Finished() {
ClearContext();
}
+void PrintWebViewHelper::PrintPreviewContext::Failed() {
+ DCHECK(IsBusy());
+ state_ = INITIALIZED;
+ ClearContext();
+}
+
void PrintWebViewHelper::PrintPreviewContext::Abort() {
state_ = UNINITIALIZED;
ClearContext();
diff --git a/chrome/renderer/print_web_view_helper.h b/chrome/renderer/print_web_view_helper.h
index 4606c37..e2bd4f6 100644
--- a/chrome/renderer/print_web_view_helper.h
+++ b/chrome/renderer/print_web_view_helper.h
@@ -331,6 +331,9 @@ class PrintWebViewHelper : public RenderViewObserver,
// Cleanup after print preview finishes.
void Finished();
+ // Cleanup after print preview fails.
+ void Failed();
+
// Abort the print preview.
void Abort();