| Index: chrome/browser/printing/print_preview_dialog_controller_browsertest.cc
|
| diff --git a/chrome/browser/printing/print_preview_dialog_controller_browsertest.cc b/chrome/browser/printing/print_preview_dialog_controller_browsertest.cc
|
| index c2639b7a3494e48e7ea9c6d0eec73c67c12c3faf..e9ad66b36c03c9f85a6a79558a90cca49d67bbcb 100644
|
| --- a/chrome/browser/printing/print_preview_dialog_controller_browsertest.cc
|
| +++ b/chrome/browser/printing/print_preview_dialog_controller_browsertest.cc
|
| @@ -58,8 +58,6 @@
|
| IPC_BEGIN_MESSAGE_MAP(RequestPrintPreviewObserver, message)
|
| IPC_MESSAGE_HANDLER(PrintHostMsg_RequestPrintPreview,
|
| OnRequestPrintPreview)
|
| - IPC_MESSAGE_HANDLER(PrintHostMsg_SetupScriptedPrintPreview,
|
| - OnSetupScriptedPrintPreview)
|
| IPC_MESSAGE_UNHANDLED(break)
|
| IPC_END_MESSAGE_MAP()
|
| return false; // Report not handled so the real handler receives it.
|
| @@ -67,10 +65,6 @@
|
|
|
| void OnRequestPrintPreview(
|
| const PrintHostMsg_RequestPrintPreview_Params& /* params */) {
|
| - base::ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE, quit_closure_);
|
| - }
|
| -
|
| - void OnSetupScriptedPrintPreview() {
|
| base::ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE, quit_closure_);
|
| }
|
|
|
| @@ -103,65 +97,21 @@
|
| DISALLOW_COPY_AND_ASSIGN(PrintPreviewDialogClonedObserver);
|
| };
|
|
|
| -class PrintPreviewDialogStartedObserver : public WebContentsObserver {
|
| - public:
|
| - explicit PrintPreviewDialogStartedObserver(WebContents* dialog)
|
| - : WebContentsObserver(dialog), waiting_(false), dialog_started_(false) {}
|
| - ~PrintPreviewDialogStartedObserver() override {}
|
| -
|
| - bool dialog_started() const { return dialog_started_; }
|
| -
|
| - void WaitForDialogStarted() {
|
| - waiting_ = true;
|
| - run_loop_.Run();
|
| - }
|
| -
|
| - private:
|
| - // content::WebContentsObserver implementation.
|
| - void RenderViewReady() override {
|
| - dialog_started_ = true;
|
| - if (waiting_)
|
| - run_loop_.Quit();
|
| - }
|
| -
|
| - void WebContentsDestroyed() override {
|
| - if (waiting_)
|
| - run_loop_.Quit();
|
| - }
|
| -
|
| - bool waiting_;
|
| - bool dialog_started_;
|
| - base::RunLoop run_loop_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(PrintPreviewDialogStartedObserver);
|
| -};
|
| -
|
| class PrintPreviewDialogDestroyedObserver : public WebContentsObserver {
|
| public:
|
| explicit PrintPreviewDialogDestroyedObserver(WebContents* dialog)
|
| : WebContentsObserver(dialog),
|
| - waiting_(false),
|
| - dialog_destroyed_(false) {}
|
| + dialog_destroyed_(false) {
|
| + }
|
| ~PrintPreviewDialogDestroyedObserver() override {}
|
|
|
| bool dialog_destroyed() const { return dialog_destroyed_; }
|
| -
|
| - void WaitForDialogDestroyed() {
|
| - waiting_ = true;
|
| - run_loop_.Run();
|
| - }
|
|
|
| private:
|
| // content::WebContentsObserver implementation.
|
| - void WebContentsDestroyed() override {
|
| - dialog_destroyed_ = true;
|
| - if (waiting_)
|
| - run_loop_.Quit();
|
| - }
|
| -
|
| - bool waiting_;
|
| + void WebContentsDestroyed() override { dialog_destroyed_ = true; }
|
| +
|
| bool dialog_destroyed_;
|
| - base::RunLoop run_loop_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(PrintPreviewDialogDestroyedObserver);
|
| };
|
| @@ -218,14 +168,6 @@
|
| run_loop.Run();
|
| }
|
|
|
| - void PrintPreviewViaScript(base::StringPiece script) {
|
| - base::RunLoop run_loop;
|
| - request_preview_dialog_observer()->set_quit_closure(run_loop.QuitClosure());
|
| - initiator()->GetMainFrame()->ExecuteJavaScriptForTests(
|
| - base::ASCIIToUTF16(script));
|
| - run_loop.Run();
|
| - }
|
| -
|
| WebContents* GetPrintPreviewDialog() {
|
| printing::PrintPreviewDialogController* dialog_controller =
|
| printing::PrintPreviewDialogController::GetInstance();
|
| @@ -296,52 +238,6 @@
|
|
|
| // Check a new preview dialog got created.
|
| EXPECT_TRUE(new_preview_dialog);
|
| -}
|
| -
|
| -// Ensure that back/forward navigations with ScopedPageLoadDeferrers (e.g.,
|
| -// during printing) end up committing to the correct NavigationEntry.
|
| -// See https://crbug.com/626838.
|
| -IN_PROC_BROWSER_TEST_F(PrintPreviewDialogControllerBrowserTest,
|
| - HistoryNavigateDuringPrint) {
|
| - WebContents* tab = browser()->tab_strip_model()->GetActiveWebContents();
|
| - ui_test_utils::NavigateToURL(browser(), GURL("data:text/html,page1"));
|
| - ui_test_utils::NavigateToURL(browser(), GURL("data:text/html,page2"));
|
| - EXPECT_EQ(2, tab->GetController().GetEntryCount());
|
| - EXPECT_EQ(1, tab->GetController().GetLastCommittedEntryIndex());
|
| -
|
| - // Go back via script, but before that gets a chance to commit, show a print
|
| - // dialog with a nested message loop and ScopedPageLoadDeferrer.
|
| - PrintPreviewViaScript("history.back(); print();");
|
| -
|
| - // Get the preview dialog for the initiator tab.
|
| - WebContents* preview_dialog = GetPrintPreviewDialog();
|
| -
|
| - // Check a new print preview dialog got created.
|
| - ASSERT_TRUE(preview_dialog);
|
| - ASSERT_NE(initiator(), preview_dialog);
|
| -
|
| - bool started = preview_dialog->GetRenderProcessHost()->IsReady();
|
| - if (!started) {
|
| - PrintPreviewDialogStartedObserver started_observer(preview_dialog);
|
| - started_observer.WaitForDialogStarted();
|
| - started = started_observer.dialog_started();
|
| - }
|
| -
|
| - if (started) {
|
| - // Dismiss the dialog.
|
| - PrintPreviewDialogDestroyedObserver destroyed_observer(preview_dialog);
|
| - ASSERT_TRUE(preview_dialog->GetRenderProcessHost()->Shutdown(0, true));
|
| - if (!destroyed_observer.dialog_destroyed()) {
|
| - destroyed_observer.WaitForDialogDestroyed();
|
| - ASSERT_TRUE(destroyed_observer.dialog_destroyed());
|
| - }
|
| - }
|
| - ASSERT_FALSE(GetPrintPreviewDialog());
|
| -
|
| - // The back navigation should put us back on the first entry.
|
| - content::WaitForLoadStop(tab);
|
| - EXPECT_EQ(2, tab->GetController().GetEntryCount());
|
| - EXPECT_EQ(0, tab->GetController().GetLastCommittedEntryIndex());
|
| }
|
|
|
| // Test to verify that after reloading the initiator, it creates a new print
|
|
|