Skip to content

Commit ba515e4

Browse files
leizleizCommit Bot
authored and
Commit Bot
committed
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/+/2340515 Reviewed-by: Kent Tamura <tkent@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org> Cr-Commit-Position: refs/heads/master@{#796721}
1 parent 387da7e commit ba515e4

File tree

2 files changed

+62
-0
lines changed

2 files changed

+62
-0
lines changed

chrome/browser/printing/print_preview_dialog_controller_browsertest.cc

+22
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
#include "build/build_config.h"
2020
#include "chrome/browser/plugins/chrome_plugin_service_filter.h"
2121
#include "chrome/browser/plugins/plugin_prefs.h"
22+
#include "chrome/browser/printing/print_view_manager.h"
2223
#include "chrome/browser/profiles/profile.h"
2324
#include "chrome/browser/task_manager/mock_web_contents_task_manager.h"
2425
#include "chrome/browser/ui/browser.h"
@@ -159,6 +160,12 @@ class PrintPreviewDialogControllerBrowserTest : public InProcessBrowserTest {
159160
return dialog_controller->GetPrintPreviewForContents(initiator_);
160161
}
161162

163+
void PrintPreviewDone() {
164+
auto* print_view_manager =
165+
printing::PrintViewManager::FromWebContents(initiator());
166+
print_view_manager->PrintPreviewDone();
167+
}
168+
162169
void SetAlwaysOpenPdfExternallyForTests() {
163170
PluginPrefs::GetForProfile(browser()->profile())
164171
->SetAlwaysOpenPdfExternallyForTests(true);
@@ -220,6 +227,8 @@ IN_PROC_BROWSER_TEST_F(PrintPreviewDialogControllerBrowserTest,
220227
ASSERT_TRUE(preview_dialog);
221228
ASSERT_NE(initiator(), preview_dialog);
222229

230+
PrintPreviewDone();
231+
223232
// Navigate in the initiator tab. Make sure navigating destroys the print
224233
// preview dialog.
225234
content::WebContentsDestroyedWatcher watcher(preview_dialog);
@@ -234,6 +243,8 @@ IN_PROC_BROWSER_TEST_F(PrintPreviewDialogControllerBrowserTest,
234243

235244
// Check a new preview dialog got created.
236245
EXPECT_TRUE(new_preview_dialog);
246+
247+
PrintPreviewDone();
237248
}
238249

239250
// Test to verify that after reloading the initiator, it creates a new print
@@ -249,6 +260,8 @@ IN_PROC_BROWSER_TEST_F(PrintPreviewDialogControllerBrowserTest,
249260
ASSERT_TRUE(preview_dialog);
250261
ASSERT_NE(initiator(), preview_dialog);
251262

263+
PrintPreviewDone();
264+
252265
// Reload the initiator. Make sure reloading destroys the print preview
253266
// dialog.
254267
content::WebContentsDestroyedWatcher watcher(preview_dialog);
@@ -268,6 +281,8 @@ IN_PROC_BROWSER_TEST_F(PrintPreviewDialogControllerBrowserTest,
268281
// Create a preview dialog for the initiator tab.
269282
WebContents* new_preview_dialog = GetPrintPreviewDialog();
270283
EXPECT_TRUE(new_preview_dialog);
284+
285+
PrintPreviewDone();
271286
}
272287

273288
// Test to verify that after print preview works even when the PDF plugin is
@@ -322,6 +337,8 @@ IN_PROC_BROWSER_TEST_F(PrintPreviewDialogControllerBrowserTest,
322337
// Make sure all the frames in the dialog has access to the PDF plugin.
323338
preview_dialog->ForEachFrame(
324339
base::BindRepeating(&CheckPdfPluginForRenderFrame));
340+
341+
PrintPreviewDone();
325342
}
326343

327344
namespace {
@@ -359,6 +376,8 @@ IN_PROC_BROWSER_TEST_F(PrintPreviewDialogControllerBrowserTest,
359376
expected_prefix,
360377
base::CompareCase::INSENSITIVE_ASCII));
361378

379+
PrintPreviewDone();
380+
362381
// Navigating away from the current page in the current tab for which a print
363382
// preview is displayed will cancel the print preview and hence the task
364383
// manger shouldn't show a printing task.
@@ -377,6 +396,7 @@ IN_PROC_BROWSER_TEST_F(PrintPreviewDialogControllerBrowserTest,
377396
EXPECT_TRUE(base::StartsWith(title,
378397
expected_prefix,
379398
base::CompareCase::INSENSITIVE_ASCII));
399+
PrintPreviewDone();
380400
}
381401

382402
IN_PROC_BROWSER_TEST_F(PrintPreviewDialogControllerBrowserTest,
@@ -386,4 +406,6 @@ IN_PROC_BROWSER_TEST_F(PrintPreviewDialogControllerBrowserTest,
386406
PrintPreview();
387407
WebContents* preview_dialog = GetPrintPreviewDialog();
388408
WaitForAccessibilityTreeToContainNodeWithName(preview_dialog, "HelloWorld");
409+
410+
PrintPreviewDone();
389411
}

components/printing/test/print_render_frame_helper_browsertest.cc

+40
Original file line numberDiff line numberDiff line change
@@ -815,6 +815,8 @@ TEST_F(MAYBE_PrintRenderFrameHelperPreviewTest, BlockScriptInitiatedPrinting) {
815815
print_render_frame_helper->SetPrintingEnabled(true);
816816
PrintWithJavaScript();
817817
VerifyPreviewRequest(true);
818+
819+
OnClosePrintPreviewDialog();
818820
}
819821

820822
TEST_F(MAYBE_PrintRenderFrameHelperPreviewTest, PrintWithJavaScript) {
@@ -826,6 +828,8 @@ TEST_F(MAYBE_PrintRenderFrameHelperPreviewTest, PrintWithJavaScript) {
826828
ClickMouseButton(bounds);
827829

828830
VerifyPreviewRequest(true);
831+
832+
OnClosePrintPreviewDialog();
829833
}
830834

831835
// Tests that print preview work and sending and receiving messages through
@@ -846,6 +850,8 @@ TEST_F(MAYBE_PrintRenderFrameHelperPreviewTest, OnPrintPreview) {
846850
VerifyPrintPreviewFailed(false);
847851
VerifyPrintPreviewGenerated(true);
848852
VerifyPagesPrinted(false);
853+
854+
OnClosePrintPreviewDialog();
849855
}
850856

851857
TEST_F(MAYBE_PrintRenderFrameHelperPreviewTest,
@@ -877,6 +883,8 @@ TEST_F(MAYBE_PrintRenderFrameHelperPreviewTest,
877883
VerifyPrintPreviewFailed(false);
878884
VerifyPrintPreviewGenerated(true);
879885
VerifyPagesPrinted(false);
886+
887+
OnClosePrintPreviewDialog();
880888
}
881889

882890
// Test to verify that print preview ignores print media css when non-default
@@ -900,6 +908,8 @@ TEST_F(MAYBE_PrintRenderFrameHelperPreviewTest,
900908
VerifyPrintPreviewFailed(false);
901909
VerifyPrintPreviewGenerated(true);
902910
VerifyPagesPrinted(false);
911+
912+
OnClosePrintPreviewDialog();
903913
}
904914

905915
// Test to verify that print preview honor print media size css when
@@ -924,6 +934,8 @@ TEST_F(MAYBE_PrintRenderFrameHelperPreviewTest,
924934
VerifyPrintPreviewFailed(false);
925935
VerifyPrintPreviewGenerated(true);
926936
VerifyPagesPrinted(false);
937+
938+
OnClosePrintPreviewDialog();
927939
}
928940

929941
TEST_F(MAYBE_PrintRenderFrameHelperPreviewTest,
@@ -1046,6 +1058,8 @@ TEST_F(MAYBE_PrintRenderFrameHelperPreviewTest,
10461058
VerifyPrintPreviewFailed(false);
10471059
VerifyPrintPreviewGenerated(true);
10481060
VerifyPagesPrinted(false);
1061+
1062+
OnClosePrintPreviewDialog();
10491063
}
10501064

10511065
// Test to verify that print preview honor print margin css when PRINT_TO_PDF
@@ -1081,6 +1095,8 @@ TEST_F(MAYBE_PrintRenderFrameHelperPreviewTest,
10811095
VerifyPrintPreviewFailed(false);
10821096
VerifyPrintPreviewGenerated(true);
10831097
VerifyPagesPrinted(false);
1098+
1099+
OnClosePrintPreviewDialog();
10841100
}
10851101

10861102
// Test to verify that print preview workflow center the html page contents to
@@ -1102,6 +1118,8 @@ TEST_F(MAYBE_PrintRenderFrameHelperPreviewTest, PrintPreviewCenterToFitPage) {
11021118
VerifyPrintPreviewFailed(false);
11031119
VerifyPrintPreviewGenerated(true);
11041120
VerifyPagesPrinted(false);
1121+
1122+
OnClosePrintPreviewDialog();
11051123
}
11061124

11071125
// Test to verify that print preview workflow scale the html page contents to
@@ -1134,6 +1152,8 @@ TEST_F(MAYBE_PrintRenderFrameHelperPreviewTest, PrintPreviewShrinkToFitPage) {
11341152
VerifyPrintPreviewFailed(false);
11351153
VerifyPrintPreviewGenerated(true);
11361154
VerifyPagesPrinted(false);
1155+
1156+
OnClosePrintPreviewDialog();
11371157
}
11381158

11391159
// Test to verify that print preview workflow honor the orientation settings
@@ -1157,6 +1177,8 @@ TEST_F(MAYBE_PrintRenderFrameHelperPreviewTest,
11571177
VerifyPrintPreviewFailed(false);
11581178
VerifyPrintPreviewGenerated(true);
11591179
VerifyPagesPrinted(false);
1180+
1181+
OnClosePrintPreviewDialog();
11601182
}
11611183

11621184
// Test to verify that print preview workflow honors the orientation settings
@@ -1179,6 +1201,8 @@ TEST_F(MAYBE_PrintRenderFrameHelperPreviewTest,
11791201
VerifyPrintPreviewFailed(false);
11801202
VerifyPrintPreviewGenerated(true);
11811203
VerifyPagesPrinted(false);
1204+
1205+
OnClosePrintPreviewDialog();
11821206
}
11831207

11841208
TEST_F(MAYBE_PrintRenderFrameHelperPreviewTest, PrintPreviewForMultiplePages) {
@@ -1199,6 +1223,8 @@ TEST_F(MAYBE_PrintRenderFrameHelperPreviewTest, PrintPreviewForMultiplePages) {
11991223
VerifyPrintPreviewFailed(false);
12001224
VerifyPrintPreviewGenerated(true);
12011225
VerifyPagesPrinted(false);
1226+
1227+
OnClosePrintPreviewDialog();
12021228
}
12031229

12041230
TEST_F(MAYBE_PrintRenderFrameHelperPreviewTest, PrintPreviewForSelectedPages) {
@@ -1234,6 +1260,8 @@ TEST_F(MAYBE_PrintRenderFrameHelperPreviewTest, PrintPreviewForSelectedPages) {
12341260
VerifyPrintPreviewFailed(false);
12351261
VerifyPrintPreviewGenerated(true);
12361262
VerifyPagesPrinted(false);
1263+
1264+
OnClosePrintPreviewDialog();
12371265
}
12381266

12391267
// Test to verify that preview generated only for one page.
@@ -1257,6 +1285,8 @@ TEST_F(MAYBE_PrintRenderFrameHelperPreviewTest, PrintPreviewForSelectedText) {
12571285
VerifyPrintPreviewFailed(false);
12581286
VerifyPrintPreviewGenerated(true);
12591287
VerifyPagesPrinted(false);
1288+
1289+
OnClosePrintPreviewDialog();
12601290
}
12611291

12621292
// Test to verify that preview generated only for two pages.
@@ -1280,6 +1310,8 @@ TEST_F(MAYBE_PrintRenderFrameHelperPreviewTest, PrintPreviewForSelectedText2) {
12801310
VerifyPrintPreviewFailed(false);
12811311
VerifyPrintPreviewGenerated(true);
12821312
VerifyPagesPrinted(false);
1313+
1314+
OnClosePrintPreviewDialog();
12831315
}
12841316

12851317
// Tests that cancelling print preview works.
@@ -1299,6 +1331,8 @@ TEST_F(MAYBE_PrintRenderFrameHelperPreviewTest, PrintPreviewCancel) {
12991331
VerifyPrintPreviewFailed(false);
13001332
VerifyPrintPreviewGenerated(false);
13011333
VerifyPagesPrinted(false);
1334+
1335+
OnClosePrintPreviewDialog();
13021336
}
13031337

13041338
// Tests that when default printer has invalid printer settings, print preview
@@ -1322,6 +1356,8 @@ TEST_F(MAYBE_PrintRenderFrameHelperPreviewTest,
13221356
// It should receive the invalid printer settings message only.
13231357
VerifyPrintPreviewFailed(false);
13241358
VerifyPrintPreviewGenerated(false);
1359+
1360+
OnClosePrintPreviewDialog();
13251361
}
13261362

13271363
// Tests that when the selected printer has invalid page settings, print preview
@@ -1342,6 +1378,8 @@ TEST_F(MAYBE_PrintRenderFrameHelperPreviewTest,
13421378
// It should receive the invalid printer settings message only.
13431379
VerifyPrintPreviewFailed(false);
13441380
VerifyPrintPreviewGenerated(false);
1381+
1382+
OnClosePrintPreviewDialog();
13451383
}
13461384

13471385
// Tests that when the selected printer has invalid content settings, print
@@ -1362,6 +1400,8 @@ TEST_F(MAYBE_PrintRenderFrameHelperPreviewTest,
13621400
// It should receive the invalid printer settings message only.
13631401
VerifyPrintPreviewFailed(false);
13641402
VerifyPrintPreviewGenerated(false);
1403+
1404+
OnClosePrintPreviewDialog();
13651405
}
13661406

13671407
TEST_F(MAYBE_PrintRenderFrameHelperPreviewTest, BasicBeforePrintAfterPrint) {

0 commit comments

Comments
 (0)