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

Unified Diff: chrome/browser/extensions/api/notification_provider/notification_provider_api.cc

Issue 456223002: Add NotifyOnShowSettings implementation of notification provider API (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 4 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
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 6b71abdf7236c2e96ac7d9cecefecc43682a8be9..848336450f88d910c47eb77b1e05912129603910 100644
--- a/chrome/browser/extensions/api/notification_provider/notification_provider_api.cc
+++ b/chrome/browser/extensions/api/notification_provider/notification_provider_api.cc
@@ -10,11 +10,16 @@
#include "base/strings/string_number_conversions.h"
#include "base/strings/utf_string_conversions.h"
#include "chrome/browser/browser_process.h"
+#include "chrome/browser/notifications/message_center_settings_controller.h"
+#include "chrome/browser/profiles/profile_info_cache.h"
+#include "chrome/browser/profiles/profile_manager.h"
#include "chrome/common/chrome_version_info.h"
#include "extensions/browser/event_router.h"
+#include "extensions/browser/extension_system.h"
#include "extensions/common/extension.h"
#include "extensions/common/features/feature.h"
#include "ui/base/layout.h"
+#include "ui/message_center/notifier_settings.h"
#include "url/gurl.h"
namespace extensions {
@@ -185,8 +190,23 @@ NotificationProviderNotifyOnShowSettingsFunction::Run() {
api::notification_provider::NotifyOnShowSettings::Params::Create(*args_);
EXTENSION_FUNCTION_VALIDATE(params.get());
+ ProfileInfoCache* profile_info_cache =
+ &g_browser_process->profile_manager()->GetProfileInfoCache();
+
+ scoped_ptr<MessageCenterSettingsController> settings_controller(
+ new MessageCenterSettingsController(profile_info_cache));
dewittj 2014/08/11 21:16:16 I'd rather that you use the settings controller th
liyanhou 2014/08/12 17:15:00 Done.
+
+ message_center::NotifierId notifier_id(
+ message_center::NotifierId::NotifierType::APPLICATION,
+ params->notifier_id);
+
+ bool has_advanced_settings =
+ settings_controller->NotifierHasAdvancedSettings(notifier_id);
+ if (has_advanced_settings)
+ settings_controller->OnNotifierAdvancedSettingsRequested(notifier_id, NULL);
return RespondNow(ArgumentList(
- api::notification_provider::NotifyOnShowSettings::Results::Create(true)));
+ api::notification_provider::NotifyOnShowSettings::Results::Create(
+ has_advanced_settings)));
}
NotificationProviderGetNotifierFunction::

Powered by Google App Engine
This is Rietveld 408576698