Commit e560578e authored by Reilly Grant's avatar Reilly Grant Committed by Commit Bot

Convert base::Bind and base::Callback in ash/display to Once/Repeating

Bug: 1007633
Change-Id: I91945e13761da0dcd237ce0667d5a72054f2e498
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1934524
Auto-Submit: Reilly Grant <reillyg@chromium.org>
Reviewed-by: default avatarAhmed Fakhry <afakhry@chromium.org>
Commit-Queue: Reilly Grant <reillyg@chromium.org>
Cr-Commit-Position: refs/heads/master@{#720346}
parent f9c3e1b5
...@@ -30,8 +30,10 @@ const int kFadingTimeoutDurationInSeconds = 10; ...@@ -30,8 +30,10 @@ const int kFadingTimeoutDurationInSeconds = 10;
// runs the specified |callback| when all of the animations have finished. // runs the specified |callback| when all of the animations have finished.
class CallbackRunningObserver { class CallbackRunningObserver {
public: public:
CallbackRunningObserver(base::Closure callback) CallbackRunningObserver(base::OnceClosure callback)
: completed_counter_(0), animation_aborted_(false), callback_(callback) {} : completed_counter_(0),
animation_aborted_(false),
callback_(std::move(callback)) {}
void AddNewAnimator(ui::LayerAnimator* animator) { void AddNewAnimator(ui::LayerAnimator* animator) {
auto observer = std::make_unique<Observer>(animator, this); auto observer = std::make_unique<Observer>(animator, this);
...@@ -45,7 +47,8 @@ class CallbackRunningObserver { ...@@ -45,7 +47,8 @@ class CallbackRunningObserver {
if (completed_counter_ >= observer_list_.size()) { if (completed_counter_ >= observer_list_.size()) {
base::ThreadTaskRunnerHandle::Get()->DeleteSoon(FROM_HERE, this); base::ThreadTaskRunnerHandle::Get()->DeleteSoon(FROM_HERE, this);
if (!animation_aborted_) if (!animation_aborted_)
base::ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE, callback_); base::ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE,
std::move(callback_));
} }
} }
...@@ -87,7 +90,7 @@ class CallbackRunningObserver { ...@@ -87,7 +90,7 @@ class CallbackRunningObserver {
size_t completed_counter_; size_t completed_counter_;
bool animation_aborted_; bool animation_aborted_;
std::vector<std::unique_ptr<Observer>> observer_list_; std::vector<std::unique_ptr<Observer>> observer_list_;
base::Closure callback_; base::OnceClosure callback_;
DISALLOW_COPY_AND_ASSIGN(CallbackRunningObserver); DISALLOW_COPY_AND_ASSIGN(CallbackRunningObserver);
}; };
...@@ -103,8 +106,9 @@ DisplayAnimator::~DisplayAnimator() { ...@@ -103,8 +106,9 @@ DisplayAnimator::~DisplayAnimator() {
ClearHidingLayers(); ClearHidingLayers();
} }
void DisplayAnimator::StartFadeOutAnimation(base::Closure callback) { void DisplayAnimator::StartFadeOutAnimation(base::OnceClosure callback) {
CallbackRunningObserver* observer = new CallbackRunningObserver(callback); CallbackRunningObserver* observer =
new CallbackRunningObserver(std::move(callback));
ClearHidingLayers(); ClearHidingLayers();
// Make the fade-out animation for all root windows. Instead of actually // Make the fade-out animation for all root windows. Instead of actually
...@@ -146,8 +150,9 @@ void DisplayAnimator::StartFadeInAnimation() { ...@@ -146,8 +150,9 @@ void DisplayAnimator::StartFadeInAnimation() {
// finished. Note that this callback can be canceled, but the cancel only // finished. Note that this callback can be canceled, but the cancel only
// happens when the next animation is scheduled. Thus the hiding layers // happens when the next animation is scheduled. Thus the hiding layers
// should be deleted eventually. // should be deleted eventually.
CallbackRunningObserver* observer = new CallbackRunningObserver(base::Bind( CallbackRunningObserver* observer =
&DisplayAnimator::ClearHidingLayers, weak_ptr_factory_.GetWeakPtr())); new CallbackRunningObserver(base::BindOnce(
&DisplayAnimator::ClearHidingLayers, weak_ptr_factory_.GetWeakPtr()));
// Ensure that layers are not animating. // Ensure that layers are not animating.
for (auto& e : hiding_layers_) { for (auto& e : hiding_layers_) {
......
...@@ -35,7 +35,7 @@ class ASH_EXPORT DisplayAnimator ...@@ -35,7 +35,7 @@ class ASH_EXPORT DisplayAnimator
DisplayAnimator(); DisplayAnimator();
~DisplayAnimator() override; ~DisplayAnimator() override;
void StartFadeOutAnimation(base::Closure callback); void StartFadeOutAnimation(base::OnceClosure callback);
void StartFadeInAnimation(); void StartFadeInAnimation();
protected: protected:
......
...@@ -333,10 +333,10 @@ bool DisplayColorManager::LoadCalibrationForDisplay( ...@@ -333,10 +333,10 @@ bool DisplayColorManager::LoadCalibrationForDisplay(
quirks::QuirksManager::Get()->RequestIccProfilePath( quirks::QuirksManager::Get()->RequestIccProfilePath(
display->product_code(), display->display_name(), display->product_code(), display->display_name(),
base::Bind(&DisplayColorManager::FinishLoadCalibrationForDisplay, base::BindOnce(&DisplayColorManager::FinishLoadCalibrationForDisplay,
weak_ptr_factory_.GetWeakPtr(), display->display_id(), weak_ptr_factory_.GetWeakPtr(), display->display_id(),
display->product_code(), display->product_code(),
display->has_color_correction_matrix(), display->type())); display->has_color_correction_matrix(), display->type()));
return true; return true;
} }
...@@ -373,9 +373,9 @@ void DisplayColorManager::FinishLoadCalibrationForDisplay( ...@@ -373,9 +373,9 @@ void DisplayColorManager::FinishLoadCalibrationForDisplay(
base::PostTaskAndReplyWithResult( base::PostTaskAndReplyWithResult(
sequenced_task_runner_.get(), FROM_HERE, sequenced_task_runner_.get(), FROM_HERE,
base::Bind(&ParseDisplayProfile, path, has_color_correction_matrix), base::BindOnce(&ParseDisplayProfile, path, has_color_correction_matrix),
base::Bind(&DisplayColorManager::UpdateCalibrationData, base::BindOnce(&DisplayColorManager::UpdateCalibrationData,
weak_ptr_factory_.GetWeakPtr(), display_id, product_code)); weak_ptr_factory_.GetWeakPtr(), display_id, product_code));
} }
void DisplayColorManager::UpdateCalibrationData( void DisplayColorManager::UpdateCalibrationData(
......
...@@ -39,8 +39,8 @@ class DisplayColorManagerForTest : public DisplayColorManager { ...@@ -39,8 +39,8 @@ class DisplayColorManagerForTest : public DisplayColorManager {
display::DisplayConfigurator* configurator) display::DisplayConfigurator* configurator)
: DisplayColorManager(configurator, nullptr /* display_to_observe */) {} : DisplayColorManager(configurator, nullptr /* display_to_observe */) {}
void SetOnFinishedForTest(base::Closure on_finished_for_test) { void SetOnFinishedForTest(base::OnceClosure on_finished_for_test) {
on_finished_for_test_ = on_finished_for_test; on_finished_for_test_ = std::move(on_finished_for_test);
} }
private: private:
...@@ -54,8 +54,8 @@ class DisplayColorManagerForTest : public DisplayColorManager { ...@@ -54,8 +54,8 @@ class DisplayColorManagerForTest : public DisplayColorManager {
display_id, product_id, has_color_correction_matrix, type, path, display_id, product_id, has_color_correction_matrix, type, path,
file_downloaded); file_downloaded);
// If path is empty, there is no icc file, and the DCM's work is done. // If path is empty, there is no icc file, and the DCM's work is done.
if (path.empty() && !on_finished_for_test_.is_null()) { if (path.empty() && on_finished_for_test_) {
on_finished_for_test_.Run(); std::move(on_finished_for_test_).Run();
on_finished_for_test_.Reset(); on_finished_for_test_.Reset();
} }
} }
...@@ -66,13 +66,13 @@ class DisplayColorManagerForTest : public DisplayColorManager { ...@@ -66,13 +66,13 @@ class DisplayColorManagerForTest : public DisplayColorManager {
std::unique_ptr<ColorCalibrationData> data) override { std::unique_ptr<ColorCalibrationData> data) override {
DisplayColorManager::UpdateCalibrationData(display_id, product_id, DisplayColorManager::UpdateCalibrationData(display_id, product_id,
std::move(data)); std::move(data));
if (!on_finished_for_test_.is_null()) { if (on_finished_for_test_) {
on_finished_for_test_.Run(); std::move(on_finished_for_test_).Run();
on_finished_for_test_.Reset(); on_finished_for_test_.Reset();
} }
} }
base::Closure on_finished_for_test_; base::OnceClosure on_finished_for_test_;
DISALLOW_COPY_AND_ASSIGN(DisplayColorManagerForTest); DISALLOW_COPY_AND_ASSIGN(DisplayColorManagerForTest);
}; };
......
...@@ -99,8 +99,8 @@ void DisplayConfigurationController::SetDisplayLayout( ...@@ -99,8 +99,8 @@ void DisplayConfigurationController::SetDisplayLayout(
std::unique_ptr<display::DisplayLayout> layout) { std::unique_ptr<display::DisplayLayout> layout) {
if (display_animator_) { if (display_animator_) {
display_animator_->StartFadeOutAnimation( display_animator_->StartFadeOutAnimation(
base::Bind(&DisplayConfigurationController::SetDisplayLayoutImpl, base::BindOnce(&DisplayConfigurationController::SetDisplayLayoutImpl,
weak_ptr_factory_.GetWeakPtr(), base::Passed(&layout))); weak_ptr_factory_.GetWeakPtr(), std::move(layout)));
} else { } else {
SetDisplayLayoutImpl(std::move(layout)); SetDisplayLayoutImpl(std::move(layout));
} }
...@@ -111,7 +111,7 @@ void DisplayConfigurationController::SetUnifiedDesktopLayoutMatrix( ...@@ -111,7 +111,7 @@ void DisplayConfigurationController::SetUnifiedDesktopLayoutMatrix(
DCHECK(display_manager_->IsInUnifiedMode()); DCHECK(display_manager_->IsInUnifiedMode());
if (display_animator_) { if (display_animator_) {
display_animator_->StartFadeOutAnimation(base::Bind( display_animator_->StartFadeOutAnimation(base::BindOnce(
&DisplayConfigurationController::SetUnifiedDesktopLayoutMatrixImpl, &DisplayConfigurationController::SetUnifiedDesktopLayoutMatrixImpl,
weak_ptr_factory_.GetWeakPtr(), matrix)); weak_ptr_factory_.GetWeakPtr(), matrix));
} else { } else {
...@@ -128,8 +128,8 @@ void DisplayConfigurationController::SetMirrorMode(bool mirror, bool throttle) { ...@@ -128,8 +128,8 @@ void DisplayConfigurationController::SetMirrorMode(bool mirror, bool throttle) {
SetThrottleTimeout(kCycleDisplayThrottleTimeoutMs); SetThrottleTimeout(kCycleDisplayThrottleTimeoutMs);
if (display_animator_) { if (display_animator_) {
display_animator_->StartFadeOutAnimation( display_animator_->StartFadeOutAnimation(
base::Bind(&DisplayConfigurationController::SetMirrorModeImpl, base::BindOnce(&DisplayConfigurationController::SetMirrorModeImpl,
weak_ptr_factory_.GetWeakPtr(), mirror)); weak_ptr_factory_.GetWeakPtr(), mirror));
} else { } else {
SetMirrorModeImpl(mirror); SetMirrorModeImpl(mirror);
} }
...@@ -176,8 +176,8 @@ void DisplayConfigurationController::SetPrimaryDisplayId(int64_t display_id, ...@@ -176,8 +176,8 @@ void DisplayConfigurationController::SetPrimaryDisplayId(int64_t display_id,
SetThrottleTimeout(kSetPrimaryDisplayThrottleTimeoutMs); SetThrottleTimeout(kSetPrimaryDisplayThrottleTimeoutMs);
if (display_animator_) { if (display_animator_) {
display_animator_->StartFadeOutAnimation( display_animator_->StartFadeOutAnimation(
base::Bind(&DisplayConfigurationController::SetPrimaryDisplayIdImpl, base::BindOnce(&DisplayConfigurationController::SetPrimaryDisplayIdImpl,
weak_ptr_factory_.GetWeakPtr(), display_id)); weak_ptr_factory_.GetWeakPtr(), display_id));
} else { } else {
SetPrimaryDisplayIdImpl(display_id); SetPrimaryDisplayIdImpl(display_id);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment