summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorgbillock@chromium.org <gbillock@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-17 19:36:06 +0000
committergbillock@chromium.org <gbillock@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-17 19:36:06 +0000
commit6b4e8e4d926b90d49668c0bf5189e60c60b71762 (patch)
tree7285f9d2dcea8f07de6a0c3e5f8a113841b12317
parentec41a1d0f8d75e3b21ea4db6dbbb432e08a8e923 (diff)
downloadchromium_src-6b4e8e4d926b90d49668c0bf5189e60c60b71762.zip
chromium_src-6b4e8e4d926b90d49668c0bf5189e60c60b71762.tar.gz
chromium_src-6b4e8e4d926b90d49668c0bf5189e60c60b71762.tar.bz2
Revert 96617
Revert 96593 (Original review URL http://codereview.chromium.org/7489019) Fix up various browser tests not to use WaitForNavigation. Now with corrected pdf browsertest R=phajdan.jr@chromium.org BUG=none TEST=none Review URL: http://codereview.chromium.org/7645001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@97181 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/browser_focus_uitest.cc39
-rw-r--r--chrome/browser/crash_recovery_browsertest.cc25
-rw-r--r--chrome/browser/geolocation/geolocation_browsertest.cc16
-rw-r--r--chrome/browser/pdf_browsertest.cc6
-rw-r--r--chrome/browser/sidebar/sidebar_browsertest.cc12
-rw-r--r--chrome/browser/ssl/ssl_browser_tests.cc153
-rw-r--r--chrome/browser/ui/find_bar/find_bar_host_browsertest.cc22
-rw-r--r--chrome/test/base/ui_test_utils.cc1
-rw-r--r--chrome/test/base/ui_test_utils.h4
9 files changed, 194 insertions, 84 deletions
diff --git a/chrome/browser/browser_focus_uitest.cc b/chrome/browser/browser_focus_uitest.cc
index cd23955..68eeb54 100644
--- a/chrome/browser/browser_focus_uitest.cc
+++ b/chrome/browser/browser_focus_uitest.cc
@@ -14,6 +14,7 @@
#include "chrome/browser/tabs/tab_strip_model.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/browser_window.h"
+#include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h"
#include "chrome/browser/ui/view_ids.h"
#include "chrome/common/chrome_notification_types.h"
#include "chrome/common/chrome_paths.h"
@@ -847,11 +848,23 @@ IN_PROC_BROWSER_TEST_F(BrowserFocusTest, FocusOnReload) {
ASSERT_TRUE(test_server()->Start());
// Open the new tab, reload.
- browser()->NewTab();
+ {
+ ui_test_utils::WindowedNotificationObserver observer(
+ content::NOTIFICATION_LOAD_STOP,
+ NotificationService::AllSources());
+ browser()->NewTab();
+ observer.Wait();
+ }
ui_test_utils::RunAllPendingInMessageLoop();
- browser()->Reload(CURRENT_TAB);
- ASSERT_TRUE(ui_test_utils::WaitForNavigationInCurrentTab(browser()));
+ {
+ ui_test_utils::WindowedNotificationObserver observer(
+ content::NOTIFICATION_LOAD_STOP,
+ Source<NavigationController>(
+ &browser()->GetSelectedTabContentsWrapper()->controller()));
+ browser()->Reload(CURRENT_TAB);
+ observer.Wait();
+ }
// Focus should stay on the location bar.
ASSERT_TRUE(IsViewFocused(VIEW_ID_LOCATION_BAR));
@@ -859,8 +872,14 @@ IN_PROC_BROWSER_TEST_F(BrowserFocusTest, FocusOnReload) {
ui_test_utils::NavigateToURL(browser(), test_server()->GetURL(kSimplePage));
browser()->FocusLocationBar();
ASSERT_TRUE(IsViewFocused(VIEW_ID_LOCATION_BAR));
- browser()->Reload(CURRENT_TAB);
- ASSERT_TRUE(ui_test_utils::WaitForNavigationInCurrentTab(browser()));
+ {
+ ui_test_utils::WindowedNotificationObserver observer(
+ content::NOTIFICATION_LOAD_STOP,
+ Source<NavigationController>(
+ &browser()->GetSelectedTabContentsWrapper()->controller()));
+ browser()->Reload(CURRENT_TAB);
+ observer.Wait();
+ }
// Focus should now be on the tab contents.
browser()->ShowDownloadsTab();
@@ -875,8 +894,14 @@ IN_PROC_BROWSER_TEST_F(BrowserFocusTest, DISABLED_FocusOnReloadCrashedTab) {
// Open a regular page, crash, reload.
ui_test_utils::NavigateToURL(browser(), test_server()->GetURL(kSimplePage));
ui_test_utils::CrashTab(browser()->GetSelectedTabContents());
- browser()->Reload(CURRENT_TAB);
- ASSERT_TRUE(ui_test_utils::WaitForNavigationInCurrentTab(browser()));
+ {
+ ui_test_utils::WindowedNotificationObserver observer(
+ content::NOTIFICATION_LOAD_STOP,
+ Source<NavigationController>(
+ &browser()->GetSelectedTabContentsWrapper()->controller()));
+ browser()->Reload(CURRENT_TAB);
+ observer.Wait();
+ }
// Focus should now be on the tab contents.
browser()->ShowDownloadsTab();
diff --git a/chrome/browser/crash_recovery_browsertest.cc b/chrome/browser/crash_recovery_browsertest.cc
index 3c8d4f2..8a26e5b 100644
--- a/chrome/browser/crash_recovery_browsertest.cc
+++ b/chrome/browser/crash_recovery_browsertest.cc
@@ -4,6 +4,7 @@
#include "base/file_path.h"
#include "chrome/browser/ui/browser.h"
+#include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h"
#include "chrome/common/url_constants.h"
#include "chrome/test/base/in_process_browser_test.h"
#include "chrome/test/base/ui_test_utils.h"
@@ -15,12 +16,12 @@
namespace {
void SimulateRendererCrash(Browser* browser) {
+ ui_test_utils::WindowedNotificationObserver observer(
+ content::NOTIFICATION_TAB_CONTENTS_DISCONNECTED,
+ NotificationService::AllSources());
browser->OpenURL(GURL(chrome::kChromeUICrashURL), GURL(), CURRENT_TAB,
PageTransition::TYPED);
- LOG(ERROR) << "SimulateRendererCrash, before WaitForNotification";
- ui_test_utils::WaitForNotification(
- content::NOTIFICATION_TAB_CONTENTS_DISCONNECTED);
- LOG(ERROR) << "SimulateRendererCrash, after WaitForNotification";
+ observer.Wait();
}
} // namespace
@@ -42,10 +43,12 @@ IN_PROC_BROWSER_TEST_F(CrashRecoveryBrowserTest, Reload) {
ASSERT_TRUE(ui_test_utils::GetCurrentTabTitle(browser(),
&title_before_crash));
SimulateRendererCrash(browser());
+ ui_test_utils::WindowedNotificationObserver observer(
+ content::NOTIFICATION_LOAD_STOP,
+ Source<NavigationController>(
+ &browser()->GetSelectedTabContentsWrapper()->controller()));
browser()->Reload(CURRENT_TAB);
- LOG(ERROR) << "Before WaitForNavigationInCurrentTab";
- ASSERT_TRUE(ui_test_utils::WaitForNavigationInCurrentTab(browser()));
- LOG(ERROR) << "After WaitForNavigationInCurrentTab";
+ observer.Wait();
ASSERT_TRUE(ui_test_utils::GetCurrentTabTitle(browser(),
&title_after_crash));
EXPECT_NE(title_before_crash, title_after_crash);
@@ -69,10 +72,12 @@ IN_PROC_BROWSER_TEST_F(CrashRecoveryBrowserTest, LoadInNewTab) {
ASSERT_TRUE(ui_test_utils::GetCurrentTabTitle(browser(),
&title_before_crash));
SimulateRendererCrash(browser());
+ ui_test_utils::WindowedNotificationObserver observer(
+ content::NOTIFICATION_LOAD_STOP,
+ Source<NavigationController>(
+ &browser()->GetSelectedTabContentsWrapper()->controller()));
browser()->Reload(CURRENT_TAB);
- LOG(ERROR) << "Before WaitForNavigationInCurrentTab";
- ASSERT_TRUE(ui_test_utils::WaitForNavigationInCurrentTab(browser()));
- LOG(ERROR) << "After WaitForNavigationInCurrentTab";
+ observer.Wait();
ASSERT_TRUE(ui_test_utils::GetCurrentTabTitle(browser(),
&title_after_crash));
EXPECT_EQ(title_before_crash, title_after_crash);
diff --git a/chrome/browser/geolocation/geolocation_browsertest.cc b/chrome/browser/geolocation/geolocation_browsertest.cc
index f4cc87e..43d89bd 100644
--- a/chrome/browser/geolocation/geolocation_browsertest.cc
+++ b/chrome/browser/geolocation/geolocation_browsertest.cc
@@ -320,11 +320,17 @@ class GeolocationBrowserTest : public InProcessBrowserTest {
size_t state_map_size = settings_state.state_map().size();
ASSERT_TRUE(infobar_);
LOG(WARNING) << "will set infobar response";
- if (allowed)
- infobar_->AsConfirmInfoBarDelegate()->Accept();
- else
- infobar_->AsConfirmInfoBarDelegate()->Cancel();
- WaitForNavigation();
+ {
+ ui_test_utils::WindowedNotificationObserver observer(
+ content::NOTIFICATION_LOAD_STOP,
+ Source<NavigationController>(&tab_contents_wrapper->controller()));
+ if (allowed)
+ infobar_->AsConfirmInfoBarDelegate()->Accept();
+ else
+ infobar_->AsConfirmInfoBarDelegate()->Cancel();
+ observer.Wait();
+ }
+
tab_contents_wrapper->RemoveInfoBar(infobar_);
LOG(WARNING) << "infobar response set";
infobar_ = NULL;
diff --git a/chrome/browser/pdf_browsertest.cc b/chrome/browser/pdf_browsertest.cc
index 1e8fabb..b0f92af 100644
--- a/chrome/browser/pdf_browsertest.cc
+++ b/chrome/browser/pdf_browsertest.cc
@@ -336,12 +336,16 @@ IN_PROC_BROWSER_TEST_F(PDFBrowserTest, MAYBE_OnLoadAndReload) {
GURL url = pdf_test_server()->GetURL("files/onload_reload.html");
ui_test_utils::NavigateToURL(browser(), url);
+ ui_test_utils::WindowedNotificationObserver observer(
+ content::NOTIFICATION_LOAD_STOP,
+ Source<NavigationController>(
+ &browser()->GetSelectedTabContents()->controller()));
ASSERT_TRUE(ui_test_utils::ExecuteJavaScript(
browser()->GetSelectedTabContents()->render_view_host(),
std::wstring(),
L"reloadPDF();"));
+ observer.Wait();
- ASSERT_TRUE(ui_test_utils::WaitForNavigationInCurrentTab(browser()));
ASSERT_EQ("success", browser()->GetSelectedTabContents()->GetURL().query());
}
diff --git a/chrome/browser/sidebar/sidebar_browsertest.cc b/chrome/browser/sidebar/sidebar_browsertest.cc
index 049857b..af59db0 100644
--- a/chrome/browser/sidebar/sidebar_browsertest.cc
+++ b/chrome/browser/sidebar/sidebar_browsertest.cc
@@ -71,14 +71,15 @@ class SidebarTest : public ExtensionBrowserTest {
TabContents* tab = browser()->GetSelectedTabContents();
SidebarManager* sidebar_manager = SidebarManager::GetInstance();
-
- sidebar_manager->NavigateSidebar(tab, content_id_, url);
-
SidebarContainer* sidebar_container =
sidebar_manager->GetSidebarContainerFor(tab, content_id_);
-
TabContents* client_contents = sidebar_container->sidebar_contents();
- ui_test_utils::WaitForNavigation(&client_contents->controller());
+
+ ui_test_utils::WindowedNotificationObserver observer(
+ content::NOTIFICATION_LOAD_STOP,
+ Source<NavigationController>(&client_contents->controller()));
+ sidebar_manager->NavigateSidebar(tab, content_id_, url);
+ observer.Wait();
}
void ShowSidebar(TabContents* tab) {
@@ -199,4 +200,3 @@ IN_PROC_BROWSER_TEST_F(SidebarTest, SidebarNavigate) {
}
} // namespace
-
diff --git a/chrome/browser/ssl/ssl_browser_tests.cc b/chrome/browser/ssl/ssl_browser_tests.cc
index 5c89ae7..81f7805 100644
--- a/chrome/browser/ssl/ssl_browser_tests.cc
+++ b/chrome/browser/ssl/ssl_browser_tests.cc
@@ -16,6 +16,7 @@
#include "content/browser/tab_contents/interstitial_page.h"
#include "content/browser/tab_contents/navigation_entry.h"
#include "content/browser/tab_contents/tab_contents.h"
+#include "content/common/notification_service.h"
#include "net/base/cert_status_flags.h"
#include "net/test/test_server.h"
@@ -116,9 +117,11 @@ class SSLUITest : public InProcessBrowserTest {
void ProceedThroughInterstitial(TabContents* tab) {
InterstitialPage* interstitial_page = tab->interstitial_page();
ASSERT_TRUE(interstitial_page);
+ ui_test_utils::WindowedNotificationObserver observer(
+ content::NOTIFICATION_LOAD_STOP,
+ Source<NavigationController>(&tab->controller()));
interstitial_page->Proceed();
- // Wait for the navigation to be done.
- ui_test_utils::WaitForNavigation(&(tab->controller()));
+ observer.Wait();
}
static bool GetFilePathWithHostAndPortReplacement(
@@ -411,8 +414,13 @@ IN_PROC_BROWSER_TEST_F(SSLUITest, FLAKY_TestHTTPSExpiredCertAndGoForward) {
ASSERT_TRUE(entry2);
// Now go back so that a page is in the forward history.
- tab->controller().GoBack();
- ui_test_utils::WaitForNavigation(&(tab->controller()));
+ {
+ ui_test_utils::WindowedNotificationObserver observer(
+ content::NOTIFICATION_LOAD_STOP,
+ Source<NavigationController>(&tab->controller()));
+ tab->controller().GoBack();
+ observer.Wait();
+ }
ASSERT_TRUE(tab->controller().CanGoForward());
NavigationEntry* entry3 = tab->controller().GetActiveEntry();
ASSERT_TRUE(entry1 == entry3);
@@ -424,8 +432,13 @@ IN_PROC_BROWSER_TEST_F(SSLUITest, FLAKY_TestHTTPSExpiredCertAndGoForward) {
true); // Interstitial showing
// Simulate user clicking and holding on forward button.
- tab->controller().GoToOffset(1);
- ui_test_utils::WaitForNavigation(&(tab->controller()));
+ {
+ ui_test_utils::WindowedNotificationObserver observer(
+ content::NOTIFICATION_LOAD_STOP,
+ Source<NavigationController>(&tab->controller()));
+ tab->controller().GoToOffset(1);
+ observer.Wait();
+ }
// We should be showing the second good page.
EXPECT_FALSE(browser()->GetSelectedTabContents()->interstitial_page());
@@ -597,9 +610,11 @@ IN_PROC_BROWSER_TEST_F(SSLUITest, TestDisplaysInsecureContentTwoTabs) {
params.disposition = NEW_FOREGROUND_TAB;
params.tabstrip_index = 0;
params.source_contents = tab1;
+ ui_test_utils::WindowedNotificationObserver observer(
+ content::NOTIFICATION_LOAD_STOP, NotificationService::AllSources());
browser::Navigate(&params);
TabContentsWrapper* tab2 = params.target_contents;
- ui_test_utils::WaitForNavigation(&(tab2->controller()));
+ observer.Wait();
// The new tab has insecure content.
CheckAuthenticatedState(tab2->tab_contents(), true);
@@ -634,9 +649,11 @@ IN_PROC_BROWSER_TEST_F(SSLUITest, TestRunsInsecureContentTwoTabs) {
browser::NavigateParams params(browser(), url, PageTransition::TYPED);
params.disposition = NEW_FOREGROUND_TAB;
params.source_contents = tab1;
+ ui_test_utils::WindowedNotificationObserver observer(
+ content::NOTIFICATION_LOAD_STOP, NotificationService::AllSources());
browser::Navigate(&params);
TabContentsWrapper* tab2 = params.target_contents;
- ui_test_utils::WaitForNavigation(&(tab2->controller()));
+ observer.Wait();
// The new tab has insecure content.
CheckAuthenticationBrokenState(tab2->tab_contents(), 0, true, false);
@@ -807,9 +824,10 @@ IN_PROC_BROWSER_TEST_F(SSLUITest, DISABLED_TestCloseTabWithUnsafePopup) {
// Let's add another tab to make sure the browser does not exit when we close
// the first tab.
GURL url = test_server()->GetURL("files/ssl/google.html");
- TabContentsWrapper* tab2 =
- browser()->AddSelectedTabWithURL(url, PageTransition::TYPED);
- ui_test_utils::WaitForNavigation(&(tab2->controller()));
+ ui_test_utils::WindowedNotificationObserver observer(
+ content::NOTIFICATION_LOAD_STOP, NotificationService::AllSources());
+ browser()->AddSelectedTabWithURL(url, PageTransition::TYPED);
+ observer.Wait();
// Close the first tab.
browser()->CloseTabContents(tab1);
@@ -952,23 +970,33 @@ IN_PROC_BROWSER_TEST_F(SSLUITest, DISABLED_TestGoodFrameNavigation) {
bool success = false;
// Now navigate inside the frame.
- EXPECT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractBool(
- tab->render_view_host(), std::wstring(),
- L"window.domAutomationController.send(clickLink('goodHTTPSLink'));",
- &success));
- EXPECT_TRUE(success);
- ui_test_utils::WaitForNavigation(&tab->controller());
+ {
+ ui_test_utils::WindowedNotificationObserver observer(
+ content::NOTIFICATION_LOAD_STOP,
+ Source<NavigationController>(&tab->controller()));
+ EXPECT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractBool(
+ tab->render_view_host(), std::wstring(),
+ L"window.domAutomationController.send(clickLink('goodHTTPSLink'));",
+ &success));
+ ASSERT_TRUE(success);
+ observer.Wait();
+ }
// We should still be fine.
CheckAuthenticatedState(tab, false);
// Now let's hit a bad page.
- EXPECT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractBool(
- tab->render_view_host(), std::wstring(),
- L"window.domAutomationController.send(clickLink('badHTTPSLink'));",
- &success));
- EXPECT_TRUE(success);
- ui_test_utils::WaitForNavigation(&tab->controller());
+ {
+ ui_test_utils::WindowedNotificationObserver observer(
+ content::NOTIFICATION_LOAD_STOP,
+ Source<NavigationController>(&tab->controller()));
+ EXPECT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractBool(
+ tab->render_view_host(), std::wstring(),
+ L"window.domAutomationController.send(clickLink('badHTTPSLink'));",
+ &success));
+ ASSERT_TRUE(success);
+ observer.Wait();
+ }
// The security style should still be secure.
CheckAuthenticatedState(tab, false);
@@ -984,24 +1012,39 @@ IN_PROC_BROWSER_TEST_F(SSLUITest, DISABLED_TestGoodFrameNavigation) {
EXPECT_FALSE(is_content_evil);
// Now go back, our state should still be OK.
- tab->controller().GoBack();
- ui_test_utils::WaitForNavigation(&tab->controller());
+ {
+ ui_test_utils::WindowedNotificationObserver observer(
+ content::NOTIFICATION_LOAD_STOP,
+ Source<NavigationController>(&tab->controller()));
+ tab->controller().GoBack();
+ observer.Wait();
+ }
CheckAuthenticatedState(tab, false);
// Navigate to a page served over HTTP.
- EXPECT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractBool(
- tab->render_view_host(), std::wstring(),
- L"window.domAutomationController.send(clickLink('HTTPLink'));",
- &success));
- EXPECT_TRUE(success);
- ui_test_utils::WaitForNavigation(&tab->controller());
+ {
+ ui_test_utils::WindowedNotificationObserver observer(
+ content::NOTIFICATION_LOAD_STOP,
+ Source<NavigationController>(&tab->controller()));
+ EXPECT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractBool(
+ tab->render_view_host(), std::wstring(),
+ L"window.domAutomationController.send(clickLink('HTTPLink'));",
+ &success));
+ ASSERT_TRUE(success);
+ observer.Wait();
+ }
// Our state should be insecure.
CheckAuthenticatedState(tab, true);
// Go back, our state should be unchanged.
- tab->controller().GoBack();
- ui_test_utils::WaitForNavigation(&tab->controller());
+ {
+ ui_test_utils::WindowedNotificationObserver observer(
+ content::NOTIFICATION_LOAD_STOP,
+ Source<NavigationController>(&tab->controller()));
+ tab->controller().GoBack();
+ observer.Wait();
+ }
CheckAuthenticatedState(tab, true);
}
@@ -1028,12 +1071,15 @@ IN_PROC_BROWSER_TEST_F(SSLUITest, FLAKY_TestBadFrameNavigation) {
// Navigate to a good frame.
bool success = false;
+ ui_test_utils::WindowedNotificationObserver observer(
+ content::NOTIFICATION_LOAD_STOP,
+ Source<NavigationController>(&tab->controller()));
EXPECT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractBool(
tab->render_view_host(), std::wstring(),
L"window.domAutomationController.send(clickLink('goodHTTPSLink'));",
&success));
- EXPECT_TRUE(success);
- ui_test_utils::WaitForNavigation(&tab->controller());
+ ASSERT_TRUE(success);
+ observer.Wait();
// We should still be authentication broken.
CheckAuthenticationBrokenState(tab, net::CERT_STATUS_DATE_INVALID, false,
@@ -1060,24 +1106,35 @@ IN_PROC_BROWSER_TEST_F(SSLUITest, DISABLED_TestUnauthenticatedFrameNavigation) {
CheckUnauthenticatedState(tab);
// Now navigate inside the frame to a secure HTTPS frame.
- bool success = false;
- EXPECT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractBool(
- tab->render_view_host(), std::wstring(),
- L"window.domAutomationController.send(clickLink('goodHTTPSLink'));",
- &success));
- EXPECT_TRUE(success);
- ui_test_utils::WaitForNavigation(&tab->controller());
+ {
+ bool success = false;
+ ui_test_utils::WindowedNotificationObserver observer(
+ content::NOTIFICATION_LOAD_STOP,
+ Source<NavigationController>(&tab->controller()));
+ EXPECT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractBool(
+ tab->render_view_host(), std::wstring(),
+ L"window.domAutomationController.send(clickLink('goodHTTPSLink'));",
+ &success));
+ ASSERT_TRUE(success);
+ observer.Wait();
+ }
// We should still be unauthenticated.
CheckUnauthenticatedState(tab);
// Now navigate to a bad HTTPS frame.
- EXPECT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractBool(
- tab->render_view_host(), std::wstring(),
- L"window.domAutomationController.send(clickLink('badHTTPSLink'));",
- &success));
- EXPECT_TRUE(success);
- ui_test_utils::WaitForNavigation(&tab->controller());
+ {
+ bool success = false;
+ ui_test_utils::WindowedNotificationObserver observer(
+ content::NOTIFICATION_LOAD_STOP,
+ Source<NavigationController>(&tab->controller()));
+ EXPECT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractBool(
+ tab->render_view_host(), std::wstring(),
+ L"window.domAutomationController.send(clickLink('badHTTPSLink'));",
+ &success));
+ ASSERT_TRUE(success);
+ observer.Wait();
+ }
// State should not have changed.
CheckUnauthenticatedState(tab);
diff --git a/chrome/browser/ui/find_bar/find_bar_host_browsertest.cc b/chrome/browser/ui/find_bar/find_bar_host_browsertest.cc
index 5445484..f569772 100644
--- a/chrome/browser/ui/find_bar/find_bar_host_browsertest.cc
+++ b/chrome/browser/ui/find_bar/find_bar_host_browsertest.cc
@@ -581,8 +581,12 @@ IN_PROC_BROWSER_TEST_F(FindInPageControllerTest, FindDisappearOnNavigate) {
EXPECT_TRUE(fully_visible);
// Reload the tab and make sure Find window doesn't go away.
+ ui_test_utils::WindowedNotificationObserver observer(
+ content::NOTIFICATION_LOAD_STOP,
+ Source<NavigationController>(
+ &browser()->GetSelectedTabContentsWrapper()->controller()));
browser()->Reload(CURRENT_TAB);
- ui_test_utils::WaitForNavigationInCurrentTab(browser());
+ observer.Wait();
EXPECT_TRUE(GetFindBarWindowInfo(&position, &fully_visible));
EXPECT_TRUE(fully_visible);
@@ -1048,9 +1052,10 @@ IN_PROC_BROWSER_TEST_F(FindInPageControllerTest, MAYBE_NoIncognitoPrepopulate) {
// Open a new incognito window and navigate to the same page.
Profile* incognito_profile = browser()->profile()->GetOffTheRecordProfile();
Browser* incognito_browser = Browser::Create(incognito_profile);
+ ui_test_utils::WindowedNotificationObserver observer(
+ content::NOTIFICATION_LOAD_STOP, NotificationService::AllSources());
incognito_browser->AddSelectedTabWithURL(url, PageTransition::START_PAGE);
- ui_test_utils::WaitForNavigation(
- &incognito_browser->GetSelectedTabContents()->controller());
+ observer.Wait();
incognito_browser->window()->Show();
// Open the find box and make sure that it is prepopulated with "page".
@@ -1093,8 +1098,11 @@ IN_PROC_BROWSER_TEST_F(FindInPageControllerTest, ActivateLinkNavigatesPage) {
EXPECT_EQ(ordinal, 1);
// End the find session, click on the link.
+ ui_test_utils::WindowedNotificationObserver observer(
+ content::NOTIFICATION_LOAD_STOP,
+ Source<NavigationController>(&tab->controller()));
tab->find_tab_helper()->StopFinding(FindBarController::kActivateSelection);
- EXPECT_TRUE(ui_test_utils::WaitForNavigationInCurrentTab(browser()));
+ observer.Wait();
}
// Tests that FindBar fits within a narrow browser window.
@@ -1102,12 +1110,12 @@ IN_PROC_BROWSER_TEST_F(FindInPageControllerTest, FitWindow) {
Browser::CreateParams params(Browser::TYPE_POPUP, browser()->profile());
params.initial_bounds = gfx::Rect(0, 0, 250, 500);
Browser* popup = Browser::CreateWithParams(params);
+ ui_test_utils::WindowedNotificationObserver observer(
+ content::NOTIFICATION_LOAD_STOP, NotificationService::AllSources());
popup->AddSelectedTabWithURL(GURL(chrome::kAboutBlankURL),
PageTransition::LINK);
-
// Wait for the page to finish loading.
- ui_test_utils::WaitForNavigation(
- &popup->GetSelectedTabContents()->controller());
+ observer.Wait();
popup->window()->Show();
// On GTK, bounds change is asynchronous.
diff --git a/chrome/test/base/ui_test_utils.cc b/chrome/test/base/ui_test_utils.cc
index df7358b..7ee8db6 100644
--- a/chrome/test/base/ui_test_utils.cc
+++ b/chrome/test/base/ui_test_utils.cc
@@ -57,6 +57,7 @@ namespace ui_test_utils {
namespace {
// Used to block until a navigation completes.
+// TODO(gbillock): this should be merged with TestNavigationObserver
class NavigationNotificationObserver : public NotificationObserver {
public:
NavigationNotificationObserver(const NotificationSource& source,
diff --git a/chrome/test/base/ui_test_utils.h b/chrome/test/base/ui_test_utils.h
index 84a4e7c..201f82f 100644
--- a/chrome/test/base/ui_test_utils.h
+++ b/chrome/test/base/ui_test_utils.h
@@ -230,10 +230,14 @@ bool IsViewFocused(const Browser* browser, ViewID vid);
void ClickOnView(const Browser* browser, ViewID vid);
// Blocks until a notification for given |type| is received.
+// TODO(gbillock): remove this race hazard.
+// Use WindowedNotificationObserver instead.
void WaitForNotification(int type);
// Blocks until a notification for given |type| from the specified |source|
// is received.
+// TODO(gbillock): remove this race hazard.
+// Use WindowedNotificationObserver instead.
void WaitForNotificationFrom(int type,
const NotificationSource& source);