| Index: content/child/resource_dispatcher_unittest.cc
|
| diff --git a/content/child/resource_dispatcher_unittest.cc b/content/child/resource_dispatcher_unittest.cc
|
| index 3e4bb15f3f7eae38a0de209bd58d77d12b8aa666..758376de25aeaf3d28eff54df0b259d855081d03 100644
|
| --- a/content/child/resource_dispatcher_unittest.cc
|
| +++ b/content/child/resource_dispatcher_unittest.cc
|
| @@ -21,6 +21,7 @@
|
| #include "base/run_loop.h"
|
| #include "base/test/scoped_feature_list.h"
|
| #include "content/child/request_extra_data.h"
|
| +#include "content/child/test_request_peer.h"
|
| #include "content/common/appcache_interfaces.h"
|
| #include "content/common/resource_messages.h"
|
| #include "content/common/resource_request.h"
|
| @@ -51,107 +52,6 @@ static const char kTestPageContents[] =
|
| static const char kTestRedirectHeaders[] =
|
| "HTTP/1.1 302 Found\nLocation:http://www.google.com/\n\n";
|
|
|
| -// Listens for request response data and stores it so that it can be compared
|
| -// to the reference data.
|
| -class TestRequestPeer : public RequestPeer {
|
| - public:
|
| - struct Context;
|
| - TestRequestPeer(ResourceDispatcher* dispatcher, Context* context)
|
| - : dispatcher_(dispatcher), context_(context) {}
|
| -
|
| - void OnUploadProgress(uint64_t position, uint64_t size) override {}
|
| -
|
| - bool OnReceivedRedirect(const net::RedirectInfo& redirect_info,
|
| - const ResourceResponseInfo& info) override {
|
| - EXPECT_FALSE(context_->cancelled);
|
| - ++context_->seen_redirects;
|
| - if (context_->defer_on_redirect)
|
| - dispatcher_->SetDefersLoading(context_->request_id, true);
|
| - return context_->follow_redirects;
|
| - }
|
| -
|
| - void OnReceivedResponse(const ResourceResponseInfo& info) override {
|
| - EXPECT_FALSE(context_->cancelled);
|
| - EXPECT_FALSE(context_->received_response);
|
| - context_->received_response = true;
|
| - if (context_->cancel_on_receive_response) {
|
| - dispatcher_->Cancel(context_->request_id);
|
| - context_->cancelled = true;
|
| - }
|
| - }
|
| -
|
| - void OnDownloadedData(int len, int encoded_data_length) override {
|
| - EXPECT_FALSE(context_->cancelled);
|
| - context_->total_downloaded_data_length += len;
|
| - context_->total_encoded_data_length += encoded_data_length;
|
| - }
|
| -
|
| - void OnReceivedData(std::unique_ptr<ReceivedData> data) override {
|
| - if (context_->cancelled)
|
| - return;
|
| - EXPECT_TRUE(context_->received_response);
|
| - EXPECT_FALSE(context_->complete);
|
| - context_->data.append(data->payload(), data->length());
|
| -
|
| - if (context_->cancel_on_receive_data) {
|
| - dispatcher_->Cancel(context_->request_id);
|
| - context_->cancelled = true;
|
| - }
|
| - }
|
| -
|
| - void OnTransferSizeUpdated(int transfer_size_diff) override {
|
| - if (context_->cancelled)
|
| - return;
|
| - context_->total_encoded_data_length += transfer_size_diff;
|
| - }
|
| -
|
| - void OnCompletedRequest(int error_code,
|
| - bool was_ignored_by_handler,
|
| - bool stale_copy_in_cache,
|
| - const base::TimeTicks& completion_time,
|
| - int64_t total_transfer_size,
|
| - int64_t encoded_body_size) override {
|
| - if (context_->cancelled)
|
| - return;
|
| - EXPECT_TRUE(context_->received_response);
|
| - EXPECT_FALSE(context_->complete);
|
| - context_->complete = true;
|
| - }
|
| -
|
| - struct Context {
|
| - // True if should follow redirects, false if should cancel them.
|
| - bool follow_redirects = true;
|
| - // True if the request should be deferred on redirects.
|
| - bool defer_on_redirect = false;
|
| -
|
| - // Number of total redirects seen.
|
| - int seen_redirects = 0;
|
| -
|
| - bool cancel_on_receive_response = false;
|
| - bool cancel_on_receive_data = false;
|
| - bool received_response = false;
|
| -
|
| - // Data received. If downloading to file, remains empty.
|
| - std::string data;
|
| -
|
| - // Total encoded data length, regardless of whether downloading to a file or
|
| - // not.
|
| - int total_encoded_data_length = 0;
|
| - // Total length when downloading to a file.
|
| - int total_downloaded_data_length = 0;
|
| -
|
| - bool complete = false;
|
| - bool cancelled = false;
|
| - int request_id = -1;
|
| - };
|
| -
|
| - private:
|
| - ResourceDispatcher* dispatcher_;
|
| - Context* context_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(TestRequestPeer);
|
| -};
|
| -
|
| // Sets up the message sender override for the unit test.
|
| class ResourceDispatcherTest : public testing::Test, public IPC::Sender {
|
| public:
|
|
|