| Index: net/proxy/proxy_script_decider_unittest.cc
|
| diff --git a/net/proxy/proxy_script_decider_unittest.cc b/net/proxy/proxy_script_decider_unittest.cc
|
| index f2d6c82c1bbed59f22c2bc358256bd65174dc30b..7e91d6e25e948759a010b00a65d65665fb5eb5c4 100644
|
| --- a/net/proxy/proxy_script_decider_unittest.cc
|
| +++ b/net/proxy/proxy_script_decider_unittest.cc
|
| @@ -96,7 +96,7 @@ class RuleBasedProxyScriptFetcher : public ProxyScriptFetcher {
|
| // ProxyScriptFetcher implementation.
|
| virtual int Fetch(const GURL& url,
|
| string16* text,
|
| - OldCompletionCallback* callback) {
|
| + const CompletionCallback& callback) {
|
| const Rules::Rule& rule = rules_->GetRuleByUrl(url);
|
| int rv = rule.fetch_error;
|
| EXPECT_NE(ERR_UNEXPECTED, rv);
|
| @@ -124,11 +124,11 @@ TEST(ProxyScriptDeciderTest, CustomPacSucceeds) {
|
|
|
| Rules::Rule rule = rules.AddSuccessRule("http://custom/proxy.pac");
|
|
|
| - TestOldCompletionCallback callback;
|
| + TestCompletionCallback callback;
|
| CapturingNetLog log(CapturingNetLog::kUnbounded);
|
| ProxyScriptDecider decider(&fetcher, &dhcp_fetcher, &log);
|
| EXPECT_EQ(OK, decider.Start(
|
| - config, base::TimeDelta(), true, &callback));
|
| + config, base::TimeDelta(), true, callback.callback()));
|
| EXPECT_EQ(rule.text(), decider.script_data()->utf16());
|
|
|
| // Check the NetLog was filled correctly.
|
| @@ -160,11 +160,12 @@ TEST(ProxyScriptDeciderTest, CustomPacFails1) {
|
|
|
| rules.AddFailDownloadRule("http://custom/proxy.pac");
|
|
|
| - TestOldCompletionCallback callback;
|
| + TestCompletionCallback callback;
|
| CapturingNetLog log(CapturingNetLog::kUnbounded);
|
| ProxyScriptDecider decider(&fetcher, &dhcp_fetcher, &log);
|
| EXPECT_EQ(kFailedDownloading,
|
| - decider.Start(config, base::TimeDelta(), true, &callback));
|
| + decider.Start(config, base::TimeDelta(), true,
|
| + callback.callback()));
|
| EXPECT_EQ(NULL, decider.script_data());
|
|
|
| // Check the NetLog was filled correctly.
|
| @@ -195,10 +196,11 @@ TEST(ProxyScriptDeciderTest, CustomPacFails2) {
|
|
|
| rules.AddFailParsingRule("http://custom/proxy.pac");
|
|
|
| - TestOldCompletionCallback callback;
|
| + TestCompletionCallback callback;
|
| ProxyScriptDecider decider(&fetcher, &dhcp_fetcher, NULL);
|
| EXPECT_EQ(kFailedParsing,
|
| - decider.Start(config, base::TimeDelta(), true, &callback));
|
| + decider.Start(config, base::TimeDelta(), true,
|
| + callback.callback()));
|
| EXPECT_EQ(NULL, decider.script_data());
|
| }
|
|
|
| @@ -210,10 +212,11 @@ TEST(ProxyScriptDeciderTest, HasNullProxyScriptFetcher) {
|
| ProxyConfig config;
|
| config.set_pac_url(GURL("http://custom/proxy.pac"));
|
|
|
| - TestOldCompletionCallback callback;
|
| + TestCompletionCallback callback;
|
| ProxyScriptDecider decider(NULL, &dhcp_fetcher, NULL);
|
| EXPECT_EQ(ERR_UNEXPECTED,
|
| - decider.Start(config, base::TimeDelta(), true, &callback));
|
| + decider.Start(config, base::TimeDelta(), true,
|
| + callback.callback()));
|
| EXPECT_EQ(NULL, decider.script_data());
|
| }
|
|
|
| @@ -228,10 +231,10 @@ TEST(ProxyScriptDeciderTest, AutodetectSuccess) {
|
|
|
| Rules::Rule rule = rules.AddSuccessRule("http://wpad/wpad.dat");
|
|
|
| - TestOldCompletionCallback callback;
|
| + TestCompletionCallback callback;
|
| ProxyScriptDecider decider(&fetcher, &dhcp_fetcher, NULL);
|
| EXPECT_EQ(OK, decider.Start(
|
| - config, base::TimeDelta(), true, &callback));
|
| + config, base::TimeDelta(), true, callback.callback()));
|
| EXPECT_EQ(rule.text(), decider.script_data()->utf16());
|
|
|
| EXPECT_TRUE(decider.effective_config().has_pac_url());
|
| @@ -251,10 +254,10 @@ TEST(ProxyScriptDeciderTest, AutodetectFailCustomSuccess1) {
|
| rules.AddFailDownloadRule("http://wpad/wpad.dat");
|
| Rules::Rule rule = rules.AddSuccessRule("http://custom/proxy.pac");
|
|
|
| - TestOldCompletionCallback callback;
|
| + TestCompletionCallback callback;
|
| ProxyScriptDecider decider(&fetcher, &dhcp_fetcher, NULL);
|
| EXPECT_EQ(OK, decider.Start(
|
| - config, base::TimeDelta(), true, &callback));
|
| + config, base::TimeDelta(), true, callback.callback()));
|
| EXPECT_EQ(rule.text(), decider.script_data()->utf16());
|
|
|
| EXPECT_TRUE(decider.effective_config().has_pac_url());
|
| @@ -276,12 +279,12 @@ TEST(ProxyScriptDeciderTest, AutodetectFailCustomSuccess2) {
|
| rules.AddFailParsingRule("http://wpad/wpad.dat");
|
| Rules::Rule rule = rules.AddSuccessRule("http://custom/proxy.pac");
|
|
|
| - TestOldCompletionCallback callback;
|
| + TestCompletionCallback callback;
|
| CapturingNetLog log(CapturingNetLog::kUnbounded);
|
|
|
| ProxyScriptDecider decider(&fetcher, &dhcp_fetcher, &log);
|
| EXPECT_EQ(OK, decider.Start(config, base::TimeDelta(),
|
| - true, &callback));
|
| + true, callback.callback()));
|
| EXPECT_EQ(rule.text(), decider.script_data()->utf16());
|
|
|
| // Verify that the effective configuration no longer contains auto detect or
|
| @@ -339,10 +342,11 @@ TEST(ProxyScriptDeciderTest, AutodetectFailCustomFails1) {
|
| rules.AddFailDownloadRule("http://wpad/wpad.dat");
|
| rules.AddFailDownloadRule("http://custom/proxy.pac");
|
|
|
| - TestOldCompletionCallback callback;
|
| + TestCompletionCallback callback;
|
| ProxyScriptDecider decider(&fetcher, &dhcp_fetcher, NULL);
|
| EXPECT_EQ(kFailedDownloading,
|
| - decider.Start(config, base::TimeDelta(), true, &callback));
|
| + decider.Start(config, base::TimeDelta(), true,
|
| + callback.callback()));
|
| EXPECT_EQ(NULL, decider.script_data());
|
| }
|
|
|
| @@ -359,10 +363,11 @@ TEST(ProxyScriptDeciderTest, AutodetectFailCustomFails2) {
|
| rules.AddFailDownloadRule("http://wpad/wpad.dat");
|
| rules.AddFailParsingRule("http://custom/proxy.pac");
|
|
|
| - TestOldCompletionCallback callback;
|
| + TestCompletionCallback callback;
|
| ProxyScriptDecider decider(&fetcher, &dhcp_fetcher, NULL);
|
| EXPECT_EQ(kFailedParsing,
|
| - decider.Start(config, base::TimeDelta(), true, &callback));
|
| + decider.Start(config, base::TimeDelta(), true,
|
| + callback.callback()));
|
| EXPECT_EQ(NULL, decider.script_data());
|
| }
|
|
|
| @@ -379,12 +384,12 @@ TEST(ProxyScriptDeciderTest, CustomPacFails1_WithPositiveDelay) {
|
|
|
| rules.AddFailDownloadRule("http://custom/proxy.pac");
|
|
|
| - TestOldCompletionCallback callback;
|
| + TestCompletionCallback callback;
|
| CapturingNetLog log(CapturingNetLog::kUnbounded);
|
| ProxyScriptDecider decider(&fetcher, &dhcp_fetcher, &log);
|
| EXPECT_EQ(ERR_IO_PENDING,
|
| decider.Start(config, base::TimeDelta::FromMilliseconds(1),
|
| - true, &callback));
|
| + true, callback.callback()));
|
|
|
| EXPECT_EQ(kFailedDownloading, callback.WaitForResult());
|
| EXPECT_EQ(NULL, decider.script_data());
|
| @@ -421,12 +426,12 @@ TEST(ProxyScriptDeciderTest, CustomPacFails1_WithNegativeDelay) {
|
|
|
| rules.AddFailDownloadRule("http://custom/proxy.pac");
|
|
|
| - TestOldCompletionCallback callback;
|
| + TestCompletionCallback callback;
|
| CapturingNetLog log(CapturingNetLog::kUnbounded);
|
| ProxyScriptDecider decider(&fetcher, &dhcp_fetcher, &log);
|
| EXPECT_EQ(kFailedDownloading,
|
| decider.Start(config, base::TimeDelta::FromSeconds(-5),
|
| - true, &callback));
|
| + true, callback.callback()));
|
| EXPECT_EQ(NULL, decider.script_data());
|
|
|
| // Check the NetLog was filled correctly.
|
| @@ -450,7 +455,7 @@ class SynchronousSuccessDhcpFetcher : public DhcpProxyScriptFetcher {
|
| : gurl_("http://dhcppac/"), expected_text_(expected_text) {
|
| }
|
|
|
| - int Fetch(string16* utf16_text, OldCompletionCallback* callback) OVERRIDE {
|
| + int Fetch(string16* utf16_text, const CompletionCallback& callback) OVERRIDE {
|
| *utf16_text = expected_text_;
|
| return OK;
|
| }
|
| @@ -490,10 +495,10 @@ TEST(ProxyScriptDeciderTest, AutodetectDhcpSuccess) {
|
| rules.AddSuccessRule("http://bingo/");
|
| rules.AddFailDownloadRule("http://wpad/wpad.dat");
|
|
|
| - TestOldCompletionCallback callback;
|
| + TestCompletionCallback callback;
|
| ProxyScriptDecider decider(&fetcher, &dhcp_fetcher, NULL);
|
| EXPECT_EQ(OK, decider.Start(
|
| - config, base::TimeDelta(), true, &callback));
|
| + config, base::TimeDelta(), true, callback.callback()));
|
| EXPECT_EQ(dhcp_fetcher.expected_text(),
|
| decider.script_data()->utf16());
|
|
|
| @@ -513,12 +518,12 @@ TEST(ProxyScriptDeciderTest, AutodetectDhcpFailParse) {
|
| rules.AddFailParsingRule("http://bingo/");
|
| rules.AddFailDownloadRule("http://wpad/wpad.dat");
|
|
|
| - TestOldCompletionCallback callback;
|
| + TestCompletionCallback callback;
|
| ProxyScriptDecider decider(&fetcher, &dhcp_fetcher, NULL);
|
| // Since there is fallback to DNS-based WPAD, the final error will be that
|
| // it failed downloading, not that it failed parsing.
|
| EXPECT_EQ(kFailedDownloading,
|
| - decider.Start(config, base::TimeDelta(), true, &callback));
|
| + decider.Start(config, base::TimeDelta(), true, callback.callback()));
|
| EXPECT_EQ(NULL, decider.script_data());
|
|
|
| EXPECT_FALSE(decider.effective_config().has_pac_url());
|
| @@ -528,19 +533,18 @@ class AsyncFailDhcpFetcher
|
| : public DhcpProxyScriptFetcher,
|
| public base::RefCountedThreadSafe<AsyncFailDhcpFetcher> {
|
| public:
|
| - AsyncFailDhcpFetcher() : callback_(NULL) {
|
| - }
|
| + AsyncFailDhcpFetcher() {}
|
|
|
| - int Fetch(string16* utf16_text, OldCompletionCallback* callback) OVERRIDE {
|
| + int Fetch(string16* utf16_text, const CompletionCallback& callback) OVERRIDE {
|
| callback_ = callback;
|
| MessageLoop::current()->PostTask(
|
| FROM_HERE,
|
| - NewRunnableMethod(this, &AsyncFailDhcpFetcher::CallbackWithFailure));
|
| + base::Bind(&AsyncFailDhcpFetcher::CallbackWithFailure, this));
|
| return ERR_IO_PENDING;
|
| }
|
|
|
| void Cancel() OVERRIDE {
|
| - callback_ = NULL;
|
| + callback_.Reset();
|
| }
|
|
|
| const GURL& GetPacURL() const OVERRIDE {
|
| @@ -548,13 +552,13 @@ class AsyncFailDhcpFetcher
|
| }
|
|
|
| void CallbackWithFailure() {
|
| - if (callback_)
|
| - callback_->Run(ERR_PAC_NOT_IN_DHCP);
|
| + if (!callback_.is_null())
|
| + callback_.Run(ERR_PAC_NOT_IN_DHCP);
|
| }
|
|
|
| private:
|
| GURL dummy_gurl_;
|
| - OldCompletionCallback* callback_;
|
| + CompletionCallback callback_;
|
| };
|
|
|
| TEST(ProxyScriptDeciderTest, DhcpCancelledByDestructor) {
|
| @@ -571,12 +575,12 @@ TEST(ProxyScriptDeciderTest, DhcpCancelledByDestructor) {
|
| config.set_auto_detect(true);
|
| rules.AddFailDownloadRule("http://wpad/wpad.dat");
|
|
|
| - TestOldCompletionCallback callback;
|
| + TestCompletionCallback callback;
|
|
|
| // Scope so ProxyScriptDecider gets destroyed early.
|
| {
|
| ProxyScriptDecider decider(&fetcher, dhcp_fetcher.get(), NULL);
|
| - decider.Start(config, base::TimeDelta(), true, &callback);
|
| + decider.Start(config, base::TimeDelta(), true, callback.callback());
|
| }
|
|
|
| // Run the message loop to let the DHCP fetch complete and post the results
|
|
|