| Index: net/url_request/url_request_simple_job_unittest.cc
|
| diff --git a/net/url_request/url_request_simple_job_unittest.cc b/net/url_request/url_request_simple_job_unittest.cc
|
| index 8b0ef3232e85334cc2996c53459789c151a6d13c..73c4c56ba6b4fd94494f5df387d9f282ec472fe0 100644
|
| --- a/net/url_request/url_request_simple_job_unittest.cc
|
| +++ b/net/url_request/url_request_simple_job_unittest.cc
|
| @@ -10,11 +10,12 @@
|
| #include "base/bind_helpers.h"
|
| #include "base/macros.h"
|
| #include "base/memory/ptr_util.h"
|
| +#include "base/message_loop/message_loop.h"
|
| #include "base/run_loop.h"
|
| #include "base/sequenced_task_runner.h"
|
| #include "base/strings/string_piece.h"
|
| #include "base/strings/stringprintf.h"
|
| -#include "base/threading/thread.h"
|
| +#include "base/test/scoped_task_scheduler.h"
|
| #include "net/base/request_priority.h"
|
| #include "net/test/gtest_util.h"
|
| #include "net/url_request/url_request_job.h"
|
| @@ -44,11 +45,9 @@ class MockSimpleJob : public URLRequestSimpleJob {
|
| public:
|
| MockSimpleJob(URLRequest* request,
|
| NetworkDelegate* network_delegate,
|
| - scoped_refptr<base::TaskRunner> task_runner,
|
| base::StringPiece data)
|
| : URLRequestSimpleJob(request, network_delegate),
|
| - data_(data.as_string()),
|
| - task_runner_(std::move(task_runner)) {}
|
| + data_(data.as_string()) {}
|
|
|
| protected:
|
| // URLRequestSimpleJob implementation:
|
| @@ -62,17 +61,11 @@ class MockSimpleJob : public URLRequestSimpleJob {
|
| return OK;
|
| }
|
|
|
| - base::TaskRunner* GetTaskRunner() const override {
|
| - return task_runner_.get();
|
| - }
|
| -
|
| private:
|
| ~MockSimpleJob() override {}
|
|
|
| const std::string data_;
|
|
|
| - const scoped_refptr<base::TaskRunner> task_runner_;
|
| -
|
| DISALLOW_COPY_AND_ASSIGN(MockSimpleJob);
|
| };
|
|
|
| @@ -101,33 +94,27 @@ class CancelAfterFirstReadURLRequestDelegate : public TestDelegate {
|
| class SimpleJobProtocolHandler :
|
| public URLRequestJobFactory::ProtocolHandler {
|
| public:
|
| - SimpleJobProtocolHandler(scoped_refptr<base::TaskRunner> task_runner)
|
| - : task_runner_(std::move(task_runner)) {}
|
| + SimpleJobProtocolHandler() = default;
|
| URLRequestJob* MaybeCreateJob(
|
| URLRequest* request,
|
| NetworkDelegate* network_delegate) const override {
|
| if (request->url().spec() == "data:empty")
|
| - return new MockSimpleJob(request, network_delegate, task_runner_, "");
|
| - return new MockSimpleJob(request, network_delegate, task_runner_,
|
| - kTestData);
|
| + return new MockSimpleJob(request, network_delegate, "");
|
| + return new MockSimpleJob(request, network_delegate, kTestData);
|
| }
|
|
|
| ~SimpleJobProtocolHandler() override {}
|
|
|
| private:
|
| - const scoped_refptr<base::TaskRunner> task_runner_;
|
| -
|
| DISALLOW_COPY_AND_ASSIGN(SimpleJobProtocolHandler);
|
| };
|
|
|
| class URLRequestSimpleJobTest : public ::testing::Test {
|
| public:
|
| URLRequestSimpleJobTest()
|
| - : worker_thread_("URLRequestSimpleJobTest"), context_(true) {
|
| - EXPECT_TRUE(worker_thread_.Start());
|
| -
|
| + : context_(true), scoped_task_scheduler_(base::MessageLoop::current()) {
|
| job_factory_.SetProtocolHandler(
|
| - "data", base::MakeUnique<SimpleJobProtocolHandler>(task_runner()));
|
| + "data", base::MakeUnique<SimpleJobProtocolHandler>());
|
| context_.set_job_factory(&job_factory_);
|
| context_.Init();
|
|
|
| @@ -145,17 +132,15 @@ class URLRequestSimpleJobTest : public ::testing::Test {
|
| EXPECT_FALSE(request_->is_pending());
|
| }
|
|
|
| - scoped_refptr<base::SequencedTaskRunner> task_runner() {
|
| - return worker_thread_.task_runner();
|
| - }
|
| -
|
| protected:
|
| - base::Thread worker_thread_;
|
| TestURLRequestContext context_;
|
| URLRequestJobFactoryImpl job_factory_;
|
| TestDelegate delegate_;
|
| std::unique_ptr<URLRequest> request_;
|
|
|
| + private:
|
| + base::test::ScopedTaskScheduler scoped_task_scheduler_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(URLRequestSimpleJobTest);
|
| };
|
|
|
| @@ -236,12 +221,8 @@ TEST_F(URLRequestSimpleJobTest, CancelAfterFirstReadStarted) {
|
| request_->Start();
|
| cancel_delegate.WaitUntilHeadersReceived();
|
|
|
| - // Feed a dummy task to the SequencedTaskRunner to make sure that the
|
| - // callbacks which are invoked in ReadRawData have completed safely.
|
| - base::RunLoop run_loop;
|
| - EXPECT_TRUE(task_runner()->PostTaskAndReply(
|
| - FROM_HERE, base::Bind(&base::DoNothing), run_loop.QuitClosure()));
|
| - run_loop.Run();
|
| + // Run ScopedTaskScheduler tasks.
|
| + base::RunLoop().RunUntilIdle();
|
|
|
| EXPECT_THAT(cancel_delegate.request_status(), IsError(ERR_ABORTED));
|
| EXPECT_EQ(1, cancel_delegate.response_started_count());
|
|
|