Index: chrome/browser/extensions/api/tabs/tabs_test.cc |
diff --git a/chrome/browser/extensions/api/tabs/tabs_test.cc b/chrome/browser/extensions/api/tabs/tabs_test.cc |
index 67beee05b88d2ed40d90fda257d04f838079864a..9e33edf72d9525c617c92d2e3f39c8233916eb8b 100644 |
--- a/chrome/browser/extensions/api/tabs/tabs_test.cc |
+++ b/chrome/browser/extensions/api/tabs/tabs_test.cc |
@@ -41,6 +41,7 @@ |
#include "content/public/browser/storage_partition.h" |
#include "content/public/common/page_zoom.h" |
#include "content/public/common/url_constants.h" |
+#include "content/public/test/browser_test_utils.h" |
#include "extensions/browser/api_test_utils.h" |
#include "extensions/browser/app_window/app_window.h" |
#include "extensions/browser/app_window/app_window_registry.h" |
@@ -50,6 +51,7 @@ |
#include "extensions/test/extension_test_message_listener.h" |
#include "extensions/test/result_catcher.h" |
#include "net/test/embedded_test_server/embedded_test_server.h" |
+#include "ui/base/window_open_disposition.h" |
#include "ui/gfx/geometry/rect.h" |
#include "ui/views/widget/widget.h" |
#include "ui/views/widget/widget_observer.h" |
@@ -2116,4 +2118,33 @@ IN_PROC_BROWSER_TEST_F(ExtensionTabsZoomTest, CannotZoomInvalidTab) { |
base::MatchPattern(error, manifest_errors::kCannotAccessChromeUrl)); |
} |
+// Regression test for crbug.com/660498. |
+IN_PROC_BROWSER_TEST_F(ExtensionApiTest, Foo) { |
+ ASSERT_TRUE(StartEmbeddedTestServer()); |
+ content::WebContents* first_web_contents = |
+ browser()->tab_strip_model()->GetActiveWebContents(); |
+ ASSERT_TRUE(first_web_contents); |
+ chrome::NewTab(browser()); |
+ content::WebContents* second_web_contents = |
+ browser()->tab_strip_model()->GetActiveWebContents(); |
+ ASSERT_NE(first_web_contents, second_web_contents); |
+ GURL url = embedded_test_server()->GetURL( |
+ "/extensions/api_test/tabs/pdf_extension_test.html"); |
+ content::TestNavigationManager navigation_manager( |
+ second_web_contents, GURL("http://www.facebook.com:83")); |
+ ui_test_utils::NavigateToURLWithDisposition( |
+ browser(), url, WindowOpenDisposition::CURRENT_TAB, |
+ ui_test_utils::BROWSER_TEST_WAIT_FOR_NAVIGATION); |
+ EXPECT_TRUE(navigation_manager.WaitForRequestStart()); |
+ |
+ browser()->tab_strip_model()->ActivateTabAt(0, true); |
+ EXPECT_EQ(first_web_contents, |
+ browser()->tab_strip_model()->GetActiveWebContents()); |
+ browser()->tab_strip_model()->ActivateTabAt(1, true); |
+ EXPECT_EQ(second_web_contents, |
+ browser()->tab_strip_model()->GetActiveWebContents()); |
+ |
+ EXPECT_EQ(url, second_web_contents->GetVisibleURL()); |
+} |
+ |
} // namespace extensions |