| Index: chrome/browser/extensions/api/notification/notification_api.cc
|
| diff --git a/chrome/browser/extensions/api/notification/notification_api.cc b/chrome/browser/extensions/api/notification/notification_api.cc
|
| index 2aea0d9343a56034c420bafe11738d831673cb40..65e788fe31e3eef5731759479e7849fc4ce5cd81 100644
|
| --- a/chrome/browser/extensions/api/notification/notification_api.cc
|
| +++ b/chrome/browser/extensions/api/notification/notification_api.cc
|
| @@ -11,6 +11,8 @@
|
| #include "chrome/browser/extensions/event_names.h"
|
| #include "chrome/browser/extensions/event_router.h"
|
| #include "chrome/browser/extensions/extension_system.h"
|
| +#include "chrome/browser/notifications/desktop_notification_service.h"
|
| +#include "chrome/browser/notifications/desktop_notification_service_factory.h"
|
| #include "chrome/browser/notifications/notification.h"
|
| #include "chrome/browser/notifications/notification_ui_manager.h"
|
| #include "chrome/common/extensions/extension.h"
|
| @@ -194,6 +196,21 @@ void NotificationApiFunction::CreateNotification(
|
| g_browser_process->notification_ui_manager()->Add(notification, profile());
|
| }
|
|
|
| +bool NotificationApiFunction::IsNotificationApiEnabled() {
|
| + DesktopNotificationService* service =
|
| + DesktopNotificationServiceFactory::GetForProfile(profile());
|
| + return service->IsExtensionEnabled(extension_->id());
|
| +}
|
| +
|
| +bool NotificationApiFunction::RunImpl() {
|
| + if (!IsNotificationApiEnabled()) {
|
| + SendResponse(false);
|
| + return true;
|
| + }
|
| +
|
| + return RunNotificationApi();
|
| +}
|
| +
|
| const char kNotificationPrefix[] = "extension.api.";
|
|
|
| static uint64 next_id_ = 0;
|
| @@ -204,7 +221,7 @@ NotificationCreateFunction::NotificationCreateFunction() {
|
| NotificationCreateFunction::~NotificationCreateFunction() {
|
| }
|
|
|
| -bool NotificationCreateFunction::RunImpl() {
|
| +bool NotificationCreateFunction::RunNotificationApi() {
|
| params_ = api::experimental_notification::Create::Params::Create(*args_);
|
| EXTENSION_FUNCTION_VALIDATE(params_.get());
|
|
|
| @@ -235,7 +252,7 @@ NotificationUpdateFunction::NotificationUpdateFunction() {
|
| NotificationUpdateFunction::~NotificationUpdateFunction() {
|
| }
|
|
|
| -bool NotificationUpdateFunction::RunImpl() {
|
| +bool NotificationUpdateFunction::RunNotificationApi() {
|
| params_ = api::experimental_notification::Update::Params::Create(*args_);
|
| EXTENSION_FUNCTION_VALIDATE(params_.get());
|
|
|
| @@ -259,7 +276,7 @@ NotificationDeleteFunction::NotificationDeleteFunction() {
|
| NotificationDeleteFunction::~NotificationDeleteFunction() {
|
| }
|
|
|
| -bool NotificationDeleteFunction::RunImpl() {
|
| +bool NotificationDeleteFunction::RunNotificationApi() {
|
| params_ = api::experimental_notification::Delete::Params::Create(*args_);
|
| EXTENSION_FUNCTION_VALIDATE(params_.get());
|
|
|
|
|