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

Side by Side Diff: content/test/net/url_request_abort_on_end_job.cc

Issue 1439953006: Reland: URLRequestJob: change ReadRawData contract (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address David's comment Created 5 years, 1 month 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
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 // This class simulates what wininet does when a dns lookup fails. 4 // This class simulates what wininet does when a dns lookup fails.
5 5
6 #include <algorithm> 6 #include <algorithm>
7 #include <cstring> 7 #include <cstring>
8 8
9 #include "base/compiler_specific.h" 9 #include "base/compiler_specific.h"
10 #include "base/location.h" 10 #include "base/location.h"
11 #include "base/numerics/safe_conversions.h"
11 #include "base/single_thread_task_runner.h" 12 #include "base/single_thread_task_runner.h"
12 #include "base/strings/string_util.h" 13 #include "base/strings/string_util.h"
13 #include "base/thread_task_runner_handle.h" 14 #include "base/thread_task_runner_handle.h"
14 #include "content/public/browser/browser_thread.h" 15 #include "content/public/browser/browser_thread.h"
15 #include "content/test/net/url_request_abort_on_end_job.h" 16 #include "content/test/net/url_request_abort_on_end_job.h"
16 #include "net/base/io_buffer.h" 17 #include "net/base/io_buffer.h"
17 #include "net/base/net_errors.h" 18 #include "net/base/net_errors.h"
18 #include "net/http/http_response_headers.h" 19 #include "net/http/http_response_headers.h"
19 #include "net/url_request/url_request.h" 20 #include "net/url_request/url_request.h"
20 #include "net/url_request/url_request_filter.h" 21 #include "net/url_request/url_request_filter.h"
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
104 void URLRequestAbortOnEndJob::StartAsync() { 105 void URLRequestAbortOnEndJob::StartAsync() {
105 NotifyHeadersComplete(); 106 NotifyHeadersComplete();
106 } 107 }
107 108
108 void URLRequestAbortOnEndJob::Start() { 109 void URLRequestAbortOnEndJob::Start() {
109 base::ThreadTaskRunnerHandle::Get()->PostTask( 110 base::ThreadTaskRunnerHandle::Get()->PostTask(
110 FROM_HERE, base::Bind(&URLRequestAbortOnEndJob::StartAsync, 111 FROM_HERE, base::Bind(&URLRequestAbortOnEndJob::StartAsync,
111 weak_factory_.GetWeakPtr())); 112 weak_factory_.GetWeakPtr()));
112 } 113 }
113 114
114 bool URLRequestAbortOnEndJob::ReadRawData(net::IOBuffer* buf, 115 int URLRequestAbortOnEndJob::ReadRawData(net::IOBuffer* buf, int max_bytes) {
115 const int max_bytes,
116 int* bytes_read) {
117 if (!sent_data_) { 116 if (!sent_data_) {
118 *bytes_read = std::min(size_t(max_bytes), sizeof(kPageContent)); 117 max_bytes =
119 std::memcpy(buf->data(), kPageContent, *bytes_read); 118 std::min(max_bytes, base::checked_cast<int>(sizeof(kPageContent)));
119 std::memcpy(buf->data(), kPageContent, max_bytes);
120 sent_data_ = true; 120 sent_data_ = true;
121 return true; 121 return max_bytes;
122 } 122 }
123 123
124 SetStatus(net::URLRequestStatus(net::URLRequestStatus::FAILED, 124 return net::ERR_CONNECTION_ABORTED;
125 net::ERR_CONNECTION_ABORTED));
126 *bytes_read = -1;
127 return false;
128 } 125 }
129 126
130 } // namespace content 127 } // namespace content
OLDNEW
« no previous file with comments | « content/test/net/url_request_abort_on_end_job.h ('k') | ios/web/webui/url_data_manager_ios_backend.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698