| Index: chrome/browser/chromeos/login/multi_profile_first_run_notification.cc
|
| diff --git a/chrome/browser/chromeos/login/multi_profile_first_run_notification.cc b/chrome/browser/chromeos/login/multi_profile_first_run_notification.cc
|
| index 0b23ee3dfbde0dc6ce0a4fd84acdd6b8fb204b98..5976afca2cc410571e9682536dd3df7868fa8d3c 100644
|
| --- a/chrome/browser/chromeos/login/multi_profile_first_run_notification.cc
|
| +++ b/chrome/browser/chromeos/login/multi_profile_first_run_notification.cc
|
| @@ -4,6 +4,7 @@
|
|
|
| #include "chrome/browser/chromeos/login/multi_profile_first_run_notification.h"
|
|
|
| +#include "ash/system/system_notifier.h"
|
| #include "base/prefs/pref_service.h"
|
| #include "base/strings/string16.h"
|
| #include "chrome/browser/chromeos/login/user_manager.h"
|
| @@ -26,6 +27,31 @@ namespace {
|
|
|
| const char kNotificationId[] = "chrome:://login/multiprofile";
|
|
|
| +class MultiProfileFirstRunNotificationDelegate
|
| + : public message_center::NotificationDelegate {
|
| + public:
|
| + explicit MultiProfileFirstRunNotificationDelegate(
|
| + const base::Closure& user_close_callback)
|
| + : user_close_callback_(user_close_callback) {}
|
| +
|
| + // Overridden from message_center::NotificationDelegate:
|
| + virtual void Display() OVERRIDE {}
|
| + virtual void Error() OVERRIDE {}
|
| + virtual void Close(bool by_user) OVERRIDE {
|
| + if (by_user)
|
| + user_close_callback_.Run();
|
| + }
|
| + virtual void Click() OVERRIDE {}
|
| +
|
| + protected:
|
| + virtual ~MultiProfileFirstRunNotificationDelegate() {}
|
| +
|
| + private:
|
| + base::Closure user_close_callback_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(MultiProfileFirstRunNotificationDelegate);
|
| +};
|
| +
|
| } // namespace
|
|
|
| MultiProfileFirstRunNotification::MultiProfileFirstRunNotification()
|
| @@ -61,9 +87,11 @@ void MultiProfileFirstRunNotification::UserProfilePrepared(
|
| ui::ResourceBundle::GetSharedInstance().GetImageNamed(
|
| IDR_NOTIFICATION_ALERT),
|
| display_source,
|
| - message_center::NotifierId(),
|
| + message_center::NotifierId(
|
| + message_center::NotifierId::SYSTEM_COMPONENT,
|
| + ash::system_notifier::kNotifierMultiProfileFirstRun),
|
| message_center::RichNotificationData(),
|
| - new message_center::HandleNotificationClickedDelegate(
|
| + new MultiProfileFirstRunNotificationDelegate(
|
| base::Bind(&MultiProfileFirstRunNotification::OnDismissed,
|
| weak_ptr_factory_.GetWeakPtr(),
|
| user_profile))));
|
|
|