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

Unified Diff: chrome/browser/extensions/api/notifications/notifications_api.cc

Issue 15025002: Remove ENABLE_MESSAGE_CENTER (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: try bots love work Created 7 years, 7 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/notifications/notifications_api.cc
diff --git a/chrome/browser/extensions/api/notifications/notifications_api.cc b/chrome/browser/extensions/api/notifications/notifications_api.cc
index 19a66268f94affee63d9e018bc4824bb2edf9606..c346c4f45bca79966cdd98e8101d365f8c6a5266 100644
--- a/chrome/browser/extensions/api/notifications/notifications_api.cc
+++ b/chrome/browser/extensions/api/notifications/notifications_api.cc
@@ -21,6 +21,7 @@
#include "content/public/browser/render_process_host.h"
#include "content/public/browser/render_view_host.h"
#include "googleurl/src/gurl.h"
+#include "ui/message_center/message_center_util.h"
namespace extensions {
@@ -141,117 +142,112 @@ NotificationsApiFunction::NotificationsApiFunction() {
NotificationsApiFunction::~NotificationsApiFunction() {
}
-// If older notification runtime is used, MessageCenter is not built.
-// Use simpler bridge then, ignoring all options.
-#if !defined (ENABLE_MESSAGE_CENTER)
void NotificationsApiFunction::CreateNotification(
const std::string& id,
api::notifications::NotificationOptions* options) {
- message_center::NotificationType type =
- MapApiTemplateTypeToType(options->type);
- GURL icon_url(UTF8ToUTF16(options->icon_url));
- string16 title(UTF8ToUTF16(options->title));
- string16 message(UTF8ToUTF16(options->message));
-
- // Ignore options if running on the old notification runtime.
- scoped_ptr<DictionaryValue> optional_fields(new DictionaryValue());
-
- NotificationsApiDelegate* api_delegate(new NotificationsApiDelegate(
- this,
- profile(),
- extension_->id(),
- id)); // ownership is passed to Notification
- Notification notification(type, extension_->url(), icon_url, title, message,
- WebKit::WebTextDirectionDefault,
- UTF8ToUTF16(extension_->name()),
- UTF8ToUTF16(api_delegate->id()),
- optional_fields.get(), api_delegate);
-
- g_browser_process->notification_ui_manager()->Add(notification, profile());
-}
-#else // defined(ENABLE_MESSAGE_CENTER)
-void NotificationsApiFunction::CreateNotification(
- const std::string& id,
- api::notifications::NotificationOptions* options) {
- message_center::NotificationType type =
- MapApiTemplateTypeToType(options->type);
- GURL icon_url(UTF8ToUTF16(options->icon_url));
- string16 title(UTF8ToUTF16(options->title));
- string16 message(UTF8ToUTF16(options->message));
-
- scoped_ptr<DictionaryValue> optional_fields(new DictionaryValue());
-
- // For all notification types.
- if (options->priority.get())
- optional_fields->SetInteger(message_center::kPriorityKey,
- *options->priority);
- if (options->event_time.get())
- optional_fields->SetDouble(message_center::kTimestampKey,
- *options->event_time);
- if (options->buttons.get()) {
- if (options->buttons->size() > 0) {
- linked_ptr<api::notifications::NotificationButton> button =
- (*options->buttons)[0];
- optional_fields->SetString(message_center::kButtonOneTitleKey,
- UTF8ToUTF16(button->title));
- if (button->icon_url.get())
- optional_fields->SetString(message_center::kButtonOneIconUrlKey,
- UTF8ToUTF16(*button->icon_url));
- }
- if (options->buttons->size() > 1) {
- linked_ptr<api::notifications::NotificationButton> button =
- (*options->buttons)[1];
- optional_fields->SetString(message_center::kButtonTwoTitleKey,
- UTF8ToUTF16(button->title));
- if (button->icon_url.get())
- optional_fields->SetString(message_center::kButtonTwoIconUrlKey,
- UTF8ToUTF16(*button->icon_url));
+ // If older notification runtime is used, use simpler bridge.
+ if (message_center::IsRichNotificationEnabled()) {
dewittj 2013/05/08 18:53:01 need a "!" in the conditional?
Dmitry Titov 2013/05/08 23:03:26 oops. Done. Tested that Galore works :-)
+ message_center::NotificationType type =
+ MapApiTemplateTypeToType(options->type);
+ GURL icon_url(UTF8ToUTF16(options->icon_url));
+ string16 title(UTF8ToUTF16(options->title));
+ string16 message(UTF8ToUTF16(options->message));
+
+ // Ignore options if running on the old notification runtime.
+ scoped_ptr<DictionaryValue> optional_fields(new DictionaryValue());
+
+ NotificationsApiDelegate* api_delegate(new NotificationsApiDelegate(
+ this,
+ profile(),
+ extension_->id(),
+ id)); // ownership is passed to Notification
+ Notification notification(type, extension_->url(), icon_url, title, message,
+ WebKit::WebTextDirectionDefault,
+ UTF8ToUTF16(extension_->name()),
+ UTF8ToUTF16(api_delegate->id()),
+ optional_fields.get(), api_delegate);
+
+ g_browser_process->notification_ui_manager()->Add(notification, profile());
dewittj 2013/05/08 18:53:01 put a return here to buy one level of indentation
Dmitry Titov 2013/05/08 23:03:26 Done.
+ } else {
+ message_center::NotificationType type =
+ MapApiTemplateTypeToType(options->type);
+ GURL icon_url(UTF8ToUTF16(options->icon_url));
+ string16 title(UTF8ToUTF16(options->title));
+ string16 message(UTF8ToUTF16(options->message));
+
+ scoped_ptr<DictionaryValue> optional_fields(new DictionaryValue());
+
+ // For all notification types.
+ if (options->priority.get())
+ optional_fields->SetInteger(message_center::kPriorityKey,
+ *options->priority);
+ if (options->event_time.get())
+ optional_fields->SetDouble(message_center::kTimestampKey,
+ *options->event_time);
+ if (options->buttons.get()) {
+ if (options->buttons->size() > 0) {
+ linked_ptr<api::notifications::NotificationButton> button =
+ (*options->buttons)[0];
+ optional_fields->SetString(message_center::kButtonOneTitleKey,
+ UTF8ToUTF16(button->title));
+ if (button->icon_url.get())
+ optional_fields->SetString(message_center::kButtonOneIconUrlKey,
+ UTF8ToUTF16(*button->icon_url));
+ }
+ if (options->buttons->size() > 1) {
+ linked_ptr<api::notifications::NotificationButton> button =
+ (*options->buttons)[1];
+ optional_fields->SetString(message_center::kButtonTwoTitleKey,
+ UTF8ToUTF16(button->title));
+ if (button->icon_url.get())
+ optional_fields->SetString(message_center::kButtonTwoIconUrlKey,
+ UTF8ToUTF16(*button->icon_url));
+ }
}
- }
- if (options->expanded_message.get())
- optional_fields->SetString(message_center::kExpandedMessageKey,
- UTF8ToUTF16(*options->expanded_message));
-
- // For image notifications (type == 'image').
- // TODO(dharcourt): Fail if (type == 'image' && !options->image_url.get())
- // TODO(dharcourt): Fail if (type != 'image' && options->image_url.get())
- if (options->image_url.get())
- optional_fields->SetString(message_center::kImageUrlKey,
- UTF8ToUTF16(*options->image_url));
-
- // For list notifications (type == 'multiple').
- // TODO(dharcourt): Fail if (type == 'multiple' && !options->items.get())
- // TODO(dharcourt): Fail if (type != 'multiple' && options->items.get())
- if (options->items.get()) {
- base::ListValue* items = new base::ListValue();
- std::vector<
- linked_ptr<
- api::notifications::NotificationItem> >::iterator i;
- for (i = options->items->begin(); i != options->items->end(); ++i) {
- base::DictionaryValue* item = new base::DictionaryValue();
- item->SetString(message_center::kItemTitleKey,
- UTF8ToUTF16(i->get()->title));
- item->SetString(message_center::kItemMessageKey,
- UTF8ToUTF16(i->get()->message));
- items->Append(item);
+ if (options->expanded_message.get())
+ optional_fields->SetString(message_center::kExpandedMessageKey,
+ UTF8ToUTF16(*options->expanded_message));
+
+ // For image notifications (type == 'image').
+ // TODO(dharcourt): Fail if (type == 'image' && !options->image_url.get())
+ // TODO(dharcourt): Fail if (type != 'image' && options->image_url.get())
+ if (options->image_url.get())
+ optional_fields->SetString(message_center::kImageUrlKey,
+ UTF8ToUTF16(*options->image_url));
+
+ // For list notifications (type == 'multiple').
+ // TODO(dharcourt): Fail if (type == 'multiple' && !options->items.get())
+ // TODO(dharcourt): Fail if (type != 'multiple' && options->items.get())
+ if (options->items.get()) {
+ base::ListValue* items = new base::ListValue();
+ std::vector<
+ linked_ptr<
+ api::notifications::NotificationItem> >::iterator i;
+ for (i = options->items->begin(); i != options->items->end(); ++i) {
+ base::DictionaryValue* item = new base::DictionaryValue();
+ item->SetString(message_center::kItemTitleKey,
+ UTF8ToUTF16(i->get()->title));
+ item->SetString(message_center::kItemMessageKey,
+ UTF8ToUTF16(i->get()->message));
+ items->Append(item);
+ }
+ optional_fields->Set(message_center::kItemsKey, items);
}
- optional_fields->Set(message_center::kItemsKey, items);
- }
- NotificationsApiDelegate* api_delegate(new NotificationsApiDelegate(
- this,
- profile(),
- extension_->id(),
- id)); // ownership is passed to Notification
- Notification notification(type, extension_->url(), icon_url, title, message,
- WebKit::WebTextDirectionDefault,
- UTF8ToUTF16(extension_->name()),
- UTF8ToUTF16(api_delegate->id()),
- optional_fields.get(), api_delegate);
-
- g_browser_process->notification_ui_manager()->Add(notification, profile());
+ NotificationsApiDelegate* api_delegate(new NotificationsApiDelegate(
+ this,
+ profile(),
+ extension_->id(),
+ id)); // ownership is passed to Notification
+ Notification notification(type, extension_->url(), icon_url, title, message,
+ WebKit::WebTextDirectionDefault,
+ UTF8ToUTF16(extension_->name()),
+ UTF8ToUTF16(api_delegate->id()),
+ optional_fields.get(), api_delegate);
+
+ g_browser_process->notification_ui_manager()->Add(notification, profile());
+ }
}
-#endif // !defined(ENABLE_MESSAGE_CENTER)
bool NotificationsApiFunction::IsNotificationsApiEnabled() {
DesktopNotificationService* service =

Powered by Google App Engine
This is Rietveld 408576698