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

Unified Diff: chrome/browser/notifications/notification_conversion_helper.h

Issue 441753002: Route newly created notifications to notification provider API. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: addressed comments, deleted browser tests for onUpdated and onCleared 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/notifications/notification_conversion_helper.h
diff --git a/chrome/browser/notifications/notification_conversion_helper.h b/chrome/browser/notifications/notification_conversion_helper.h
new file mode 100644
index 0000000000000000000000000000000000000000..de924e7673cd9177033c9880ad021abd6cfd9986
--- /dev/null
+++ b/chrome/browser/notifications/notification_conversion_helper.h
@@ -0,0 +1,54 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_BROWSER_NOTIFICATIONS_NOTIFICATION_CONVERSION_HELPER_H_
+#define CHROME_BROWSER_NOTIFICATIONS_NOTIFICATION_CONVERSION_HELPER_H_
+
+#include "chrome/browser/notifications/notification.h"
+#include "ui/message_center/notification_types.h"
+
+namespace extensions {
+namespace api {
+namespace notifications {
+struct NotificationOptions;
+struct NotificationBitmap;
+} // namespace notifications
+} // namespace api
+} // namespace extensions
+
+namespace gfx {
+class Image;
+}
+
+// This class provides some static helper functions that could be used to
+// convert between different types of notification data.
+class NotificationConversionHelper {
+ public:
+ // Converts Notification::Notification data to
+ // extensions::api::notifications::NotificationOptions.
+ static void NotificationToNotificationOptions(
+ const Notification& notification,
+ extensions::api::notifications::NotificationOptions* options);
+
+ // Converts gfx::Image (in ARGB format) type to
+ // extensions::api::notifications::NotificationBitmap type (RGBA).
+ static void GfxImageToNotificationBitmap(
+ const gfx::Image* gfx_image,
+ extensions::api::notifications::NotificationBitmap* return_image_args);
+
+ // Converts an extensions::api::notifications::NotificationBitmap type object
+ // with width, height, and data in RGBA format into an gfx::Image (ARGB).
+ static bool NotificationBitmapToGfxImage(
+ float max_scale,
+ const gfx::Size& target_size_dips,
+ extensions::api::notifications::NotificationBitmap* notification_bitmap,
+ gfx::Image* return_image);
+
+ private:
+ // Conversts message_center::NotificationType to string type used to convert
+ // to extensions::api::notifications::TemplateType
+ static std::string MapTypeToString(message_center::NotificationType type);
+};
+
+#endif // CHROME_BROWSER_NOTIFICATIONS_NOTIFICATION_CONVERSION_HELPER_H_

Powered by Google App Engine
This is Rietveld 408576698