0

[Code Health] Convert Closure to OnceClosure

The pause_cb_ Closure is a OnceClosure.  Change Pause() and Flush() to
take a OnceClosure.

This fixes text_render.cc not to use Closure.  Every instance is now
either RepeatingClosure or OnceClosure.

Bug: 1007799
Change-Id: I6ad66ccb149cac914325da98da2f4c0a3965fd7e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2095709
Reviewed-by: Chrome Cunningham <chcunningham@chromium.org>
Commit-Queue: Raymond Toy <rtoy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#750269}
This commit is contained in:
Raymond Toy
2020-03-13 19:38:13 +00:00
committed by Commit Bot
parent 87d01b48ae
commit 888f8dd6d2
3 changed files with 18 additions and 16 deletions

@ -65,22 +65,22 @@ void TextRenderer::StartPlaying() {
state_ = kPlaying;
}
void TextRenderer::Pause(const base::Closure& callback) {
void TextRenderer::Pause(base::OnceClosure callback) {
DCHECK(task_runner_->BelongsToCurrentThread());
DCHECK(state_ == kPlaying || state_ == kEnded) << "state_ " << state_;
DCHECK_GE(pending_read_count_, 0);
if (pending_read_count_ == 0) {
state_ = kPaused;
task_runner_->PostTask(FROM_HERE, callback);
task_runner_->PostTask(FROM_HERE, std::move(callback));
return;
}
pause_cb_ = callback;
pause_cb_ = std::move(callback);
state_ = kPausePending;
}
void TextRenderer::Flush(const base::Closure& callback) {
void TextRenderer::Flush(base::OnceClosure callback) {
DCHECK(task_runner_->BelongsToCurrentThread());
DCHECK_EQ(pending_read_count_, 0);
DCHECK(state_ == kPaused) << "state_ " << state_;
@ -91,7 +91,7 @@ void TextRenderer::Flush(const base::Closure& callback) {
itr->second->text_ranges_.Reset();
}
DCHECK_EQ(pending_eos_set_.size(), text_track_state_map_.size());
task_runner_->PostTask(FROM_HERE, callback);
task_runner_->PostTask(FROM_HERE, std::move(callback));
}
void TextRenderer::AddTextStream(DemuxerStream* text_stream,

@ -52,10 +52,10 @@ class MEDIA_EXPORT TextRenderer {
// Temporarily suspends decoding and rendering, executing |callback| when
// playback has been suspended.
void Pause(const base::Closure& callback);
void Pause(base::OnceClosure callback);
// Discards any text data, executing |callback| when completed.
void Flush(const base::Closure& callback);
void Flush(base::OnceClosure callback);
// Adds new |text_stream|, having the indicated |config|, to the text stream
// collection managed by this text renderer.
@ -109,7 +109,7 @@ class MEDIA_EXPORT TextRenderer {
base::RepeatingClosure ended_cb_;
// Callback provided to Pause().
base::Closure pause_cb_;
base::OnceClosure pause_cb_;
// Simple state tracking variable.
enum State {

@ -54,9 +54,10 @@ class TextRendererTest : public testing::Test {
void CreateTextRenderer() {
DCHECK(!text_renderer_);
text_renderer_.reset(new TextRenderer(
task_environment_.GetMainThreadTaskRunner(),
base::Bind(&TextRendererTest::OnAddTextTrack, base::Unretained(this))));
text_renderer_.reset(
new TextRenderer(task_environment_.GetMainThreadTaskRunner(),
base::BindRepeating(&TextRendererTest::OnAddTextTrack,
base::Unretained(this))));
text_renderer_->Initialize(
base::BindRepeating(&TextRendererTest::OnEnd, base::Unretained(this)));
}
@ -171,14 +172,14 @@ class TextRendererTest : public testing::Test {
void Pause() {
text_renderer_->Pause(
base::Bind(&TextRendererTest::OnPause, base::Unretained(this)));
base::BindOnce(&TextRendererTest::OnPause, base::Unretained(this)));
base::RunLoop().RunUntilIdle();
}
void Flush() {
EXPECT_CALL(*this, OnFlush());
text_renderer_->Flush(
base::Bind(&TextRendererTest::OnFlush, base::Unretained(this)));
base::BindOnce(&TextRendererTest::OnFlush, base::Unretained(this)));
}
void ExpectRead(size_t idx) {
@ -205,9 +206,10 @@ class TextRendererTest : public testing::Test {
};
TEST_F(TextRendererTest, CreateTextRendererNoInit) {
text_renderer_.reset(new TextRenderer(
task_environment_.GetMainThreadTaskRunner(),
base::Bind(&TextRendererTest::OnAddTextTrack, base::Unretained(this))));
text_renderer_.reset(
new TextRenderer(task_environment_.GetMainThreadTaskRunner(),
base::BindRepeating(&TextRendererTest::OnAddTextTrack,
base::Unretained(this))));
text_renderer_.reset();
}