Commit ba515e4b authored by Lei Zhang's avatar Lei Zhang Committed by Commit Bot

Do more clean up in some Print Preview browser tests.

Normally, when Print Preview finishes, the browser will call
PrintPreviewDone(), which in turn calls OnClosePrintPreviewDialog().
Change PrintPreviewDialogControllerBrowserTest and
PrintRenderFrameHelperPreviewTest to do this as well.

This is in preparation for a follow-up CL that changes when webpages are
(un)paused for printing. With that CL, tests can no longer start a print
preview and leave it in an unfinished state like it does now.

Bug: 956832
Change-Id: I70908f0b86bfa288c257a65046c021cdd6138c2c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2340515Reviewed-by: default avatarKent Tamura <tkent@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
Cr-Commit-Position: refs/heads/master@{#796721}
parent 387da7ef
......@@ -19,6 +19,7 @@
#include "build/build_config.h"
#include "chrome/browser/plugins/chrome_plugin_service_filter.h"
#include "chrome/browser/plugins/plugin_prefs.h"
#include "chrome/browser/printing/print_view_manager.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/task_manager/mock_web_contents_task_manager.h"
#include "chrome/browser/ui/browser.h"
......@@ -159,6 +160,12 @@ class PrintPreviewDialogControllerBrowserTest : public InProcessBrowserTest {
return dialog_controller->GetPrintPreviewForContents(initiator_);
}
void PrintPreviewDone() {
auto* print_view_manager =
printing::PrintViewManager::FromWebContents(initiator());
print_view_manager->PrintPreviewDone();
}
void SetAlwaysOpenPdfExternallyForTests() {
PluginPrefs::GetForProfile(browser()->profile())
->SetAlwaysOpenPdfExternallyForTests(true);
......@@ -220,6 +227,8 @@ IN_PROC_BROWSER_TEST_F(PrintPreviewDialogControllerBrowserTest,
ASSERT_TRUE(preview_dialog);
ASSERT_NE(initiator(), preview_dialog);
PrintPreviewDone();
// Navigate in the initiator tab. Make sure navigating destroys the print
// preview dialog.
content::WebContentsDestroyedWatcher watcher(preview_dialog);
......@@ -234,6 +243,8 @@ IN_PROC_BROWSER_TEST_F(PrintPreviewDialogControllerBrowserTest,
// Check a new preview dialog got created.
EXPECT_TRUE(new_preview_dialog);
PrintPreviewDone();
}
// Test to verify that after reloading the initiator, it creates a new print
......@@ -249,6 +260,8 @@ IN_PROC_BROWSER_TEST_F(PrintPreviewDialogControllerBrowserTest,
ASSERT_TRUE(preview_dialog);
ASSERT_NE(initiator(), preview_dialog);
PrintPreviewDone();
// Reload the initiator. Make sure reloading destroys the print preview
// dialog.
content::WebContentsDestroyedWatcher watcher(preview_dialog);
......@@ -268,6 +281,8 @@ IN_PROC_BROWSER_TEST_F(PrintPreviewDialogControllerBrowserTest,
// Create a preview dialog for the initiator tab.
WebContents* new_preview_dialog = GetPrintPreviewDialog();
EXPECT_TRUE(new_preview_dialog);
PrintPreviewDone();
}
// Test to verify that after print preview works even when the PDF plugin is
......@@ -322,6 +337,8 @@ IN_PROC_BROWSER_TEST_F(PrintPreviewDialogControllerBrowserTest,
// Make sure all the frames in the dialog has access to the PDF plugin.
preview_dialog->ForEachFrame(
base::BindRepeating(&CheckPdfPluginForRenderFrame));
PrintPreviewDone();
}
namespace {
......@@ -359,6 +376,8 @@ IN_PROC_BROWSER_TEST_F(PrintPreviewDialogControllerBrowserTest,
expected_prefix,
base::CompareCase::INSENSITIVE_ASCII));
PrintPreviewDone();
// Navigating away from the current page in the current tab for which a print
// preview is displayed will cancel the print preview and hence the task
// manger shouldn't show a printing task.
......@@ -377,6 +396,7 @@ IN_PROC_BROWSER_TEST_F(PrintPreviewDialogControllerBrowserTest,
EXPECT_TRUE(base::StartsWith(title,
expected_prefix,
base::CompareCase::INSENSITIVE_ASCII));
PrintPreviewDone();
}
IN_PROC_BROWSER_TEST_F(PrintPreviewDialogControllerBrowserTest,
......@@ -386,4 +406,6 @@ IN_PROC_BROWSER_TEST_F(PrintPreviewDialogControllerBrowserTest,
PrintPreview();
WebContents* preview_dialog = GetPrintPreviewDialog();
WaitForAccessibilityTreeToContainNodeWithName(preview_dialog, "HelloWorld");
PrintPreviewDone();
}
......@@ -815,6 +815,8 @@ TEST_F(MAYBE_PrintRenderFrameHelperPreviewTest, BlockScriptInitiatedPrinting) {
print_render_frame_helper->SetPrintingEnabled(true);
PrintWithJavaScript();
VerifyPreviewRequest(true);
OnClosePrintPreviewDialog();
}
TEST_F(MAYBE_PrintRenderFrameHelperPreviewTest, PrintWithJavaScript) {
......@@ -826,6 +828,8 @@ TEST_F(MAYBE_PrintRenderFrameHelperPreviewTest, PrintWithJavaScript) {
ClickMouseButton(bounds);
VerifyPreviewRequest(true);
OnClosePrintPreviewDialog();
}
// Tests that print preview work and sending and receiving messages through
......@@ -846,6 +850,8 @@ TEST_F(MAYBE_PrintRenderFrameHelperPreviewTest, OnPrintPreview) {
VerifyPrintPreviewFailed(false);
VerifyPrintPreviewGenerated(true);
VerifyPagesPrinted(false);
OnClosePrintPreviewDialog();
}
TEST_F(MAYBE_PrintRenderFrameHelperPreviewTest,
......@@ -877,6 +883,8 @@ TEST_F(MAYBE_PrintRenderFrameHelperPreviewTest,
VerifyPrintPreviewFailed(false);
VerifyPrintPreviewGenerated(true);
VerifyPagesPrinted(false);
OnClosePrintPreviewDialog();
}
// Test to verify that print preview ignores print media css when non-default
......@@ -900,6 +908,8 @@ TEST_F(MAYBE_PrintRenderFrameHelperPreviewTest,
VerifyPrintPreviewFailed(false);
VerifyPrintPreviewGenerated(true);
VerifyPagesPrinted(false);
OnClosePrintPreviewDialog();
}
// Test to verify that print preview honor print media size css when
......@@ -924,6 +934,8 @@ TEST_F(MAYBE_PrintRenderFrameHelperPreviewTest,
VerifyPrintPreviewFailed(false);
VerifyPrintPreviewGenerated(true);
VerifyPagesPrinted(false);
OnClosePrintPreviewDialog();
}
TEST_F(MAYBE_PrintRenderFrameHelperPreviewTest,
......@@ -1046,6 +1058,8 @@ TEST_F(MAYBE_PrintRenderFrameHelperPreviewTest,
VerifyPrintPreviewFailed(false);
VerifyPrintPreviewGenerated(true);
VerifyPagesPrinted(false);
OnClosePrintPreviewDialog();
}
// Test to verify that print preview honor print margin css when PRINT_TO_PDF
......@@ -1081,6 +1095,8 @@ TEST_F(MAYBE_PrintRenderFrameHelperPreviewTest,
VerifyPrintPreviewFailed(false);
VerifyPrintPreviewGenerated(true);
VerifyPagesPrinted(false);
OnClosePrintPreviewDialog();
}
// Test to verify that print preview workflow center the html page contents to
......@@ -1102,6 +1118,8 @@ TEST_F(MAYBE_PrintRenderFrameHelperPreviewTest, PrintPreviewCenterToFitPage) {
VerifyPrintPreviewFailed(false);
VerifyPrintPreviewGenerated(true);
VerifyPagesPrinted(false);
OnClosePrintPreviewDialog();
}
// Test to verify that print preview workflow scale the html page contents to
......@@ -1134,6 +1152,8 @@ TEST_F(MAYBE_PrintRenderFrameHelperPreviewTest, PrintPreviewShrinkToFitPage) {
VerifyPrintPreviewFailed(false);
VerifyPrintPreviewGenerated(true);
VerifyPagesPrinted(false);
OnClosePrintPreviewDialog();
}
// Test to verify that print preview workflow honor the orientation settings
......@@ -1157,6 +1177,8 @@ TEST_F(MAYBE_PrintRenderFrameHelperPreviewTest,
VerifyPrintPreviewFailed(false);
VerifyPrintPreviewGenerated(true);
VerifyPagesPrinted(false);
OnClosePrintPreviewDialog();
}
// Test to verify that print preview workflow honors the orientation settings
......@@ -1179,6 +1201,8 @@ TEST_F(MAYBE_PrintRenderFrameHelperPreviewTest,
VerifyPrintPreviewFailed(false);
VerifyPrintPreviewGenerated(true);
VerifyPagesPrinted(false);
OnClosePrintPreviewDialog();
}
TEST_F(MAYBE_PrintRenderFrameHelperPreviewTest, PrintPreviewForMultiplePages) {
......@@ -1199,6 +1223,8 @@ TEST_F(MAYBE_PrintRenderFrameHelperPreviewTest, PrintPreviewForMultiplePages) {
VerifyPrintPreviewFailed(false);
VerifyPrintPreviewGenerated(true);
VerifyPagesPrinted(false);
OnClosePrintPreviewDialog();
}
TEST_F(MAYBE_PrintRenderFrameHelperPreviewTest, PrintPreviewForSelectedPages) {
......@@ -1234,6 +1260,8 @@ TEST_F(MAYBE_PrintRenderFrameHelperPreviewTest, PrintPreviewForSelectedPages) {
VerifyPrintPreviewFailed(false);
VerifyPrintPreviewGenerated(true);
VerifyPagesPrinted(false);
OnClosePrintPreviewDialog();
}
// Test to verify that preview generated only for one page.
......@@ -1257,6 +1285,8 @@ TEST_F(MAYBE_PrintRenderFrameHelperPreviewTest, PrintPreviewForSelectedText) {
VerifyPrintPreviewFailed(false);
VerifyPrintPreviewGenerated(true);
VerifyPagesPrinted(false);
OnClosePrintPreviewDialog();
}
// Test to verify that preview generated only for two pages.
......@@ -1280,6 +1310,8 @@ TEST_F(MAYBE_PrintRenderFrameHelperPreviewTest, PrintPreviewForSelectedText2) {
VerifyPrintPreviewFailed(false);
VerifyPrintPreviewGenerated(true);
VerifyPagesPrinted(false);
OnClosePrintPreviewDialog();
}
// Tests that cancelling print preview works.
......@@ -1299,6 +1331,8 @@ TEST_F(MAYBE_PrintRenderFrameHelperPreviewTest, PrintPreviewCancel) {
VerifyPrintPreviewFailed(false);
VerifyPrintPreviewGenerated(false);
VerifyPagesPrinted(false);
OnClosePrintPreviewDialog();
}
// Tests that when default printer has invalid printer settings, print preview
......@@ -1322,6 +1356,8 @@ TEST_F(MAYBE_PrintRenderFrameHelperPreviewTest,
// It should receive the invalid printer settings message only.
VerifyPrintPreviewFailed(false);
VerifyPrintPreviewGenerated(false);
OnClosePrintPreviewDialog();
}
// Tests that when the selected printer has invalid page settings, print preview
......@@ -1342,6 +1378,8 @@ TEST_F(MAYBE_PrintRenderFrameHelperPreviewTest,
// It should receive the invalid printer settings message only.
VerifyPrintPreviewFailed(false);
VerifyPrintPreviewGenerated(false);
OnClosePrintPreviewDialog();
}
// Tests that when the selected printer has invalid content settings, print
......@@ -1362,6 +1400,8 @@ TEST_F(MAYBE_PrintRenderFrameHelperPreviewTest,
// It should receive the invalid printer settings message only.
VerifyPrintPreviewFailed(false);
VerifyPrintPreviewGenerated(false);
OnClosePrintPreviewDialog();
}
TEST_F(MAYBE_PrintRenderFrameHelperPreviewTest, BasicBeforePrintAfterPrint) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment