Index: chrome/browser/geolocation/geolocation_browsertest.cc |
diff --git a/chrome/browser/geolocation/geolocation_browsertest.cc b/chrome/browser/geolocation/geolocation_browsertest.cc |
index 644c9c4bc6d261608698c6e6fdd3af2989250aa5..c186c68fd72df3638d021b4ba651b18f44f9b2b5 100644 |
--- a/chrome/browser/geolocation/geolocation_browsertest.cc |
+++ b/chrome/browser/geolocation/geolocation_browsertest.cc |
@@ -317,11 +317,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; |