Index: Source/modules/notifications/Notification.h |
diff --git a/Source/modules/notifications/Notification.h b/Source/modules/notifications/Notification.h |
index 7a589b4d6ba33e7d1b69ee17c380a63bc135b174..31735bfc09638301e01ed1731ef34223e6263b7f 100644 |
--- a/Source/modules/notifications/Notification.h |
+++ b/Source/modules/notifications/Notification.h |
@@ -36,11 +36,14 @@ |
#include "core/dom/ActiveDOMObject.h" |
#include "modules/EventTargetModules.h" |
#include "modules/ModulesExport.h" |
+#include "modules/notifications/NotificationAction.h" |
#include "modules/vibration/NavigatorVibration.h" |
#include "platform/AsyncMethodRunner.h" |
#include "platform/heap/Handle.h" |
#include "platform/text/TextDirection.h" |
#include "platform/weborigin/KURL.h" |
+#include "public/platform/WebVector.h" |
+#include "public/platform/modules/notifications/WebNotificationAction.h" |
#include "public/platform/modules/notifications/WebNotificationDelegate.h" |
#include "public/platform/modules/notifications/WebNotificationPermission.h" |
#include "wtf/PassOwnPtr.h" |
@@ -91,9 +94,10 @@ public: |
String body() const { return m_body; } |
String tag() const { return m_tag; } |
String icon() const { return m_iconUrl; } |
- NavigatorVibration::VibrationPattern vibrate(bool& isNull) const; |
+ const NavigatorVibration::VibrationPattern& vibrate(bool& isNull) const; |
bool silent() const { return m_silent; } |
ScriptValue data(ScriptState*) const; |
+ const HeapVector<NotificationAction>& actions() const { return m_actions; } |
TextDirection direction() const; |
KURL iconURL() const { return m_iconUrl; } |
@@ -104,7 +108,9 @@ public: |
static WebNotificationPermission checkPermission(ExecutionContext*); |
static ScriptPromise requestPermission(ScriptState*, NotificationPermissionCallback*); |
- static unsigned maxActions(); |
+ static size_t maxActions(); |
+ |
+ static void actionsToWebActions(const HeapVector<NotificationAction>& actions, WebVector<WebNotificationAction>* webActions); |
// EventTarget interface. |
ExecutionContext* executionContext() const final { return ActiveDOMObject::executionContext(); } |
@@ -121,6 +127,8 @@ protected: |
bool dispatchEventInternal(PassRefPtrWillBeRawPtr<Event>) final; |
private: |
+ static void webActionsToActions(const WebVector<WebNotificationAction>& webActions, HeapVector<NotificationAction>* actions); |
+ |
Notification(const String& title, ExecutionContext*); |
void scheduleShow(); |
@@ -140,10 +148,10 @@ private: |
void setVibrate(const NavigatorVibration::VibrationPattern& vibrate) { m_vibrate = vibrate; } |
void setSilent(bool silent) { m_silent = silent; } |
void setSerializedData(PassRefPtr<SerializedScriptValue> data) { m_serializedData = data; } |
+ void setActions(const HeapVector<NotificationAction>& actions) { m_actions = actions; } |
void setPersistentId(int64_t persistentId) { m_persistentId = persistentId; } |
-private: |
String m_title; |
String m_dir; |
String m_lang; |
@@ -152,6 +160,7 @@ private: |
NavigatorVibration::VibrationPattern m_vibrate; |
bool m_silent; |
RefPtr<SerializedScriptValue> m_serializedData; |
+ HeapVector<NotificationAction> m_actions; |
KURL m_iconUrl; |