| Index: chrome/browser/net/url_fetcher_unittest.cc
|
| ===================================================================
|
| --- chrome/browser/net/url_fetcher_unittest.cc (revision 30037)
|
| +++ chrome/browser/net/url_fetcher_unittest.cc (working copy)
|
| @@ -5,6 +5,7 @@
|
| #include "base/thread.h"
|
| #include "base/time.h"
|
| #include "base/timer.h"
|
| +#include "chrome/browser/chrome_thread.h"
|
| #include "chrome/browser/net/url_fetcher.h"
|
| #include "chrome/browser/net/url_fetcher_protect.h"
|
| #include "chrome/browser/net/url_request_context_getter.h"
|
| @@ -34,7 +35,9 @@
|
|
|
| class URLFetcherTest : public testing::Test, public URLFetcher::Delegate {
|
| public:
|
| - URLFetcherTest() : fetcher_(NULL) { }
|
| + URLFetcherTest()
|
| + : io_thread_(ChromeThread::IO, &io_loop_),
|
| + fetcher_(NULL) { }
|
|
|
| // Creates a URLFetcher, using the program's main thread to do IO.
|
| virtual void CreateFetcher(const GURL& url);
|
| @@ -60,6 +63,7 @@
|
| // dispatches its requests to. When we wish to simulate being used from
|
| // a UI thread, we dispatch a worker thread to do so.
|
| MessageLoopForIO io_loop_;
|
| + ChromeThread io_thread_;
|
|
|
| URLFetcher* fetcher_;
|
| };
|
| @@ -197,7 +201,6 @@
|
| void URLFetcherTest::CreateFetcher(const GURL& url) {
|
| fetcher_ = new URLFetcher(url, URLFetcher::GET, this);
|
| fetcher_->set_request_context(new TestURLRequestContextGetter());
|
| - fetcher_->set_io_loop(&io_loop_);
|
| fetcher_->Start();
|
| }
|
|
|
| @@ -215,15 +218,15 @@
|
| // because the destructor won't necessarily run on the
|
| // same thread that CreateFetcher() did.
|
|
|
| - io_loop_.PostTask(FROM_HERE, new MessageLoop::QuitTask());
|
| - // If MessageLoop::current() != io_loop_, it will be shut down when the
|
| - // main loop returns and this thread subsequently goes out of scope.
|
| + ChromeThread::PostTask(
|
| + ChromeThread::IO, FROM_HERE, new MessageLoop::QuitTask());
|
| + // If the current message loop is not the IO loop, it will be shut down when
|
| + // the main loop returns and this thread subsequently goes out of scope.
|
| }
|
|
|
| void URLFetcherPostTest::CreateFetcher(const GURL& url) {
|
| fetcher_ = new URLFetcher(url, URLFetcher::POST, this);
|
| fetcher_->set_request_context(new TestURLRequestContextGetter());
|
| - fetcher_->set_io_loop(&io_loop_);
|
| fetcher_->set_upload_data("application/x-www-form-urlencoded",
|
| "bobsyeruncle");
|
| fetcher_->Start();
|
| @@ -258,7 +261,6 @@
|
| void URLFetcherProtectTest::CreateFetcher(const GURL& url) {
|
| fetcher_ = new URLFetcher(url, URLFetcher::GET, this);
|
| fetcher_->set_request_context(new TestURLRequestContextGetter());
|
| - fetcher_->set_io_loop(&io_loop_);
|
| start_time_ = Time::Now();
|
| fetcher_->Start();
|
| }
|
| @@ -277,7 +279,8 @@
|
| EXPECT_TRUE(status.is_success());
|
| EXPECT_FALSE(data.empty());
|
| delete fetcher_;
|
| - io_loop_.Quit();
|
| + ChromeThread::PostTask(
|
| + ChromeThread::IO, FROM_HERE, new MessageLoop::QuitTask());
|
| } else {
|
| // Now running Overload test.
|
| static int count = 0;
|
| @@ -323,14 +326,14 @@
|
|
|
| // The rest is the same as URLFetcherTest::OnURLFetchComplete.
|
| delete fetcher_;
|
| - io_loop_.Quit();
|
| + ChromeThread::PostTask(
|
| + ChromeThread::IO, FROM_HERE, new MessageLoop::QuitTask());
|
| }
|
|
|
| void URLFetcherCancelTest::CreateFetcher(const GURL& url) {
|
| fetcher_ = new URLFetcher(url, URLFetcher::GET, this);
|
| fetcher_->set_request_context(
|
| new CancelTestURLRequestContextGetter(&context_released_));
|
| - fetcher_->set_io_loop(&io_loop_);
|
| fetcher_->Start();
|
| // Make sure we give the IO thread a chance to run.
|
| timer_.Start(TimeDelta::FromMilliseconds(300), this,
|
| @@ -346,7 +349,8 @@
|
| // We should have cancelled the request before completion.
|
| ADD_FAILURE();
|
| delete fetcher_;
|
| - io_loop_.PostTask(FROM_HERE, new MessageLoop::QuitTask());
|
| + ChromeThread::PostTask(
|
| + ChromeThread::IO, FROM_HERE, new MessageLoop::QuitTask());
|
| }
|
|
|
| void URLFetcherCancelTest::CancelRequest() {
|
| @@ -360,7 +364,8 @@
|
| void URLFetcherCancelTest::TestContextReleased() {
|
| EXPECT_TRUE(context_released_);
|
| timer_.Stop();
|
| - io_loop_.PostTask(FROM_HERE, new MessageLoop::QuitTask());
|
| + ChromeThread::PostTask(
|
| + ChromeThread::IO, FROM_HERE, new MessageLoop::QuitTask());
|
| }
|
|
|
| TEST_F(URLFetcherTest, SameThreadsTest) {
|
|
|