diff options
Diffstat (limited to 'WebKit/qt/WebCoreSupport/NotificationPresenterClientQt.h')
-rw-r--r-- | WebKit/qt/WebCoreSupport/NotificationPresenterClientQt.h | 34 |
1 files changed, 29 insertions, 5 deletions
diff --git a/WebKit/qt/WebCoreSupport/NotificationPresenterClientQt.h b/WebKit/qt/WebCoreSupport/NotificationPresenterClientQt.h index 5967867..c949513 100644 --- a/WebKit/qt/WebCoreSupport/NotificationPresenterClientQt.h +++ b/WebKit/qt/WebCoreSupport/NotificationPresenterClientQt.h @@ -29,20 +29,35 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +#ifndef NotificationPresenterClientQt_h +#define NotificationPresenterClientQt_h + #include "Notification.h" #include "NotificationPresenter.h" +#include <QMultiHash> #include <QSystemTrayIcon> + #if ENABLE(NOTIFICATIONS) +class QWebPage; namespace WebCore { class Document; class KURL; +struct NotificationIconWrapper { + NotificationIconWrapper(); + ~NotificationIconWrapper(); +#ifndef QT_NO_SYSTEMTRAYICON + QSystemTrayIcon* m_notificationIcon; +#endif +}; + class NotificationPresenterClientQt : public NotificationPresenter { public: - NotificationPresenterClientQt(); + NotificationPresenterClientQt(QWebPage*); + ~NotificationPresenterClientQt() {} /* WebCore::NotificationPresenter interface */ virtual bool show(Notification*); @@ -51,13 +66,22 @@ public: virtual void requestPermission(SecurityOrigin*, PassRefPtr<VoidCallback>); virtual NotificationPresenter::Permission checkPermission(const KURL&); + void allowNotificationForOrigin(const QString& origin); + void clearNotificationsList(); + static bool dumpNotification; -private: -#ifndef QT_NO_SYSTEMTRAYICON - QSystemTrayIcon m_tray; -#endif + void setReceiver(QObject* receiver) { m_receiver = receiver; } + +private: + void sendEvent(Notification*, const AtomicString& eventName); + QWebPage* m_page; + QMultiHash<QString, QList<RefPtr<VoidCallback> > > m_pendingPermissionRequests; + QHash <Notification*, NotificationIconWrapper*> m_notifications; + QObject* m_receiver; }; } #endif +#endif + |