Skip to content

Commit 5f11548

Browse files
Bence BékyCommit Bot
Bence Béky
authored and
Commit Bot
committed
Use CompletionOnceCallback in net::SourceStream.
Bug: 807724 Change-Id: Iff21f7cc6ba5c3005b440fb7b6d51fdccbbd230b Reviewed-on: https://chromium-review.googlesource.com/1117325 Reviewed-by: Charlie Harrison <csharrison@chromium.org> Reviewed-by: Lei Zhang <thestig@chromium.org> Commit-Queue: Bence Béky <bnc@chromium.org> Cr-Commit-Position: refs/heads/master@{#571558}
1 parent e129b20 commit 5f11548

14 files changed

+47
-36
lines changed

chromeos/printing/ppd_line_reader.cc

+2-1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
#include <utility>
1010

1111
#include "base/strings/string_util.h"
12+
#include "net/base/completion_once_callback.h"
1213
#include "net/base/io_buffer.h"
1314
#include "net/filter/gzip_header.h"
1415
#include "net/filter/gzip_source_stream.h"
@@ -44,7 +45,7 @@ class StringSourceStream : public net::SourceStream {
4445
// This source always reads sychronously, so never uses the callback.
4546
int Read(net::IOBuffer* dest_buffer,
4647
int buffer_size,
47-
const net::CompletionCallback&) override {
48+
net::CompletionOnceCallback) override {
4849
int read_size = src_.size() - read_ofs_;
4950
if (read_size > buffer_size) {
5051
read_size = buffer_size;

content/browser/loader/data_pipe_to_source_stream.cc

+4-2
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44

55
#include "content/browser/loader/data_pipe_to_source_stream.h"
66

7+
#include <utility>
8+
79
#include "base/auto_reset.h"
810
#include "net/base/io_buffer.h"
911

@@ -30,7 +32,7 @@ std::string DataPipeToSourceStream::Description() const {
3032

3133
int DataPipeToSourceStream::Read(net::IOBuffer* buf,
3234
int buf_size,
33-
const net::CompletionCallback& callback) {
35+
net::CompletionOnceCallback callback) {
3436
base::AutoReset<bool>(&inside_read_, true);
3537

3638
if (!body_.get()) {
@@ -56,7 +58,7 @@ int DataPipeToSourceStream::Read(net::IOBuffer* buf,
5658
return 0;
5759
case MOJO_RESULT_SHOULD_WAIT:
5860
// Data is not available yet.
59-
pending_callback_ = callback;
61+
pending_callback_ = std::move(callback);
6062
output_buf_ = buf;
6163
output_buf_size_ = buf_size;
6264
handle_watcher_.ArmOrNotify();

content/browser/loader/data_pipe_to_source_stream.h

+3-2
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
#include "content/common/content_export.h"
99
#include "mojo/public/cpp/system/data_pipe.h"
1010
#include "mojo/public/cpp/system/simple_watcher.h"
11+
#include "net/base/completion_once_callback.h"
1112
#include "net/filter/source_stream.h"
1213

1314
namespace content {
@@ -19,7 +20,7 @@ class CONTENT_EXPORT DataPipeToSourceStream final : public net::SourceStream {
1920

2021
int Read(net::IOBuffer* buf,
2122
int buf_size,
22-
const net::CompletionCallback& callback) override;
23+
net::CompletionOnceCallback callback) override;
2324
std::string Description() const override;
2425

2526
private:
@@ -33,7 +34,7 @@ class CONTENT_EXPORT DataPipeToSourceStream final : public net::SourceStream {
3334

3435
scoped_refptr<net::IOBuffer> output_buf_;
3536
int output_buf_size_ = 0;
36-
net::CompletionCallback pending_callback_;
37+
net::CompletionOnceCallback pending_callback_;
3738

3839
DISALLOW_COPY_AND_ASSIGN(DataPipeToSourceStream);
3940
};

net/filter/filter_source_stream.cc

+4-2
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44

55
#include "net/filter/filter_source_stream.h"
66

7+
#include <utility>
8+
79
#include "base/bind.h"
810
#include "base/callback_helpers.h"
911
#include "base/logging.h"
@@ -40,7 +42,7 @@ FilterSourceStream::~FilterSourceStream() = default;
4042

4143
int FilterSourceStream::Read(IOBuffer* read_buffer,
4244
int read_buffer_size,
43-
const CompletionCallback& callback) {
45+
CompletionOnceCallback callback) {
4446
DCHECK_EQ(STATE_NONE, next_state_);
4547
DCHECK(read_buffer);
4648
DCHECK_LT(0, read_buffer_size);
@@ -61,7 +63,7 @@ int FilterSourceStream::Read(IOBuffer* read_buffer,
6163
int rv = DoLoop(OK);
6264

6365
if (rv == ERR_IO_PENDING)
64-
callback_ = callback;
66+
callback_ = std::move(callback);
6567
return rv;
6668
}
6769

net/filter/filter_source_stream.h

+3-3
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
#include "base/macros.h"
1212
#include "base/memory/ref_counted.h"
13-
#include "net/base/completion_callback.h"
13+
#include "net/base/completion_once_callback.h"
1414
#include "net/base/net_errors.h"
1515
#include "net/base/net_export.h"
1616
#include "net/filter/source_stream.h"
@@ -34,7 +34,7 @@ class NET_EXPORT_PRIVATE FilterSourceStream : public SourceStream {
3434

3535
int Read(IOBuffer* read_buffer,
3636
int read_buffer_size,
37-
const CompletionCallback& callback) override;
37+
CompletionOnceCallback callback) override;
3838

3939
std::string Description() const override;
4040

@@ -110,7 +110,7 @@ class NET_EXPORT_PRIVATE FilterSourceStream : public SourceStream {
110110
// Not null if there is a pending Read.
111111
scoped_refptr<IOBuffer> output_buffer_;
112112
int output_buffer_size_;
113-
CompletionCallback callback_;
113+
CompletionOnceCallback callback_;
114114

115115
// Reading from |upstream_| has returned 0 byte or an error code.
116116
bool upstream_end_reached_;

net/filter/fuzzed_source_stream.cc

+7-6
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
#include "net/filter/fuzzed_source_stream.h"
66

77
#include <algorithm>
8+
#include <utility>
89

910
#include "base/test/fuzzed_data_provider.h"
1011
#include "base/threading/thread_task_runner_handle.h"
@@ -32,7 +33,7 @@ FuzzedSourceStream::~FuzzedSourceStream() {
3233

3334
int FuzzedSourceStream::Read(IOBuffer* buf,
3435
int buf_len,
35-
const CompletionCallback& callback) {
36+
CompletionOnceCallback callback) {
3637
DCHECK(!read_pending_);
3738
DCHECK(!end_returned_);
3839
DCHECK_LE(0, buf_len);
@@ -59,17 +60,17 @@ int FuzzedSourceStream::Read(IOBuffer* buf,
5960
read_pending_ = true;
6061
// |this| is owned by the caller so use base::Unretained is safe.
6162
base::ThreadTaskRunnerHandle::Get()->PostTask(
62-
FROM_HERE,
63-
base::Bind(&FuzzedSourceStream::OnReadComplete, base::Unretained(this),
64-
callback, data, pending_read_buf, result));
63+
FROM_HERE, base::BindOnce(&FuzzedSourceStream::OnReadComplete,
64+
base::Unretained(this), std::move(callback),
65+
data, pending_read_buf, result));
6566
return ERR_IO_PENDING;
6667
}
6768

6869
std::string FuzzedSourceStream::Description() const {
6970
return "";
7071
}
7172

72-
void FuzzedSourceStream::OnReadComplete(const CompletionCallback& callback,
73+
void FuzzedSourceStream::OnReadComplete(CompletionOnceCallback callback,
7374
const std::string& fuzzed_data,
7475
scoped_refptr<IOBuffer> read_buf,
7576
int result) {
@@ -82,7 +83,7 @@ void FuzzedSourceStream::OnReadComplete(const CompletionCallback& callback,
8283
end_returned_ = true;
8384
}
8485
read_pending_ = false;
85-
callback.Run(result);
86+
std::move(callback).Run(result);
8687
}
8788

8889
} // namespace net

net/filter/fuzzed_source_stream.h

+3-3
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
#include "base/macros.h"
1111
#include "base/memory/ref_counted.h"
12-
#include "net/base/completion_callback.h"
12+
#include "net/base/completion_once_callback.h"
1313
#include "net/filter/source_stream.h"
1414

1515
namespace base {
@@ -32,11 +32,11 @@ class FuzzedSourceStream : public SourceStream {
3232
// SourceStream implementation
3333
int Read(IOBuffer* dest_buffer,
3434
int buffer_size,
35-
const CompletionCallback& callback) override;
35+
CompletionOnceCallback callback) override;
3636
std::string Description() const override;
3737

3838
private:
39-
void OnReadComplete(const CompletionCallback& callback,
39+
void OnReadComplete(CompletionOnceCallback callback,
4040
const std::string& fuzzed_data,
4141
scoped_refptr<IOBuffer> read_buf,
4242
int result);

net/filter/gzip_source_stream_unittest.cc

-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
#include "base/bind.h"
99
#include "base/bit_cast.h"
1010
#include "base/callback.h"
11-
#include "net/base/completion_callback.h"
1211
#include "net/base/io_buffer.h"
1312
#include "net/base/test_completion_callback.h"
1413
#include "net/filter/filter_source_stream_test_util.h"

net/filter/mock_source_stream.cc

+5-3
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44

55
#include "net/filter/mock_source_stream.h"
66

7+
#include <utility>
8+
79
#include "base/logging.h"
810
#include "net/base/io_buffer.h"
911
#include "testing/gtest/include/gtest/gtest.h"
@@ -25,7 +27,7 @@ MockSourceStream::~MockSourceStream() {
2527

2628
int MockSourceStream::Read(IOBuffer* dest_buffer,
2729
int buffer_size,
28-
const CompletionCallback& callback) {
30+
CompletionOnceCallback callback) {
2931
DCHECK(!awaiting_completion_);
3032
DCHECK(!results_.empty());
3133

@@ -38,7 +40,7 @@ int MockSourceStream::Read(IOBuffer* dest_buffer,
3840
awaiting_completion_ = true;
3941
dest_buffer_ = dest_buffer;
4042
dest_buffer_size_ = buffer_size;
41-
callback_ = callback;
43+
callback_ = std::move(callback);
4244
return ERR_IO_PENDING;
4345
}
4446

@@ -93,7 +95,7 @@ void MockSourceStream::CompleteNextRead() {
9395
DCHECK_GE(dest_buffer_size_, r.len);
9496
memcpy(dest_buffer_->data(), r.data, r.len);
9597
dest_buffer_ = nullptr;
96-
callback_.Run(r.error == OK ? r.len : r.error);
98+
std::move(callback_).Run(r.error == OK ? r.len : r.error);
9799
}
98100

99101
} // namespace net

net/filter/mock_source_stream.h

+3-3
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
#include "base/containers/queue.h"
1111
#include "base/macros.h"
1212
#include "base/memory/ref_counted.h"
13-
#include "net/base/completion_callback.h"
13+
#include "net/base/completion_once_callback.h"
1414
#include "net/base/net_errors.h"
1515
#include "net/filter/source_stream.h"
1616

@@ -33,7 +33,7 @@ class MockSourceStream : public SourceStream {
3333
// SourceStream implementation
3434
int Read(IOBuffer* dest_buffer,
3535
int buffer_size,
36-
const CompletionCallback& callback) override;
36+
CompletionOnceCallback callback) override;
3737
std::string Description() const override;
3838

3939
// Enqueues a result to be returned by |Read|. This method does not make a
@@ -72,7 +72,7 @@ class MockSourceStream : public SourceStream {
7272
base::queue<QueuedResult> results_;
7373
bool awaiting_completion_;
7474
scoped_refptr<IOBuffer> dest_buffer_;
75-
CompletionCallback callback_;
75+
CompletionOnceCallback callback_;
7676
int dest_buffer_size_;
7777

7878
DISALLOW_COPY_AND_ASSIGN(MockSourceStream);

net/filter/source_stream.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
#include "base/callback.h"
1111
#include "base/macros.h"
1212
#include "base/memory/ref_counted.h"
13-
#include "net/base/completion_callback.h"
13+
#include "net/base/completion_once_callback.h"
1414
#include "net/base/net_errors.h"
1515
#include "net/base/net_export.h"
1616

@@ -48,7 +48,7 @@ class NET_EXPORT_PRIVATE SourceStream {
4848
// asynchronously to ensure it does not get freed mid-read.
4949
virtual int Read(IOBuffer* dest_buffer,
5050
int buffer_size,
51-
const CompletionCallback& callback) = 0;
51+
CompletionOnceCallback callback) = 0;
5252

5353
// Returns a string that represents stream. This is for UMA and NetLog
5454
// logging.

net/tools/content_decoder_tool/content_decoder_tool.cc

+2-1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99

1010
#include "base/logging.h"
1111
#include "base/strings/string_util.h"
12+
#include "net/base/completion_once_callback.h"
1213
#include "net/base/io_buffer.h"
1314
#include "net/base/test_completion_callback.h"
1415
#include "net/filter/brotli_source_stream.h"
@@ -35,7 +36,7 @@ class StdinSourceStream : public SourceStream {
3536
// SourceStream implementation.
3637
int Read(IOBuffer* dest_buffer,
3738
int buffer_size,
38-
const CompletionCallback& callback) override {
39+
CompletionOnceCallback callback) override {
3940
if (input_stream_->eof())
4041
return OK;
4142
if (input_stream_) {

net/url_request/url_request_job.cc

+6-5
Original file line numberDiff line numberDiff line change
@@ -63,9 +63,10 @@ class URLRequestJob::URLRequestJobSourceStream : public SourceStream {
6363
// SourceStream implementation:
6464
int Read(IOBuffer* dest_buffer,
6565
int buffer_size,
66-
const CompletionCallback& callback) override {
66+
CompletionOnceCallback callback) override {
6767
DCHECK(job_);
68-
return job_->ReadRawDataHelper(dest_buffer, buffer_size, callback);
68+
return job_->ReadRawDataHelper(dest_buffer, buffer_size,
69+
std::move(callback));
6970
}
7071

7172
std::string Description() const override { return std::string(); }
@@ -512,7 +513,7 @@ void URLRequestJob::ReadRawDataComplete(int result) {
512513
// Notify SourceStream.
513514
DCHECK(!read_raw_callback_.is_null());
514515

515-
base::ResetAndReturn(&read_raw_callback_).Run(result);
516+
std::move(read_raw_callback_).Run(result);
516517
// |this| may be destroyed at this point.
517518
}
518519

@@ -657,7 +658,7 @@ void URLRequestJob::SourceStreamReadComplete(bool synchronous, int result) {
657658

658659
int URLRequestJob::ReadRawDataHelper(IOBuffer* buf,
659660
int buf_size,
660-
const CompletionCallback& callback) {
661+
CompletionOnceCallback callback) {
661662
DCHECK(!raw_read_buffer_);
662663

663664
// Keep a pointer to the read buffer, so URLRequestJob::GatherRawReadStats()
@@ -673,7 +674,7 @@ int URLRequestJob::ReadRawDataHelper(IOBuffer* buf,
673674
// GatherRawReadStats so we can account for the completed read.
674675
GatherRawReadStats(result);
675676
} else {
676-
read_raw_callback_ = callback;
677+
read_raw_callback_ = std::move(callback);
677678
}
678679
return result;
679680
}

net/url_request/url_request_job.h

+3-2
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
#include "base/memory/weak_ptr.h"
1616
#include "base/optional.h"
1717
#include "base/power_monitor/power_observer.h"
18+
#include "net/base/completion_once_callback.h"
1819
#include "net/base/host_port_pair.h"
1920
#include "net/base/load_states.h"
2021
#include "net/base/net_error_details.h"
@@ -359,7 +360,7 @@ class NET_EXPORT URLRequestJob : public base::PowerObserver {
359360
// synchronously.
360361
int ReadRawDataHelper(IOBuffer* buf,
361362
int buf_size,
362-
const CompletionCallback& callback);
363+
CompletionOnceCallback callback);
363364

364365
// Returns OK if |new_url| is a valid redirect target and an error code
365366
// otherwise.
@@ -455,7 +456,7 @@ class NET_EXPORT URLRequestJob : public base::PowerObserver {
455456

456457
// Non-null if ReadRawData() returned ERR_IO_PENDING, and the read has not
457458
// completed.
458-
CompletionCallback read_raw_callback_;
459+
CompletionOnceCallback read_raw_callback_;
459460

460461
base::WeakPtrFactory<URLRequestJob> weak_factory_;
461462

0 commit comments

Comments
 (0)