Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(767)

Side by Side Diff: content/browser/fileapi/mock_url_request_delegate.cc

Issue 2788583006: Delete content::MockURLRequestDelegate. (Closed)
Patch Set: Addressed nit. Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
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
3 // found in the LICENSE file.
4
5 #include "content/browser/fileapi/mock_url_request_delegate.h"
6
7 #include <stddef.h>
8
9 #include "base/run_loop.h"
10 #include "net/base/io_buffer.h"
11 #include "testing/gtest/include/gtest/gtest.h"
12
13 namespace {
14 const int kBufferSize = 1024;
15 }
16
17 namespace content {
18
19 MockURLRequestDelegate::MockURLRequestDelegate()
20 : io_buffer_(new net::IOBuffer(kBufferSize)),
21 request_status_(net::ERR_IO_PENDING) {}
22
23 MockURLRequestDelegate::~MockURLRequestDelegate() {
24 }
25
26 void MockURLRequestDelegate::OnResponseStarted(net::URLRequest* request,
27 int net_error) {
28 DCHECK_NE(net::ERR_IO_PENDING, net_error);
29
30 request_status_ = net_error;
31
32 if (net_error == net::OK) {
33 EXPECT_TRUE(request->response_headers());
34 metadata_ = request->response_info().metadata;
35 ReadSome(request);
36 } else {
37 RequestComplete();
38 }
39 }
40
41 void MockURLRequestDelegate::OnReadCompleted(net::URLRequest* request,
42 int bytes_read) {
43 DCHECK_NE(net::ERR_IO_PENDING, bytes_read);
44
45 if (bytes_read > 0) {
46 request_status_ = net::OK;
47 ReceiveData(request, bytes_read);
48 } else {
49 request_status_ = bytes_read;
50 RequestComplete();
51 }
52 }
53
54 void MockURLRequestDelegate::ReadSome(net::URLRequest* request) {
55 if (!request->is_pending()) {
56 RequestComplete();
57 return;
58 }
59
60 int bytes_read = request->Read(io_buffer_.get(), kBufferSize);
61 if (bytes_read < 0) {
62 request_status_ = bytes_read;
63 if (bytes_read != net::ERR_IO_PENDING)
64 RequestComplete();
65 return;
66 }
67
68 ReceiveData(request, bytes_read);
69 }
70
71 void MockURLRequestDelegate::ReceiveData(net::URLRequest* request,
72 int bytes_read) {
73 if (bytes_read > 0) {
74 response_data_.append(io_buffer_->data(),
75 static_cast<size_t>(bytes_read));
76 ReadSome(request);
77 } else {
78 RequestComplete();
79 }
80 }
81
82 void MockURLRequestDelegate::RequestComplete() {
83 base::MessageLoop::current()->QuitWhenIdle();
84 }
85
86 } // namespace
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698