Index: ash/common/system/locale/locale_notification_controller.cc |
diff --git a/ash/common/system/locale/locale_notification_controller.cc b/ash/common/system/locale/locale_notification_controller.cc |
deleted file mode 100644 |
index 2db2f89a38b2319c9b87663f7482fd82c42bdb20..0000000000000000000000000000000000000000 |
--- a/ash/common/system/locale/locale_notification_controller.cc |
+++ /dev/null |
@@ -1,132 +0,0 @@ |
-// Copyright 2013 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "ash/common/system/locale/locale_notification_controller.h" |
- |
-#include <memory> |
-#include <utility> |
- |
-#include "ash/common/system/system_notifier.h" |
-#include "ash/common/system/tray/system_tray_notifier.h" |
-#include "ash/common/wm_shell.h" |
-#include "ash/resources/grit/ash_resources.h" |
-#include "ash/strings/grit/ash_strings.h" |
-#include "base/strings/string16.h" |
-#include "ui/base/l10n/l10n_util.h" |
-#include "ui/base/resource/resource_bundle.h" |
-#include "ui/message_center/message_center.h" |
-#include "ui/message_center/notification.h" |
-#include "ui/message_center/notification_delegate.h" |
-#include "ui/message_center/notification_types.h" |
- |
-using message_center::Notification; |
- |
-namespace ash { |
-namespace { |
- |
-const char kLocaleChangeNotificationId[] = "chrome://settings/locale"; |
- |
-class LocaleNotificationDelegate : public message_center::NotificationDelegate { |
- public: |
- explicit LocaleNotificationDelegate( |
- const base::Callback<void(ash::mojom::LocaleNotificationResult)>& |
- callback); |
- |
- protected: |
- ~LocaleNotificationDelegate() override; |
- |
- // message_center::NotificationDelegate overrides: |
- void Close(bool by_user) override; |
- bool HasClickedListener() override; |
- void Click() override; |
- void ButtonClick(int button_index) override; |
- |
- private: |
- base::Callback<void(ash::mojom::LocaleNotificationResult)> callback_; |
- |
- DISALLOW_COPY_AND_ASSIGN(LocaleNotificationDelegate); |
-}; |
- |
-LocaleNotificationDelegate::LocaleNotificationDelegate( |
- const base::Callback<void(ash::mojom::LocaleNotificationResult)>& callback) |
- : callback_(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); |
- } |
-} |
- |
-void LocaleNotificationDelegate::Close(bool by_user) { |
- if (callback_) { |
- callback_.Run(ash::mojom::LocaleNotificationResult::ACCEPT); |
- callback_.Reset(); |
- } |
-} |
- |
-bool LocaleNotificationDelegate::HasClickedListener() { |
- return true; |
-} |
- |
-void LocaleNotificationDelegate::Click() { |
- if (callback_) { |
- callback_.Run(ash::mojom::LocaleNotificationResult::ACCEPT); |
- callback_.Reset(); |
- } |
-} |
- |
-void LocaleNotificationDelegate::ButtonClick(int button_index) { |
- DCHECK_EQ(0, button_index); |
- |
- if (callback_) { |
- callback_.Run(ash::mojom::LocaleNotificationResult::REVERT); |
- callback_.Reset(); |
- } |
-} |
- |
-} // namespace |
- |
-LocaleNotificationController::LocaleNotificationController() {} |
- |
-LocaleNotificationController::~LocaleNotificationController() {} |
- |
-void LocaleNotificationController::BindRequest( |
- mojom::LocaleNotificationControllerRequest request) { |
- bindings_.AddBinding(this, std::move(request)); |
-} |
- |
-void LocaleNotificationController::OnLocaleChanged( |
- const std::string& cur_locale, |
- const std::string& from_locale, |
- const std::string& to_locale, |
- const OnLocaleChangedCallback& callback) { |
- base::string16 from = |
- l10n_util::GetDisplayNameForLocale(from_locale, cur_locale, true); |
- base::string16 to = |
- l10n_util::GetDisplayNameForLocale(to_locale, cur_locale, true); |
- |
- message_center::RichNotificationData optional; |
- optional.buttons.push_back( |
- message_center::ButtonInfo(l10n_util::GetStringFUTF16( |
- IDS_ASH_STATUS_TRAY_LOCALE_REVERT_MESSAGE, from))); |
- optional.never_timeout = true; |
- |
- ui::ResourceBundle& bundle = ui::ResourceBundle::GetSharedInstance(); |
- std::unique_ptr<Notification> notification(new Notification( |
- message_center::NOTIFICATION_TYPE_SIMPLE, kLocaleChangeNotificationId, |
- base::string16() /* title */, |
- l10n_util::GetStringFUTF16(IDS_ASH_STATUS_TRAY_LOCALE_CHANGE_MESSAGE, |
- from, to), |
- bundle.GetImageNamed(IDR_AURA_UBER_TRAY_LOCALE), |
- base::string16() /* display_source */, GURL(), |
- message_center::NotifierId(message_center::NotifierId::SYSTEM_COMPONENT, |
- system_notifier::kNotifierLocale), |
- optional, new LocaleNotificationDelegate(callback))); |
- message_center::MessageCenter::Get()->AddNotification( |
- std::move(notification)); |
-} |
- |
-} // namespace ash |