Chromium Code Reviews| Index: chrome/browser/extensions/window_open_apitest.cc |
| diff --git a/chrome/browser/extensions/window_open_apitest.cc b/chrome/browser/extensions/window_open_apitest.cc |
| index 1b31d161937be5c301f345d7440ff79ebf3ec99e..fbae038f82baf487d12b3d221c5a8e469d8a5c90 100644 |
| --- a/chrome/browser/extensions/window_open_apitest.cc |
| +++ b/chrome/browser/extensions/window_open_apitest.cc |
| @@ -17,6 +17,7 @@ |
| #include "chrome/common/chrome_paths.h" |
| #include "chrome/common/url_constants.h" |
| #include "chrome/test/base/ui_test_utils.h" |
| +#include "content/public/browser/navigation_entry.h" |
| #include "content/public/browser/notification_service.h" |
| #include "content/public/browser/notification_types.h" |
| #include "content/public/browser/render_frame_host.h" |
| @@ -240,7 +241,7 @@ IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, WindowOpenExtension) { |
| WebContents* newtab = NULL; |
| ASSERT_NO_FATAL_FAILURE( |
| OpenWindow(browser()->tab_strip_model()->GetActiveWebContents(), |
| - start_url.Resolve("newtab.html"), true, &newtab)); |
| + start_url.Resolve("newtab.html"), true, &newtab)); |
| bool result = false; |
| ASSERT_TRUE(content::ExecuteScriptAndExtractBool(newtab, "testExtensionApi()", |
| @@ -251,17 +252,21 @@ IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, WindowOpenExtension) { |
| // Tests that if an extension page calls window.open to an invalid extension |
| // URL, the browser doesn't crash. |
| IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, WindowOpenInvalidExtension) { |
|
ncarter (slow)
2017/05/01 21:50:37
Also incidental cleanup (this test had been failin
|
| - ASSERT_TRUE(LoadExtension( |
| - test_data_dir_.AppendASCII("uitest").AppendASCII("window_open"))); |
| + const extensions::Extension* extension = LoadExtension( |
| + test_data_dir_.AppendASCII("uitest").AppendASCII("window_open")); |
| + ASSERT_TRUE(extension); |
| - GURL start_url(std::string(extensions::kExtensionScheme) + |
| - url::kStandardSchemeSeparator + |
| - last_loaded_extension_id() + "/test.html"); |
| + GURL start_url = extension->GetResourceURL("/test.html"); |
| ui_test_utils::NavigateToURL(browser(), start_url); |
| - ASSERT_NO_FATAL_FAILURE( |
| - OpenWindow(browser()->tab_strip_model()->GetActiveWebContents(), |
| + WebContents* newtab = nullptr; |
| + ASSERT_NO_FATAL_FAILURE(OpenWindow( |
| + browser()->tab_strip_model()->GetActiveWebContents(), |
| GURL("chrome-extension://thisissurelynotavalidextensionid/newtab.html"), |
| - false, NULL)); |
| + false, &newtab)); |
| + |
| + // This is expected to commit an error page. |
| + ASSERT_EQ(content::PAGE_TYPE_ERROR, |
| + newtab->GetController().GetLastCommittedEntry()->GetPageType()); |
| // If we got to this point, we didn't crash, so we're good. |
| } |