Chromium Code Reviews| Index: chrome/browser/extensions/api/notification_provider/notification_provider_api.cc |
| diff --git a/chrome/browser/extensions/api/notification_provider/notification_provider_api.cc b/chrome/browser/extensions/api/notification_provider/notification_provider_api.cc |
| index 34535fbd5a6cf7aa9fbf7876b83b9913fad3cf90..fb1d0bb8d627a9a636beff6fee9f65fbc6f2ff49 100644 |
| --- a/chrome/browser/extensions/api/notification_provider/notification_provider_api.cc |
| +++ b/chrome/browser/extensions/api/notification_provider/notification_provider_api.cc |
| @@ -17,6 +17,8 @@ |
| #include "extensions/common/extension.h" |
| #include "extensions/common/features/feature.h" |
| #include "ui/base/layout.h" |
| +#include "ui/message_center/message_center.h" |
| +#include "ui/message_center/notifier_settings.h" |
| #include "url/gurl.h" |
| namespace extensions { |
| @@ -213,8 +215,20 @@ NotificationProviderNotifyOnShowSettingsFunction::Run() { |
| api::notification_provider::NotifyOnShowSettings::Params::Create(*args_); |
| EXTENSION_FUNCTION_VALIDATE(params.get()); |
| + message_center::NotifierSettingsProvider* settings_provider = |
| + message_center::MessageCenter::Get()->GetNotifierSettingsProvider(); |
|
dewittj
2014/08/12 18:21:05
This is better, but it feels like you are skipping
liyanhou
2014/08/13 21:06:26
Done.
|
| + |
| + message_center::NotifierId notifier_id( |
| + message_center::NotifierId::NotifierType::APPLICATION, |
| + params->notifier_id); |
| + |
| + bool has_advanced_settings = |
| + settings_provider->NotifierHasAdvancedSettings(notifier_id); |
| + if (has_advanced_settings) |
| + settings_provider->OnNotifierAdvancedSettingsRequested(notifier_id, NULL); |
| return RespondNow(ArgumentList( |
| - api::notification_provider::NotifyOnShowSettings::Results::Create(true))); |
| + api::notification_provider::NotifyOnShowSettings::Results::Create( |
| + has_advanced_settings))); |
| } |
| NotificationProviderGetNotifierFunction:: |