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:: |