Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2088)

Unified Diff: chrome/browser/net/proxy_browsertest.cc

Issue 2876463007: Revert of Make ProfileIOData's ProxyService fetch PACs with the main URLRequestContext (Closed)
Patch Set: Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | chrome/browser/profiles/off_the_record_profile_io_data.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/net/proxy_browsertest.cc
diff --git a/chrome/browser/net/proxy_browsertest.cc b/chrome/browser/net/proxy_browsertest.cc
index 8c6738e64ffcbb6010baf45340769ff145bccffc..748cd8fbb76c4799bd38eb24da753ddb2fc5440f 100644
--- a/chrome/browser/net/proxy_browsertest.cc
+++ b/chrome/browser/net/proxy_browsertest.cc
@@ -4,13 +4,11 @@
#include "base/command_line.h"
#include "base/files/file_path.h"
-#include "base/location.h"
#include "base/macros.h"
#include "base/strings/string_util.h"
#include "base/strings/utf_string_conversions.h"
#include "build/build_config.h"
#include "chrome/browser/chrome_notification_types.h"
-#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/login/login_handler.h"
#include "chrome/browser/ui/tabs/tab_strip_model.h"
@@ -18,21 +16,15 @@
#include "chrome/common/chrome_switches.h"
#include "chrome/test/base/in_process_browser_test.h"
#include "chrome/test/base/ui_test_utils.h"
-#include "content/public/browser/browser_thread.h"
#include "content/public/browser/notification_details.h"
#include "content/public/browser/notification_source.h"
#include "content/public/browser/web_contents.h"
#include "content/public/browser/web_contents_observer.h"
#include "content/public/common/content_switches.h"
#include "content/public/test/browser_test_utils.h"
-#include "net/base/load_flags.h"
#include "net/test/embedded_test_server/embedded_test_server.h"
-#include "net/test/embedded_test_server/embedded_test_server_connection_listener.h"
#include "net/test/spawned_test_server/spawned_test_server.h"
#include "net/test/test_data_directory.h"
-#include "net/url_request/url_fetcher.h"
-#include "net/url_request/url_fetcher_delegate.h"
-#include "url/gurl.h"
namespace {
@@ -283,91 +275,4 @@
VerifyProxyScript(browser());
}
-// Waits for the one connection. It's fine if there are more.
-class WaitForConnectionsListener
- : public net::test_server::EmbeddedTestServerConnectionListener {
- public:
- WaitForConnectionsListener() {}
-
- void AcceptedSocket(const net::StreamSocket& socket) override {
- content::BrowserThread::PostTask(content::BrowserThread::UI, FROM_HERE,
- run_loop_.QuitClosure());
- }
-
- void ReadFromSocket(const net::StreamSocket& socket, int rv) override {}
-
- void Wait() { run_loop_.Run(); }
-
- private:
- scoped_refptr<base::SequencedTaskRunner> task_runner_;
-
- base::RunLoop run_loop_;
-
- DISALLOW_COPY_AND_ASSIGN(WaitForConnectionsListener);
-};
-
-// Fetch PAC script via a hanging http:// URL.
-class HangingPacRequestProxyScriptBrowserTest : public InProcessBrowserTest {
- public:
- HangingPacRequestProxyScriptBrowserTest() {}
- ~HangingPacRequestProxyScriptBrowserTest() override {}
-
- void SetUp() override {
- // Must start listening (And get a port for the proxy) before calling
- // SetUp().
- ASSERT_TRUE(embedded_test_server()->InitializeAndListen());
- InProcessBrowserTest::SetUp();
- }
-
- void SetUpOnMainThread() override {
- // This must be created after the main message loop has been set up.
- connection_listener_ = base::MakeUnique<WaitForConnectionsListener>();
- embedded_test_server()->SetConnectionListener(connection_listener_.get());
- embedded_test_server()->StartAcceptingConnections();
-
- InProcessBrowserTest::SetUpOnMainThread();
- }
-
- void SetUpCommandLine(base::CommandLine* command_line) override {
- command_line->AppendSwitchASCII(
- switches::kProxyPacUrl, embedded_test_server()->GetURL("/hung").spec());
- }
-
- protected:
- std::unique_ptr<WaitForConnectionsListener> connection_listener_;
-
- private:
- DISALLOW_COPY_AND_ASSIGN(HangingPacRequestProxyScriptBrowserTest);
-};
-
-// URLFetcherDelegate that expects a request to hang.
-class HangingURLFetcherDelegate : public net::URLFetcherDelegate {
- public:
- HangingURLFetcherDelegate() {}
- ~HangingURLFetcherDelegate() override {}
-
- void OnURLFetchComplete(const net::URLFetcher* source) override {
- ADD_FAILURE() << "This request should never complete.";
- }
-
- private:
- DISALLOW_COPY_AND_ASSIGN(HangingURLFetcherDelegate);
-};
-
-// Check that the URLRequest for a PAC that is still alive during shutdown is
-// safely cleaned up. This test relies on AssertNoURLRequests being called on
-// the main URLRequestContext.
-IN_PROC_BROWSER_TEST_F(HangingPacRequestProxyScriptBrowserTest, Shutdown) {
- // Request that should hang while trying to request the PAC script.
- // Enough requests are created on startup that this probably isn't needed, but
- // best to be safe.
- HangingURLFetcherDelegate hanging_request_delegate;
- std::unique_ptr<net::URLFetcher> hanging_fetcher = net::URLFetcher::Create(
- GURL("http://blah/"), net::URLFetcher::GET, &hanging_request_delegate);
- hanging_fetcher->SetRequestContext(browser()->profile()->GetRequestContext());
- hanging_fetcher->Start();
-
- connection_listener_->Wait();
-}
-
} // namespace
« no previous file with comments | « no previous file | chrome/browser/profiles/off_the_record_profile_io_data.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698