| Index: chrome/browser/extensions/webstore_inline_installer_browsertest.cc
|
| diff --git a/chrome/browser/extensions/webstore_inline_installer_browsertest.cc b/chrome/browser/extensions/webstore_inline_installer_browsertest.cc
|
| index d6c561dc0e1c8373c2ff087088ca128ec4082b7f..a2a25b7bda28e4da75a5667a87f3a95a2aa800b8 100644
|
| --- a/chrome/browser/extensions/webstore_inline_installer_browsertest.cc
|
| +++ b/chrome/browser/extensions/webstore_inline_installer_browsertest.cc
|
| @@ -309,6 +309,14 @@ IN_PROC_BROWSER_TEST_F(WebstoreInlineInstallerTest,
|
| ExtensionInstallPrompt::g_last_prompt_type_for_tests);
|
| }
|
|
|
| +// Test calling chrome.webstore.install() twice without waiting for the first to
|
| +// finish.
|
| +IN_PROC_BROWSER_TEST_F(WebstoreInlineInstallerTest, DoubleInlineInstallTest) {
|
| + ui_test_utils::NavigateToURL(
|
| + browser(), GenerateTestServerUrl(kAppDomain, "double_install.html"));
|
| + RunTest("runTest");
|
| +}
|
| +
|
| class WebstoreInlineInstallerListenerTest : public WebstoreInlineInstallerTest {
|
| public:
|
| WebstoreInlineInstallerListenerTest() {}
|
| @@ -335,6 +343,26 @@ IN_PROC_BROWSER_TEST_F(WebstoreInlineInstallerListenerTest,
|
|
|
| IN_PROC_BROWSER_TEST_F(WebstoreInlineInstallerListenerTest, BothListenersTest) {
|
| RunTest("both_listeners.html");
|
| + // The extension should be installed.
|
| + ExtensionRegistry* registry = ExtensionRegistry::Get(profile());
|
| + EXPECT_TRUE(registry->enabled_extensions().GetByID(kTestExtensionId));
|
| +
|
| + // Rinse and repeat: uninstall the extension, open a new tab, and install it
|
| + // again. Regression test for crbug.com/613949.
|
| + extension_service()->UninstallExtension(
|
| + kTestExtensionId, UNINSTALL_REASON_FOR_TESTING,
|
| + base::Bind(&base::DoNothing), nullptr);
|
| + base::RunLoop().RunUntilIdle();
|
| + EXPECT_FALSE(registry->enabled_extensions().GetByID(kTestExtensionId));
|
| + int old_tab_index = browser()->tab_strip_model()->active_index();
|
| + ui_test_utils::NavigateToURLWithDisposition(
|
| + browser(), GenerateTestServerUrl(kAppDomain, "both_listeners.html"),
|
| + NEW_FOREGROUND_TAB, ui_test_utils::BROWSER_TEST_WAIT_FOR_NAVIGATION);
|
| + DCHECK_NE(old_tab_index, browser()->tab_strip_model()->active_index());
|
| + browser()->tab_strip_model()->CloseWebContentsAt(old_tab_index,
|
| + TabStripModel::CLOSE_NONE);
|
| + WebstoreInstallerTest::RunTest("runTest");
|
| + EXPECT_TRUE(registry->enabled_extensions().GetByID(kTestExtensionId));
|
| }
|
|
|
| } // namespace extensions
|
|
|