| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "base/command_line.h" | 5 #include "base/command_line.h" |
| 6 #include "base/message_loop/message_loop.h" | 6 #include "base/message_loop/message_loop.h" |
| 7 #include "base/prefs/pref_service.h" | 7 #include "base/prefs/pref_service.h" |
| 8 #include "chrome/browser/download/download_prefs.h" | 8 #include "chrome/browser/download/download_prefs.h" |
| 9 #include "chrome/browser/extensions/extension_apitest.h" | 9 #include "chrome/browser/extensions/extension_apitest.h" |
| 10 #include "chrome/browser/profiles/profile.h" | 10 #include "chrome/browser/profiles/profile.h" |
| (...skipping 25 matching lines...) Expand all Loading... |
| 36 using content::DownloadManager; | 36 using content::DownloadManager; |
| 37 using content::DownloadUrlParameters; | 37 using content::DownloadUrlParameters; |
| 38 using content::ResourceController; | 38 using content::ResourceController; |
| 39 using content::WebContents; | 39 using content::WebContents; |
| 40 using extensions::Event; | 40 using extensions::Event; |
| 41 using extensions::ExtensionSystem; | 41 using extensions::ExtensionSystem; |
| 42 using extensions::ResultCatcher; | 42 using extensions::ResultCatcher; |
| 43 using net::test_server::BasicHttpResponse; | 43 using net::test_server::BasicHttpResponse; |
| 44 using net::test_server::HttpRequest; | 44 using net::test_server::HttpRequest; |
| 45 using net::test_server::HttpResponse; | 45 using net::test_server::HttpResponse; |
| 46 using net::test_server::EmbeddedTestServer; | |
| 47 using testing::_; | 46 using testing::_; |
| 48 | 47 |
| 49 namespace streams_private = extensions::api::streams_private; | 48 namespace streams_private = extensions::api::streams_private; |
| 50 | 49 |
| 51 namespace { | 50 namespace { |
| 52 | 51 |
| 53 // Test server's request handler. | 52 // Test server's request handler. |
| 54 // Returns response that should be sent by the test server. | 53 // Returns response that should be sent by the test server. |
| 55 scoped_ptr<HttpResponse> HandleRequest(const HttpRequest& request) { | 54 scoped_ptr<HttpResponse> HandleRequest(const HttpRequest& request) { |
| 56 scoped_ptr<BasicHttpResponse> response(new BasicHttpResponse()); | 55 scoped_ptr<BasicHttpResponse> response(new BasicHttpResponse()); |
| (...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 129 // extension to have MIME type 'application/msword' and the resources that | 128 // extension to have MIME type 'application/msword' and the resources that |
| 130 // should be downloaded by the browser to have MIME type 'text/plain'. | 129 // should be downloaded by the browser to have MIME type 'text/plain'. |
| 131 class StreamsPrivateApiTest : public ExtensionApiTest { | 130 class StreamsPrivateApiTest : public ExtensionApiTest { |
| 132 public: | 131 public: |
| 133 StreamsPrivateApiTest() {} | 132 StreamsPrivateApiTest() {} |
| 134 | 133 |
| 135 ~StreamsPrivateApiTest() override {} | 134 ~StreamsPrivateApiTest() override {} |
| 136 | 135 |
| 137 void SetUpOnMainThread() override { | 136 void SetUpOnMainThread() override { |
| 138 // Init test server. | 137 // Init test server. |
| 139 test_server_.reset(new EmbeddedTestServer); | 138 test_server_.reset(new net::EmbeddedTestServer); |
| 140 ASSERT_TRUE(test_server_->InitializeAndWaitUntilReady()); | 139 ASSERT_TRUE(test_server_->Start()); |
| 141 test_server_->RegisterRequestHandler(base::Bind(&HandleRequest)); | 140 test_server_->RegisterRequestHandler(base::Bind(&HandleRequest)); |
| 142 | 141 |
| 143 ExtensionApiTest::SetUpOnMainThread(); | 142 ExtensionApiTest::SetUpOnMainThread(); |
| 144 } | 143 } |
| 145 | 144 |
| 146 void TearDownOnMainThread() override { | 145 void TearDownOnMainThread() override { |
| 147 // Tear down the test server. | 146 // Tear down the test server. |
| 148 EXPECT_TRUE(test_server_->ShutdownAndWaitUntilComplete()); | 147 EXPECT_TRUE(test_server_->ShutdownAndWaitUntilComplete()); |
| 149 test_server_.reset(); | 148 test_server_.reset(); |
| 150 ExtensionApiTest::TearDownOnMainThread(); | 149 ExtensionApiTest::TearDownOnMainThread(); |
| (...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 228 DownloadManager* manager) { | 227 DownloadManager* manager) { |
| 229 scoped_refptr<content::DownloadTestFlushObserver> flush_observer( | 228 scoped_refptr<content::DownloadTestFlushObserver> flush_observer( |
| 230 new content::DownloadTestFlushObserver(manager)); | 229 new content::DownloadTestFlushObserver(manager)); |
| 231 download->Remove(); | 230 download->Remove(); |
| 232 flush_observer->WaitForFlush(); | 231 flush_observer->WaitForFlush(); |
| 233 } | 232 } |
| 234 | 233 |
| 235 protected: | 234 protected: |
| 236 std::string test_extension_id_; | 235 std::string test_extension_id_; |
| 237 // The HTTP server used in the tests. | 236 // The HTTP server used in the tests. |
| 238 scoped_ptr<EmbeddedTestServer> test_server_; | 237 scoped_ptr<net::EmbeddedTestServer> test_server_; |
| 239 base::ScopedTempDir downloads_dir_; | 238 base::ScopedTempDir downloads_dir_; |
| 240 }; | 239 }; |
| 241 | 240 |
| 242 // Tests that navigating to a resource with a MIME type handleable by an | 241 // Tests that navigating to a resource with a MIME type handleable by an |
| 243 // installed, white-listed extension invokes the extension's | 242 // installed, white-listed extension invokes the extension's |
| 244 // onExecuteContentHandler event (and does not start a download). | 243 // onExecuteContentHandler event (and does not start a download). |
| 245 IN_PROC_BROWSER_TEST_F(StreamsPrivateApiTest, Navigate) { | 244 IN_PROC_BROWSER_TEST_F(StreamsPrivateApiTest, Navigate) { |
| 246 #if defined(OS_WIN) && defined(USE_ASH) | 245 #if defined(OS_WIN) && defined(USE_ASH) |
| 247 // Disable this test in Metro+Ash for now (http://crbug.com/262796). | 246 // Disable this test in Metro+Ash for now (http://crbug.com/262796). |
| 248 if (base::CommandLine::ForCurrentProcess()->HasSwitch( | 247 if (base::CommandLine::ForCurrentProcess()->HasSwitch( |
| (...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 481 base::MessageLoop::current()->RunUntilIdle(); | 480 base::MessageLoop::current()->RunUntilIdle(); |
| 482 EXPECT_TRUE(catcher.GetNextResult()); | 481 EXPECT_TRUE(catcher.GetNextResult()); |
| 483 | 482 |
| 484 ui_test_utils::NavigateToURL(browser(), | 483 ui_test_utils::NavigateToURL(browser(), |
| 485 test_server_->GetURL("/abort.rtf")); | 484 test_server_->GetURL("/abort.rtf")); |
| 486 base::MessageLoop::current()->RunUntilIdle(); | 485 base::MessageLoop::current()->RunUntilIdle(); |
| 487 EXPECT_TRUE(catcher.GetNextResult()); | 486 EXPECT_TRUE(catcher.GetNextResult()); |
| 488 } | 487 } |
| 489 | 488 |
| 490 } // namespace | 489 } // namespace |
| OLD | NEW |