Index: chrome/browser/ui/views/constrained_window_views_browsertest.cc |
diff --git a/chrome/browser/ui/views/constrained_window_views_browsertest.cc b/chrome/browser/ui/views/constrained_window_views_browsertest.cc |
index a50ec56da9994e0ffa481248e0cb0eb30787c68e..05395522bfc3200984e46edb5ebe5f54d74d91c0 100644 |
--- a/chrome/browser/ui/views/constrained_window_views_browsertest.cc |
+++ b/chrome/browser/ui/views/constrained_window_views_browsertest.cc |
@@ -16,6 +16,7 @@ |
#include "chrome/test/base/in_process_browser_test.h" |
#include "chrome/test/base/ui_test_utils.h" |
#include "content/public/browser/native_web_keyboard_event.h" |
+#include "content/public/browser/navigation_controller.h" |
#include "content/public/browser/render_view_host.h" |
#include "content/public/browser/web_contents.h" |
#include "content/public/browser/web_contents_view.h" |
@@ -320,16 +321,25 @@ IN_PROC_BROWSER_TEST_F(ConstrainedWindowViewTest, |
NULL, |
web_contents); |
+ content::WindowedNotificationObserver back_observer( |
+ content::NOTIFICATION_LOAD_STOP, |
+ content::Source<content::NavigationController>( |
+ &web_contents->GetController())); |
content::RenderViewHost* render_view_host = |
cwdd->GetWebContents()->GetRenderViewHost(); |
ForwardKeyEvent(render_view_host, ui::VKEY_BACK); |
// Backspace is not processed as accelerator before it's sent to web contents. |
+ EXPECT_FALSE(web_contents->GetController().GetPendingEntry()); |
EXPECT_EQ(about_url.spec(), web_contents->GetURL().spec()); |
+ // Backspace is processed as accelerator after it's sent to web contents. |
content::RunAllPendingInMessageLoop(); |
+ EXPECT_TRUE(web_contents->GetController().GetPendingEntry()); |
- // Backspace is processed as accelerator after it's sent to web contents. |
+ // Wait for the navigation to commit, since the URL will not be visible |
+ // until then. |
+ back_observer.Wait(); |
EXPECT_EQ(new_tab_url.spec(), web_contents->GetURL().spec()); |
} |