Skip to content

Commit 9c7302b

Browse files
pwnallCommit Bot
authored and
Commit Bot
committed
Use base::MakeRefCounted instead of new to alloc net::IOBuffer instances.
This CL only handles the files in //net. The files outside of //net are tackled separately, in https://crrev.com/c/1189548. net::IOBuffer is (thread-safe) ref-counted. Asides from improving the ability to reason about instance ownership locally, creating instances via base::MakeRefCounted makes it possible to use 1-based ref-counting in the future (see base/memory/ref_counted.h). This CL is mechanical, to avoid introducing any behavior changes. The difficult cases will be tackled by follow-up CLs. The following transformations were performed. * new IOBufferType(args) => base::MakeRefCounted<IOBufferType>(args) * new IOBufferType => base::MakeRefCounted<IOBufferType>() * scoped_refptr x(base::MakeRefCounted<IOBufferType>(args)) => scoped_refptr x = base::MakeRefCounted<IOBufferType>(args) * scoped_refptr<IOBufferType>(base::MakeRefCounted<IOBufferType>(args)) => base::MakeRefCounted<IOBufferType>(args) * In comments: creates a new IOBufferType => creates an IOBufferType (so it wouldn't trigger future searches for "new BufferType") * Instantiated static members in HttpResponseBodyDrainer, HttpNetworkTransaction, HttpProxyClientSocket, WritersTest, UDPSocketTest, TestDelegate, UDPSocketPerfTest (needed to fix linker errors) * arraysize -> base::size (where needed to pass presubmit checks) * git cl format Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:ios-simulator-cronet;luci.chromium.try:ios-simulator-full-configs;luci.chromium.try:linux_mojo;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel;master.tryserver.chromium.android:android_cronet_tester Change-Id: Ic2cf8eb4dccfa4a97be893aff9a6053eaaf7d7af Reviewed-on: https://chromium-review.googlesource.com/1188959 Reviewed-by: Bence Béky <bnc@chromium.org> Commit-Queue: Victor Costan <pwnall@chromium.org> Cr-Commit-Position: refs/heads/master@{#586281}
1 parent 18593a3 commit 9c7302b

File tree

104 files changed

+1200
-782
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

104 files changed

+1200
-782
lines changed

net/base/chunked_upload_data_stream_unittest.cc

+6-6
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ constexpr size_t kTestBufferSize = 1 << 14; // 16KB.
3333
// Reads data once from the upload data stream, and returns the data as string.
3434
// Expects the read to succeed synchronously.
3535
std::string ReadSync(UploadDataStream* stream, int buffer_size) {
36-
scoped_refptr<IOBuffer> buf = new IOBuffer(buffer_size);
36+
scoped_refptr<IOBuffer> buf = base::MakeRefCounted<IOBuffer>(buffer_size);
3737
int result = stream->Read(buf.get(),
3838
buffer_size,
3939
TestCompletionCallback().callback());
@@ -54,7 +54,7 @@ TEST(ChunkedUploadDataStreamTest, AppendOnce) {
5454
EXPECT_FALSE(stream.IsEOF());
5555

5656
TestCompletionCallback callback;
57-
scoped_refptr<IOBuffer> buf = new IOBuffer(kTestBufferSize);
57+
scoped_refptr<IOBuffer> buf = base::MakeRefCounted<IOBuffer>(kTestBufferSize);
5858
int result = stream.Read(buf.get(), kTestBufferSize, callback.callback());
5959
ASSERT_THAT(result, IsError(ERR_IO_PENDING));
6060

@@ -121,7 +121,7 @@ TEST(ChunkedUploadDataStreamTest, MultipleAppends) {
121121
EXPECT_FALSE(stream.IsEOF());
122122

123123
TestCompletionCallback callback;
124-
scoped_refptr<IOBuffer> buf = new IOBuffer(kTestBufferSize);
124+
scoped_refptr<IOBuffer> buf = base::MakeRefCounted<IOBuffer>(kTestBufferSize);
125125
for (size_t i = 0; i < kTestDataSize; ++i) {
126126
EXPECT_EQ(0u, stream.size()); // Content-Length is 0 for chunked data.
127127
EXPECT_EQ(i, stream.position());
@@ -151,7 +151,7 @@ TEST(ChunkedUploadDataStreamTest, MultipleAppendsBetweenReads) {
151151
EXPECT_EQ(0u, stream.position());
152152
EXPECT_FALSE(stream.IsEOF());
153153

154-
scoped_refptr<IOBuffer> buf = new IOBuffer(kTestBufferSize);
154+
scoped_refptr<IOBuffer> buf = base::MakeRefCounted<IOBuffer>(kTestBufferSize);
155155
for (size_t i = 0; i < kTestDataSize; ++i) {
156156
EXPECT_EQ(i, stream.position());
157157
ASSERT_FALSE(stream.IsEOF());
@@ -239,7 +239,7 @@ TEST(ChunkedUploadDataStreamTest, EmptyUpload) {
239239
EXPECT_FALSE(stream.IsEOF());
240240

241241
TestCompletionCallback callback;
242-
scoped_refptr<IOBuffer> buf = new IOBuffer(kTestBufferSize);
242+
scoped_refptr<IOBuffer> buf = base::MakeRefCounted<IOBuffer>(kTestBufferSize);
243243
int result = stream.Read(buf.get(), kTestBufferSize, callback.callback());
244244
ASSERT_THAT(result, IsError(ERR_IO_PENDING));
245245

@@ -313,7 +313,7 @@ TEST(ChunkedUploadDataStreamTest, RewindWhileReading) {
313313
EXPECT_FALSE(stream.IsEOF());
314314

315315
TestCompletionCallback callback;
316-
scoped_refptr<IOBuffer> buf = new IOBuffer(kTestBufferSize);
316+
scoped_refptr<IOBuffer> buf = base::MakeRefCounted<IOBuffer>(kTestBufferSize);
317317
int result = stream.Read(buf.get(), kTestBufferSize, callback.callback());
318318
ASSERT_THAT(result, IsError(ERR_IO_PENDING));
319319

net/base/elements_upload_data_stream.cc

+1-1
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ int ElementsUploadDataStream::ReadInternal(
4141
IOBuffer* buf,
4242
int buf_len) {
4343
DCHECK_GT(buf_len, 0);
44-
return ReadElements(new DrainableIOBuffer(buf, buf_len));
44+
return ReadElements(base::MakeRefCounted<DrainableIOBuffer>(buf, buf_len));
4545
}
4646

4747
bool ElementsUploadDataStream::IsInMemory() const {

net/base/elements_upload_data_stream_unittest.cc

+19-14
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ const size_t kTestBufferSize = 1 << 14; // 16KB.
5454
// Reads data from the upload data stream, and returns the data as string.
5555
std::string ReadFromUploadDataStream(UploadDataStream* stream) {
5656
std::string data_read;
57-
scoped_refptr<IOBuffer> buf = new IOBuffer(kTestBufferSize);
57+
scoped_refptr<IOBuffer> buf = base::MakeRefCounted<IOBuffer>(kTestBufferSize);
5858
while (!stream->IsEOF()) {
5959
TestCompletionCallback callback;
6060
const int result =
@@ -185,7 +185,7 @@ TEST_F(ElementsUploadDataStreamTest, ConsumeAllBytes) {
185185
EXPECT_EQ(kTestDataSize, stream->size());
186186
EXPECT_EQ(0U, stream->position());
187187
EXPECT_FALSE(stream->IsEOF());
188-
scoped_refptr<IOBuffer> buf = new IOBuffer(kTestBufferSize);
188+
scoped_refptr<IOBuffer> buf = base::MakeRefCounted<IOBuffer>(kTestBufferSize);
189189
while (!stream->IsEOF()) {
190190
int bytes_read =
191191
stream->Read(buf.get(), kTestBufferSize, CompletionOnceCallback());
@@ -216,7 +216,7 @@ TEST_F(ElementsUploadDataStreamTest, File) {
216216
EXPECT_EQ(kTestDataSize, stream->size());
217217
EXPECT_EQ(0U, stream->position());
218218
EXPECT_FALSE(stream->IsEOF());
219-
scoped_refptr<IOBuffer> buf = new IOBuffer(kTestBufferSize);
219+
scoped_refptr<IOBuffer> buf = base::MakeRefCounted<IOBuffer>(kTestBufferSize);
220220
while (!stream->IsEOF()) {
221221
TestCompletionCallback read_callback;
222222
ASSERT_EQ(
@@ -253,7 +253,7 @@ TEST_F(ElementsUploadDataStreamTest, FileSmallerThanLength) {
253253
EXPECT_EQ(kFakeSize, stream->size());
254254
EXPECT_EQ(0U, stream->position());
255255

256-
scoped_refptr<IOBuffer> buf = new IOBuffer(kTestBufferSize);
256+
scoped_refptr<IOBuffer> buf = base::MakeRefCounted<IOBuffer>(kTestBufferSize);
257257
EXPECT_FALSE(stream->IsEOF());
258258

259259
TestCompletionCallback read_callback;
@@ -295,7 +295,7 @@ TEST_F(ElementsUploadDataStreamTest, ReadErrorSync) {
295295
EXPECT_FALSE(stream->IsEOF());
296296

297297
// Prepare a buffer filled with non-zero data.
298-
scoped_refptr<IOBuffer> buf = new IOBuffer(kTestBufferSize);
298+
scoped_refptr<IOBuffer> buf = base::MakeRefCounted<IOBuffer>(kTestBufferSize);
299299
std::fill_n(buf->data(), kTestBufferSize, -1);
300300

301301
// Read() results in success even when the reader returns error.
@@ -333,7 +333,7 @@ TEST_F(ElementsUploadDataStreamTest, ReadErrorAsync) {
333333
EXPECT_FALSE(stream->IsEOF());
334334

335335
// Prepare a buffer filled with non-zero data.
336-
scoped_refptr<IOBuffer> buf = new IOBuffer(kTestBufferSize);
336+
scoped_refptr<IOBuffer> buf = base::MakeRefCounted<IOBuffer>(kTestBufferSize);
337337
std::fill_n(buf->data(), kTestBufferSize, -1);
338338

339339
// Read() results in success even when the reader returns error.
@@ -375,7 +375,7 @@ TEST_F(ElementsUploadDataStreamTest, FileAndBytes) {
375375
EXPECT_EQ(kStreamSize, stream->size());
376376
EXPECT_EQ(0U, stream->position());
377377
EXPECT_FALSE(stream->IsEOF());
378-
scoped_refptr<IOBuffer> buf = new IOBuffer(kTestBufferSize);
378+
scoped_refptr<IOBuffer> buf = base::MakeRefCounted<IOBuffer>(kTestBufferSize);
379379
while (!stream->IsEOF()) {
380380
TestCompletionCallback read_callback;
381381
const int result =
@@ -480,7 +480,7 @@ TEST_F(ElementsUploadDataStreamTest, ReadAsyncWithExactSizeBuffer) {
480480
EXPECT_EQ(kTestDataSize, stream->size());
481481
EXPECT_EQ(0U, stream->position());
482482
EXPECT_FALSE(stream->IsEOF());
483-
scoped_refptr<IOBuffer> buf = new IOBuffer(kTestDataSize);
483+
scoped_refptr<IOBuffer> buf = base::MakeRefCounted<IOBuffer>(kTestDataSize);
484484
int bytes_read =
485485
stream->Read(buf.get(), kTestDataSize, CompletionOnceCallback());
486486
ASSERT_EQ(static_cast<int>(kTestDataSize), bytes_read); // Not an error.
@@ -524,7 +524,7 @@ TEST_F(ElementsUploadDataStreamTest, ReadAsync) {
524524
IsError(ERR_IO_PENDING));
525525
EXPECT_THAT(init_callback.WaitForResult(), IsOk());
526526

527-
scoped_refptr<IOBuffer> buf = new IOBuffer(kTestBufferSize);
527+
scoped_refptr<IOBuffer> buf = base::MakeRefCounted<IOBuffer>(kTestBufferSize);
528528

529529
// Consume the first element.
530530
TestCompletionCallback read_callback1;
@@ -706,7 +706,8 @@ TEST_F(ElementsUploadDataStreamTest, InitToReset) {
706706
// Read some.
707707
TestCompletionCallback read_callback1;
708708
std::vector<char> buf(kTestDataSize + kTestDataSize / 2);
709-
scoped_refptr<IOBuffer> wrapped_buffer = new WrappedIOBuffer(&buf[0]);
709+
scoped_refptr<IOBuffer> wrapped_buffer =
710+
base::MakeRefCounted<WrappedIOBuffer>(&buf[0]);
710711
EXPECT_EQ(
711712
ERR_IO_PENDING,
712713
stream->Read(wrapped_buffer.get(), buf.size(),
@@ -725,7 +726,8 @@ TEST_F(ElementsUploadDataStreamTest, InitToReset) {
725726
// Read.
726727
TestCompletionCallback read_callback2;
727728
std::vector<char> buf2(kTestDataSize * 2);
728-
scoped_refptr<IOBuffer> wrapped_buffer2 = new WrappedIOBuffer(&buf2[0]);
729+
scoped_refptr<IOBuffer> wrapped_buffer2 =
730+
base::MakeRefCounted<WrappedIOBuffer>(&buf2[0]);
729731
EXPECT_EQ(ERR_IO_PENDING,
730732
stream->Read(
731733
wrapped_buffer2.get(), buf2.size(), read_callback2.callback()));
@@ -769,7 +771,8 @@ TEST_F(ElementsUploadDataStreamTest, InitDuringAsyncInit) {
769771
// Read.
770772
TestCompletionCallback read_callback2;
771773
std::vector<char> buf2(kTestDataSize * 2);
772-
scoped_refptr<IOBuffer> wrapped_buffer2 = new WrappedIOBuffer(&buf2[0]);
774+
scoped_refptr<IOBuffer> wrapped_buffer2 =
775+
base::MakeRefCounted<WrappedIOBuffer>(&buf2[0]);
773776
EXPECT_EQ(ERR_IO_PENDING,
774777
stream->Read(
775778
wrapped_buffer2.get(), buf2.size(), read_callback2.callback()));
@@ -812,7 +815,8 @@ TEST_F(ElementsUploadDataStreamTest, InitDuringAsyncRead) {
812815
// Start reading.
813816
TestCompletionCallback read_callback1;
814817
std::vector<char> buf(kTestDataSize * 2);
815-
scoped_refptr<IOBuffer> wrapped_buffer = new WrappedIOBuffer(&buf[0]);
818+
scoped_refptr<IOBuffer> wrapped_buffer =
819+
base::MakeRefCounted<WrappedIOBuffer>(&buf[0]);
816820
EXPECT_EQ(
817821
ERR_IO_PENDING,
818822
stream->Read(wrapped_buffer.get(), buf.size(),
@@ -829,7 +833,8 @@ TEST_F(ElementsUploadDataStreamTest, InitDuringAsyncRead) {
829833
// Read.
830834
TestCompletionCallback read_callback2;
831835
std::vector<char> buf2(kTestDataSize * 2);
832-
scoped_refptr<IOBuffer> wrapped_buffer2 = new WrappedIOBuffer(&buf2[0]);
836+
scoped_refptr<IOBuffer> wrapped_buffer2 =
837+
base::MakeRefCounted<WrappedIOBuffer>(&buf2[0]);
833838
EXPECT_EQ(ERR_IO_PENDING,
834839
stream->Read(
835840
wrapped_buffer2.get(), buf2.size(), read_callback2.callback()));

net/base/file_stream_unittest.cc

+28-17
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ TEST_F(FileStreamTest, UseFileHandle) {
133133
ASSERT_EQ(0, callback64.WaitForResult());
134134
// Read into buffer and compare.
135135
scoped_refptr<IOBufferWithSize> read_buffer =
136-
new IOBufferWithSize(kTestDataSize);
136+
base::MakeRefCounted<IOBufferWithSize>(kTestDataSize);
137137
rv = read_stream->Read(read_buffer.get(), kTestDataSize, callback.callback());
138138
ASSERT_EQ(kTestDataSize, callback.GetResult(rv));
139139
ASSERT_EQ(0, memcmp(kTestData, read_buffer->data(), kTestDataSize));
@@ -177,7 +177,8 @@ TEST_F(FileStreamTest, UseClosedStream) {
177177
EXPECT_THAT(callback64.GetResult(rv), IsError(ERR_UNEXPECTED));
178178

179179
// Try reading...
180-
scoped_refptr<IOBufferWithSize> buf = new IOBufferWithSize(10);
180+
scoped_refptr<IOBufferWithSize> buf =
181+
base::MakeRefCounted<IOBufferWithSize>(10);
181182
rv = stream.Read(buf.get(), buf->size(), callback.callback());
182183
EXPECT_THAT(callback.GetResult(rv), IsError(ERR_UNEXPECTED));
183184
}
@@ -197,7 +198,8 @@ TEST_F(FileStreamTest, Read) {
197198

198199
std::string data_read;
199200
for (;;) {
200-
scoped_refptr<IOBufferWithSize> buf = new IOBufferWithSize(4);
201+
scoped_refptr<IOBufferWithSize> buf =
202+
base::MakeRefCounted<IOBufferWithSize>(4);
201203
rv = stream.Read(buf.get(), buf->size(), callback.callback());
202204
rv = callback.GetResult(rv);
203205
EXPECT_LE(0, rv);
@@ -223,7 +225,8 @@ TEST_F(FileStreamTest, Read_EarlyDelete) {
223225
EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
224226
EXPECT_THAT(callback.WaitForResult(), IsOk());
225227

226-
scoped_refptr<IOBufferWithSize> buf = new IOBufferWithSize(4);
228+
scoped_refptr<IOBufferWithSize> buf =
229+
base::MakeRefCounted<IOBufferWithSize>(4);
227230
rv = stream->Read(buf.get(), buf->size(), callback.callback());
228231
stream.reset(); // Delete instead of closing it.
229232
if (rv < 0) {
@@ -259,7 +262,8 @@ TEST_F(FileStreamTest, Read_FromOffset) {
259262

260263
std::string data_read;
261264
for (;;) {
262-
scoped_refptr<IOBufferWithSize> buf = new IOBufferWithSize(4);
265+
scoped_refptr<IOBufferWithSize> buf =
266+
base::MakeRefCounted<IOBufferWithSize>(4);
263267
rv = stream.Read(buf.get(), buf->size(), callback.callback());
264268
if (rv == ERR_IO_PENDING)
265269
rv = callback.WaitForResult();
@@ -349,7 +353,7 @@ TEST_F(FileStreamTest, Write_FromOffset) {
349353

350354
scoped_refptr<IOBufferWithSize> buf = CreateTestDataBuffer();
351355
scoped_refptr<DrainableIOBuffer> drainable =
352-
new DrainableIOBuffer(buf.get(), buf->size());
356+
base::MakeRefCounted<DrainableIOBuffer>(buf.get(), buf->size());
353357
while (total_bytes_written != kTestDataSize) {
354358
rv = stream.Write(drainable.get(), drainable->BytesRemaining(),
355359
callback.callback());
@@ -382,7 +386,8 @@ TEST_F(FileStreamTest, BasicReadWrite) {
382386

383387
std::string data_read;
384388
for (;;) {
385-
scoped_refptr<IOBufferWithSize> buf = new IOBufferWithSize(4);
389+
scoped_refptr<IOBufferWithSize> buf =
390+
base::MakeRefCounted<IOBufferWithSize>(4);
386391
rv = stream->Read(buf.get(), buf->size(), callback.callback());
387392
if (rv == ERR_IO_PENDING)
388393
rv = callback.WaitForResult();
@@ -399,7 +404,7 @@ TEST_F(FileStreamTest, BasicReadWrite) {
399404

400405
scoped_refptr<IOBufferWithSize> buf = CreateTestDataBuffer();
401406
scoped_refptr<DrainableIOBuffer> drainable =
402-
new DrainableIOBuffer(buf.get(), buf->size());
407+
base::MakeRefCounted<DrainableIOBuffer>(buf.get(), buf->size());
403408
while (total_bytes_written != kTestDataSize) {
404409
rv = stream->Write(drainable.get(), drainable->BytesRemaining(),
405410
callback.callback());
@@ -441,7 +446,7 @@ TEST_F(FileStreamTest, BasicWriteRead) {
441446

442447
scoped_refptr<IOBufferWithSize> buf = CreateTestDataBuffer();
443448
scoped_refptr<DrainableIOBuffer> drainable =
444-
new DrainableIOBuffer(buf.get(), buf->size());
449+
base::MakeRefCounted<DrainableIOBuffer>(buf.get(), buf->size());
445450
while (total_bytes_written != kTestDataSize) {
446451
rv = stream->Write(drainable.get(), drainable->BytesRemaining(),
447452
callback.callback());
@@ -465,7 +470,8 @@ TEST_F(FileStreamTest, BasicWriteRead) {
465470

466471
std::string data_read;
467472
for (;;) {
468-
scoped_refptr<IOBufferWithSize> buf = new IOBufferWithSize(4);
473+
scoped_refptr<IOBufferWithSize> buf =
474+
base::MakeRefCounted<IOBufferWithSize>(4);
469475
rv = stream->Read(buf.get(), buf->size(), callback.callback());
470476
if (rv == ERR_IO_PENDING)
471477
rv = callback.WaitForResult();
@@ -500,7 +506,8 @@ class TestWriteReadCompletionCallback {
500506
total_bytes_read_(total_bytes_read),
501507
data_read_(data_read),
502508
test_data_(CreateTestDataBuffer()),
503-
drainable_(new DrainableIOBuffer(test_data_.get(), kTestDataSize)) {}
509+
drainable_(base::MakeRefCounted<DrainableIOBuffer>(test_data_.get(),
510+
kTestDataSize)) {}
504511

505512
int WaitForResult() {
506513
DCHECK(!waiting_for_result_);
@@ -522,7 +529,8 @@ class TestWriteReadCompletionCallback {
522529
TestCompletionCallback callback;
523530
int rv = 0;
524531
for (;;) {
525-
scoped_refptr<IOBufferWithSize> buf = new IOBufferWithSize(4);
532+
scoped_refptr<IOBufferWithSize> buf =
533+
base::MakeRefCounted<IOBufferWithSize>(4);
526534
rv = stream_->Read(buf.get(), buf->size(), callback.callback());
527535
if (rv == ERR_IO_PENDING) {
528536
base::MessageLoopCurrent::ScopedNestableTaskAllower allow;
@@ -639,7 +647,8 @@ class TestWriteCloseCompletionCallback {
639647
stream_(stream),
640648
total_bytes_written_(total_bytes_written),
641649
test_data_(CreateTestDataBuffer()),
642-
drainable_(new DrainableIOBuffer(test_data_.get(), kTestDataSize)) {}
650+
drainable_(base::MakeRefCounted<DrainableIOBuffer>(test_data_.get(),
651+
kTestDataSize)) {}
643652

644653
int WaitForResult() {
645654
DCHECK(!waiting_for_result_);
@@ -770,7 +779,7 @@ TEST_F(FileStreamTest, WriteError) {
770779
std::unique_ptr<FileStream> stream(
771780
new FileStream(std::move(file), base::ThreadTaskRunnerHandle::Get()));
772781

773-
scoped_refptr<IOBuffer> buf = new IOBuffer(1);
782+
scoped_refptr<IOBuffer> buf = base::MakeRefCounted<IOBuffer>(1);
774783
buf->data()[0] = 0;
775784

776785
TestCompletionCallback callback;
@@ -795,7 +804,7 @@ TEST_F(FileStreamTest, ReadError) {
795804
std::unique_ptr<FileStream> stream(
796805
new FileStream(std::move(file), base::ThreadTaskRunnerHandle::Get()));
797806

798-
scoped_refptr<IOBuffer> buf = new IOBuffer(1);
807+
scoped_refptr<IOBuffer> buf = base::MakeRefCounted<IOBuffer>(1);
799808
TestCompletionCallback callback;
800809
int rv = stream->Read(buf.get(), 1, callback.callback());
801810
if (rv == ERR_IO_PENDING)
@@ -820,7 +829,8 @@ TEST_F(FileStreamTest, AsyncFlagMismatch) {
820829
FileStream stream(std::move(lying_file), base::ThreadTaskRunnerHandle::Get());
821830
ASSERT_FALSE(stream.IsOpen());
822831
TestCompletionCallback callback;
823-
scoped_refptr<IOBufferWithSize> buf = new IOBufferWithSize(4);
832+
scoped_refptr<IOBufferWithSize> buf =
833+
base::MakeRefCounted<IOBufferWithSize>(4);
824834
int rv = stream.Read(buf.get(), buf->size(), callback.callback());
825835
EXPECT_THAT(callback.GetResult(rv), IsError(ERR_UNEXPECTED));
826836
}
@@ -857,7 +867,8 @@ TEST_F(FileStreamTest, ContentUriRead) {
857867

858868
std::string data_read;
859869
for (;;) {
860-
scoped_refptr<IOBufferWithSize> buf = new IOBufferWithSize(4);
870+
scoped_refptr<IOBufferWithSize> buf =
871+
base::MakeRefCounted<IOBufferWithSize>(4);
861872
rv = stream.Read(buf.get(), buf->size(), callback.callback());
862873
if (rv == ERR_IO_PENDING)
863874
rv = callback.WaitForResult();

net/base/io_buffer.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ class NET_EXPORT StringIOBuffer : public IOBuffer {
143143
// than char*. DrainableIOBuffer can be used as follows:
144144
//
145145
// // payload is the IOBuffer containing the data to be written.
146-
// buf = new DrainableIOBuffer(payload, payload_size);
146+
// buf = base::MakeRefCounted<DrainableIOBuffer>(payload, payload_size);
147147
//
148148
// while (buf->BytesRemaining() > 0) {
149149
// // Write() takes an IOBuffer. If it takes char*, we could
@@ -188,7 +188,7 @@ class NET_EXPORT DrainableIOBuffer : public IOBuffer {
188188
// knowing the total size in advance. GrowableIOBuffer can be used as
189189
// follows:
190190
//
191-
// buf = new GrowableIOBuffer;
191+
// buf = base::MakeRefCounted<GrowableIOBuffer>();
192192
// buf->SetCapacity(1024); // Initial capacity.
193193
//
194194
// while (!some_stream->IsEOF()) {

0 commit comments

Comments
 (0)