Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(54)

Unified Diff: ash/system/locale/locale_notification_controller.cc

Issue 2867673004: Use OnceCallback on Mojo interfaces in //ash (Closed)
Patch Set: count -> container_count Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ash/system/locale/locale_notification_controller.h ('k') | ash/test/test_session_state_animator.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ash/system/locale/locale_notification_controller.cc
diff --git a/ash/system/locale/locale_notification_controller.cc b/ash/system/locale/locale_notification_controller.cc
index 180b64c41347c4f313f264aa38dd2ed5a5d917bf..83e11fb4f286b10d8c9e0a5a1bef40efb7a7f295 100644
--- a/ash/system/locale/locale_notification_controller.cc
+++ b/ash/system/locale/locale_notification_controller.cc
@@ -29,8 +29,7 @@ const char kLocaleChangeNotificationId[] = "chrome://settings/locale";
class LocaleNotificationDelegate : public message_center::NotificationDelegate {
public:
explicit LocaleNotificationDelegate(
- const base::Callback<void(ash::mojom::LocaleNotificationResult)>&
- callback);
+ base::OnceCallback<void(ash::mojom::LocaleNotificationResult)> callback);
protected:
~LocaleNotificationDelegate() override;
@@ -42,27 +41,26 @@ class LocaleNotificationDelegate : public message_center::NotificationDelegate {
void ButtonClick(int button_index) override;
private:
- base::Callback<void(ash::mojom::LocaleNotificationResult)> callback_;
+ base::OnceCallback<void(ash::mojom::LocaleNotificationResult)> callback_;
DISALLOW_COPY_AND_ASSIGN(LocaleNotificationDelegate);
};
LocaleNotificationDelegate::LocaleNotificationDelegate(
- const base::Callback<void(ash::mojom::LocaleNotificationResult)>& callback)
- : callback_(callback) {}
+ base::OnceCallback<void(ash::mojom::LocaleNotificationResult)> callback)
+ : callback_(std::move(callback)) {}
LocaleNotificationDelegate::~LocaleNotificationDelegate() {
if (callback_) {
// We're being destroyed but the user didn't click on anything. Run the
// callback so that we don't crash.
- callback_.Run(ash::mojom::LocaleNotificationResult::ACCEPT);
+ std::move(callback_).Run(ash::mojom::LocaleNotificationResult::ACCEPT);
}
}
void LocaleNotificationDelegate::Close(bool by_user) {
if (callback_) {
- callback_.Run(ash::mojom::LocaleNotificationResult::ACCEPT);
- callback_.Reset();
+ std::move(callback_).Run(ash::mojom::LocaleNotificationResult::ACCEPT);
}
}
@@ -72,8 +70,7 @@ bool LocaleNotificationDelegate::HasClickedListener() {
void LocaleNotificationDelegate::Click() {
if (callback_) {
- callback_.Run(ash::mojom::LocaleNotificationResult::ACCEPT);
- callback_.Reset();
+ std::move(callback_).Run(ash::mojom::LocaleNotificationResult::ACCEPT);
}
}
@@ -81,8 +78,7 @@ void LocaleNotificationDelegate::ButtonClick(int button_index) {
DCHECK_EQ(0, button_index);
if (callback_) {
- callback_.Run(ash::mojom::LocaleNotificationResult::REVERT);
- callback_.Reset();
+ std::move(callback_).Run(ash::mojom::LocaleNotificationResult::REVERT);
}
}
@@ -101,7 +97,7 @@ void LocaleNotificationController::OnLocaleChanged(
const std::string& cur_locale,
const std::string& from_locale,
const std::string& to_locale,
- const OnLocaleChangedCallback& callback) {
+ OnLocaleChangedCallback callback) {
base::string16 from =
l10n_util::GetDisplayNameForLocale(from_locale, cur_locale, true);
base::string16 to =
@@ -123,7 +119,7 @@ void LocaleNotificationController::OnLocaleChanged(
base::string16() /* display_source */, GURL(),
message_center::NotifierId(message_center::NotifierId::SYSTEM_COMPONENT,
system_notifier::kNotifierLocale),
- optional, new LocaleNotificationDelegate(callback)));
+ optional, new LocaleNotificationDelegate(std::move(callback))));
message_center::MessageCenter::Get()->AddNotification(
std::move(notification));
}
« no previous file with comments | « ash/system/locale/locale_notification_controller.h ('k') | ash/test/test_session_state_animator.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698