Index: chrome/browser/ui/webui/print_preview/print_preview_ui.cc |
diff --git a/chrome/browser/ui/webui/print_preview/print_preview_ui.cc b/chrome/browser/ui/webui/print_preview/print_preview_ui.cc |
index ca4c7e43595e953969fe7512ee9086d07136a4f2..4e8e8abcd79cf28ae2403723f3c12de54919c4f3 100644 |
--- a/chrome/browser/ui/webui/print_preview/print_preview_ui.cc |
+++ b/chrome/browser/ui/webui/print_preview/print_preview_ui.cc |
@@ -520,8 +520,12 @@ void PrintPreviewUI::OnPreviewDataIsAvailable(int expected_pages_count, |
} |
base::FundamentalValue ui_identifier(id_); |
base::FundamentalValue ui_preview_request_id(preview_request_id); |
- web_ui()->CallJavascriptFunction("updatePrintPreview", ui_identifier, |
- ui_preview_request_id); |
+ if (AutoCancelForTesting()) { |
+ OnClosePrintPreviewDialog(); |
+ } else { |
+ web_ui()->CallJavascriptFunction("updatePrintPreview", ui_identifier, |
+ ui_preview_request_id); |
+ } |
} |
void PrintPreviewUI::OnPrintPreviewDialogDestroyed() { |
@@ -582,3 +586,13 @@ void PrintPreviewUI::OnReloadPrintersList() { |
void PrintPreviewUI::OnPrintPreviewScalingDisabled() { |
web_ui()->CallJavascriptFunction("printScalingDisabledForSourcePDF"); |
} |
+ |
+static bool g_auto_cancel_for_testing_ = false; |
+ |
+void PrintPreviewUI::SetAutoCancelForTesting(bool auto_cancel) { |
+ g_auto_cancel_for_testing_ = auto_cancel; |
+} |
+ |
+bool PrintPreviewUI::AutoCancelForTesting() { |
+ return g_auto_cancel_for_testing_; |
+} |