Index: chrome/browser/extensions/api/streams_private/streams_private_apitest.cc |
diff --git a/chrome/browser/extensions/api/streams_private/streams_private_apitest.cc b/chrome/browser/extensions/api/streams_private/streams_private_apitest.cc |
index c7907c92a5c39d00e18b84cae7397fa6c36c243d..3092ee0559206d3bc93299be55c52fa7e4693352 100644 |
--- a/chrome/browser/extensions/api/streams_private/streams_private_apitest.cc |
+++ b/chrome/browser/extensions/api/streams_private/streams_private_apitest.cc |
@@ -101,6 +101,14 @@ scoped_ptr<HttpResponse> HandleRequest(const HttpRequest& request) { |
return response.PassAs<HttpResponse>(); |
} |
+ // RTF files for testing chrome.streamsPrivate.abort(). |
+ if (request.relative_url == "/abort.rtf" || |
+ request.relative_url == "/no_abort.rtf") { |
+ response->set_code(net::HTTP_OK); |
+ response->set_content_type("application/rtf"); |
+ return response.PassAs<HttpResponse>(); |
+ } |
+ |
// Respond to /favicon.ico for navigating to the page. |
if (request.relative_url == "/favicon.ico") { |
response->set_code(net::HTTP_NOT_FOUND); |
@@ -421,4 +429,26 @@ IN_PROC_BROWSER_TEST_F(StreamsPrivateApiTest, Headers) { |
EXPECT_TRUE(catcher.GetNextResult()); |
} |
+// Tests that chrome.streamsPrivate.abort() works correctly. |
+IN_PROC_BROWSER_TEST_F(StreamsPrivateApiTest, Abort) { |
+#if defined(OS_WIN) && defined(USE_ASH) |
+ // Disable this test in Metro+Ash for now (http://crbug.com/262796). |
+ if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kAshBrowserTests)) |
+ return; |
+#endif |
+ |
+ ASSERT_TRUE(LoadTestExtension()) << message_; |
+ |
+ ResultCatcher catcher; |
+ ui_test_utils::NavigateToURL(browser(), |
+ test_server_->GetURL("/no_abort.rtf")); |
+ base::MessageLoop::current()->RunUntilIdle(); |
+ EXPECT_TRUE(catcher.GetNextResult()); |
+ |
+ ui_test_utils::NavigateToURL(browser(), |
+ test_server_->GetURL("/abort.rtf")); |
+ base::MessageLoop::current()->RunUntilIdle(); |
+ EXPECT_TRUE(catcher.GetNextResult()); |
+} |
+ |
} // namespace |