| Index: net/log/file_net_log_observer.cc
|
| diff --git a/net/log/file_net_log_observer.cc b/net/log/file_net_log_observer.cc
|
| index f00785d0bdde07557f611b9f5fd0a106f46c730b..4c74ccf5466183a025d2564352925cf1530b9270 100644
|
| --- a/net/log/file_net_log_observer.cc
|
| +++ b/net/log/file_net_log_observer.cc
|
| @@ -297,15 +297,22 @@ void FileNetLogObserver::StartObserving(NetLog* net_log,
|
| }
|
|
|
| void FileNetLogObserver::StopObserving(std::unique_ptr<base::Value> polled_data,
|
| - const base::Closure& callback) {
|
| + base::OnceClosure optional_callback) {
|
| net_log()->DeprecatedRemoveObserver(this);
|
|
|
| - file_task_runner_->PostTaskAndReply(
|
| - FROM_HERE,
|
| + base::OnceClosure bound_flush_then_stop =
|
| base::Bind(&FileNetLogObserver::FileWriter::FlushThenStop,
|
| base::Unretained(file_writer_.get()), write_queue_,
|
| - base::Passed(&polled_data)),
|
| - callback);
|
| + base::Passed(&polled_data));
|
| +
|
| + // Note that PostTaskAndReply() requires a non-null closure.
|
| + if (!optional_callback.is_null()) {
|
| + file_task_runner_->PostTaskAndReply(FROM_HERE,
|
| + std::move(bound_flush_then_stop),
|
| + std::move(optional_callback));
|
| + } else {
|
| + file_task_runner_->PostTask(FROM_HERE, std::move(bound_flush_then_stop));
|
| + }
|
| }
|
|
|
| void FileNetLogObserver::OnAddEntry(const NetLogEntry& entry) {
|
|
|