| OLD | NEW | 
|    1 // Copyright 2014 The Chromium Authors. All rights reserved. |    1 // Copyright 2014 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/bind.h" |    5 #include "base/bind.h" | 
|    6 #include "base/lazy_instance.h" |    6 #include "base/lazy_instance.h" | 
|    7 #include "base/memory/weak_ptr.h" |    7 #include "base/memory/weak_ptr.h" | 
|    8 #include "base/message_loop/message_loop.h" |    8 #include "base/message_loop/message_loop.h" | 
|    9 #include "base/run_loop.h" |    9 #include "base/run_loop.h" | 
|   10 #include "mojo/application/public/cpp/application_test_base.h" |   10 #include "mojo/application/public/cpp/application_test_base.h" | 
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   42     CHECK(!g_current_job); |   42     CHECK(!g_current_job); | 
|   43     g_current_job = this; |   43     g_current_job = this; | 
|   44   } |   44   } | 
|   45  |   45  | 
|   46   Status status() { return status_; } |   46   Status status() { return status_; } | 
|   47  |   47  | 
|   48   int buf_size() { return buf_size_; } |   48   int buf_size() { return buf_size_; } | 
|   49  |   49  | 
|   50   void Start() override { status_ = STARTED; } |   50   void Start() override { status_ = STARTED; } | 
|   51  |   51  | 
|   52   bool ReadRawData(net::IOBuffer* buf, int buf_size, int* bytes_read) override { |   52   int ReadRawData(net::IOBuffer* buf, int buf_size) override { | 
|   53     status_ = READING; |   53     status_ = READING; | 
|   54     buf_size_ = buf_size; |   54     buf_size_ = buf_size; | 
|   55     SetStatus(net::URLRequestStatus(net::URLRequestStatus::IO_PENDING, 0)); |   55     return net::ERR_IO_PENDING; | 
|   56     return false; |  | 
|   57   } |   56   } | 
|   58  |   57  | 
|   59   void NotifyHeadersComplete() { net::URLRequestJob::NotifyHeadersComplete(); } |   58   void NotifyHeadersComplete() { net::URLRequestJob::NotifyHeadersComplete(); } | 
|   60  |   59  | 
|   61   void NotifyReadComplete(int bytes_read) { |   60   void NotifyReadComplete(int result) { | 
|   62     if (bytes_read < 0) { |   61     status_ = result <= 0 ? COMPLETED : STARTED; | 
|   63       status_ = COMPLETED; |   62  | 
|   64       NotifyDone(net::URLRequestStatus( |   63     // Map errors to net::ERR_FAILED. | 
|   65           net::URLRequestStatus::FromError(net::ERR_FAILED))); |   64     if (result < 0) | 
|   66       net::URLRequestJob::NotifyReadComplete(0); |   65       result = net::ERR_FAILED; | 
|   67     } else if (bytes_read == 0) { |   66  | 
|   68       status_ = COMPLETED; |   67     ReadRawDataComplete(result); | 
|   69       NotifyDone(net::URLRequestStatus()); |  | 
|   70       net::URLRequestJob::NotifyReadComplete(bytes_read); |  | 
|   71     } else { |  | 
|   72       status_ = STARTED; |  | 
|   73       SetStatus(net::URLRequestStatus()); |  | 
|   74       net::URLRequestJob::NotifyReadComplete(bytes_read); |  | 
|   75     } |  | 
|   76   } |   68   } | 
|   77  |   69  | 
|   78  private: |   70  private: | 
|   79   ~TestURLRequestJob() override { |   71   ~TestURLRequestJob() override { | 
|   80     CHECK(g_current_job == this); |   72     CHECK(g_current_job == this); | 
|   81     g_current_job = nullptr; |   73     g_current_job = nullptr; | 
|   82   } |   74   } | 
|   83  |   75  | 
|   84   Status status_; |   76   Status status_; | 
|   85   int buf_size_; |   77   int buf_size_; | 
| (...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  265  |  257  | 
|  266   EXPECT_TRUE(IsUrlLoaderValid()); |  258   EXPECT_TRUE(IsUrlLoaderValid()); | 
|  267  |  259  | 
|  268   g_current_job->NotifyReadComplete(-1); |  260   g_current_job->NotifyReadComplete(-1); | 
|  269   base::RunLoop().RunUntilIdle(); |  261   base::RunLoop().RunUntilIdle(); | 
|  270  |  262  | 
|  271   EXPECT_FALSE(IsUrlLoaderValid()); |  263   EXPECT_FALSE(IsUrlLoaderValid()); | 
|  272 } |  264 } | 
|  273  |  265  | 
|  274 }  // namespace mojo |  266 }  // namespace mojo | 
| OLD | NEW |