print_preview_ui_browsertest.cc revision 46d4c2bc3267f3f028f39e7e311b0f89aba2e4fd
15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "base/prefs/pref_service.h" 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "base/strings/utf_string_conversions.h" 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/app/chrome_command_ids.h" 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/content_settings/host_content_settings_map.h" 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/profiles/profile.h" 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/task_manager/task_manager_browsertest_util.h" 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/ui/browser.h" 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/ui/browser_commands.h" 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/ui/browser_dialogs.h" 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/ui/tabs/tab_strip_model.h" 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/common/pref_names.h" 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/common/url_constants.h" 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/test/base/in_process_browser_test.h" 182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/test/base/ui_test_utils.h" 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "content/public/browser/web_contents.h" 209ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch#include "content/public/browser/web_contents_observer.h" 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "content/public/test/browser_test_utils.h" 222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "content/public/test/test_navigation_observer.h" 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "content/public/test/test_utils.h" 242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 25c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#if defined(OS_WIN) 262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "ui/aura/window.h" 27868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "ui/aura/window_tree_host.h" 28868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#endif 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)using task_manager::browsertest_util::MatchAboutBlankTab; 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)using task_manager::browsertest_util::MatchAnyPrint; 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)using task_manager::browsertest_util::MatchAnyTab; 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)using task_manager::browsertest_util::MatchPrint; 347dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochusing task_manager::browsertest_util::WaitForTaskManagerRows; 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 36c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)namespace { 37c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)class PrintPreviewTest : public InProcessBrowserTest { 395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) public: 405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) PrintPreviewTest() {} 415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) void Print() { 435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) content::TestNavigationObserver nav_observer(NULL); 445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) nav_observer.StartWatchingNewWebContents(); 45868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) chrome::ExecuteCommand(browser(), IDC_PRINT); 462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) nav_observer.Wait(); 475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) nav_observer.StopWatchingNewWebContents(); 485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 49c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)}; 505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 51558790d6acca3451cf3a6b497803a5f07d0bec58Ben MurdochIN_PROC_BROWSER_TEST_F(PrintPreviewTest, PrintCommands) { 525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // We start off at about:blank page. 535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Make sure there is 1 tab and print is enabled. 545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ASSERT_EQ(1, browser()->tab_strip_model()->count()); 555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ASSERT_TRUE(chrome::IsCommandEnabled(browser(), IDC_PRINT)); 575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Make sure advanced print command (Ctrl+Shift+p) is enabled. 592a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ASSERT_TRUE(chrome::IsCommandEnabled(browser(), IDC_ADVANCED_PRINT)); 605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Create the print preview dialog. 625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Print(); 635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 64eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch // Make sure print is disabled. 655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ASSERT_FALSE(chrome::IsCommandEnabled(browser(), IDC_PRINT)); 665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 67c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) // Make sure advanced print command (Ctrl+Shift+p) is enabled. 682a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ASSERT_TRUE(chrome::IsCommandEnabled(browser(), IDC_ADVANCED_PRINT)); 695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) content::TestNavigationObserver reload_observer( 715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) browser()->tab_strip_model()->GetActiveWebContents()); 725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) chrome::Reload(browser(), CURRENT_TAB); 735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) reload_observer.Wait(); 742a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ASSERT_TRUE(chrome::IsCommandEnabled(browser(), IDC_PRINT)); 765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Make sure advanced print command (Ctrl+Shift+p) is enabled. 785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ASSERT_TRUE(chrome::IsCommandEnabled(browser(), IDC_ADVANCED_PRINT)); 795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Disable the test for mac, see http://crbug/367665. 825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(OS_MACOSX) && !defined(OS_IOS) 835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define MAYBE_TaskManagerNewPrintPreview DISABLED_TaskManagerNewPrintPreview 845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 85558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch#define MAYBE_TaskManagerNewPrintPreview TaskManagerNewPrintPreview 862a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif 87c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)IN_PROC_BROWSER_TEST_F(PrintPreviewTest, MAYBE_TaskManagerNewPrintPreview) { 885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) chrome::ShowTaskManager(browser()); // Show task manager BEFORE print dialog. 895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchAboutBlankTab())); 915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchAnyTab())); 925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(0, MatchAnyPrint())); 935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Create the print preview dialog. 955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Print(); 965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchAboutBlankTab())); 985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchAnyTab())); 995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchAnyPrint())); 1005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchPrint("about:blank"))); 1015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 1025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Disable the test for mac as it started being flaky, see http://crbug/367665. 1045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(OS_MACOSX) && !defined(OS_IOS) 1055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define MAYBE_TaskManagerExistingPrintPreview DISABLED_TaskManagerExistingPrintPreview 1065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 1075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define MAYBE_TaskManagerExistingPrintPreview TaskManagerExistingPrintPreview 1085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 1095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IN_PROC_BROWSER_TEST_F(PrintPreviewTest, 1105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) MAYBE_TaskManagerExistingPrintPreview) { 1115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Create the print preview dialog. 1125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Print(); 1132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) chrome::ShowTaskManager(browser()); // Show task manager AFTER print dialog. 1152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchAboutBlankTab())); 1172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchAnyTab())); 1182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchAnyPrint())); 1192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchPrint("about:blank"))); 1202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 1212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#if defined(OS_WIN) 1232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)BOOL CALLBACK EnumerateChildren(HWND hwnd, LPARAM l_param) { 1252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) HWND* child = reinterpret_cast<HWND*>(l_param); 1262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) *child = hwnd; 1272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // The first child window is the plugin, then its children. So stop 1282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // enumerating after the first callback. 1292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) return FALSE; 1302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 1312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// This test verifies that constrained windows aren't covered by windowed NPAPI 1332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// plugins. The code which fixes this is in WebContentsViewAura::WindowObserver. 1342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IN_PROC_BROWSER_TEST_F(PrintPreviewTest, WindowedNPAPIPluginHidden) { 1352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) browser()->profile()->GetPrefs()->SetBoolean(prefs::kPluginsAlwaysAuthorize, 1362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) true); 1372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // First load the page and wait for the NPAPI plugin's window to display. 1392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) base::string16 expected_title(base::ASCIIToUTF16("ready")); 1402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) content::WebContents* tab = 1412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) browser()->tab_strip_model()->GetActiveWebContents(); 1422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) content::TitleWatcher title_watcher(tab, expected_title); 1432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) GURL url = ui_test_utils::GetTestUrl( 1452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) base::FilePath().AppendASCII("printing"), 1462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) base::FilePath().AppendASCII("npapi_plugin.html")); 1472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ui_test_utils::NavigateToURL(browser(), url); 1485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) EXPECT_EQ(expected_title, title_watcher.WaitAndGetTitle()); 1505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Now get the region of the plugin before and after the print preview is 1525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // shown. They should be different. 1535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) HWND hwnd = tab->GetNativeView()->GetHost()->GetAcceleratedWidget(); 1545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) HWND child = NULL; 1555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) EnumChildWindows(hwnd, EnumerateChildren,reinterpret_cast<LPARAM>(&child)); 1565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) RECT region_before, region_after; 1585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int result = GetWindowRgnBox(child, ®ion_before); 1595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ASSERT_EQ(result, SIMPLEREGION); 1605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Now print preview. 1625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Print(); 1635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) result = GetWindowRgnBox(child, ®ion_after); 1655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (result == NULLREGION) { 1665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Depending on the browser window size, the plugin could be full covered. 1675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return; 1685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 1695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (result == COMPLEXREGION) { 1715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Complex region, by definition not equal to the initial region. 1725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return; 1735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 1745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 175c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ASSERT_EQ(result, SIMPLEREGION); 176c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) bool rects_equal = 177c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) region_before.left == region_after.left && 178c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) region_before.top == region_after.top && 179c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) region_before.right == region_after.right && 180c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) region_before.bottom == region_after.bottom; 181c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ASSERT_FALSE(rects_equal); 182c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)} 183c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 184c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)IN_PROC_BROWSER_TEST_F(PrintPreviewTest, NoCrashOnCloseWithOtherTabs) { 185c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) // Now print preview. 186c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) Print(); 187c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 188c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ui_test_utils::NavigateToURLWithDisposition( 189c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) browser(), GURL("about:blank"), NEW_FOREGROUND_TAB, 190c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ui_test_utils::BROWSER_TEST_WAIT_FOR_NAVIGATION); 191c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 192c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) browser()->tab_strip_model()->ActivateTabAt(0, true); 193c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 194c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) // Navigate main tab to hide print preview. 1955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ui_test_utils::NavigateToURL(browser(), GURL("about:blank")); 1965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) browser()->tab_strip_model()->ActivateTabAt(1, true); 1985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 1995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 2005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace 2025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)