diff options
author | johnnyg@chromium.org <johnnyg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-10-12 05:44:26 +0000 |
---|---|---|
committer | johnnyg@chromium.org <johnnyg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-10-12 05:44:26 +0000 |
commit | 4bb33630869981809c47c36c3c18813d6b005d34 (patch) | |
tree | 505252dfeac2de2d02a89d1f7e69ffcdf4affcf5 /chrome/browser/renderer_host/render_view_host.cc | |
parent | a93244407e205a8619d620ce91bafbdf88eab195 (diff) | |
download | chromium_src-4bb33630869981809c47c36c3c18813d6b005d34.zip chromium_src-4bb33630869981809c47c36c3c18813d6b005d34.tar.gz chromium_src-4bb33630869981809c47c36c3c18813d6b005d34.tar.bz2 |
Browser side support (sans UI) for desktop notifications.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/194108
Review URL: http://codereview.chromium.org/271052
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28696 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/renderer_host/render_view_host.cc')
-rw-r--r-- | chrome/browser/renderer_host/render_view_host.cc | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/chrome/browser/renderer_host/render_view_host.cc b/chrome/browser/renderer_host/render_view_host.cc index af14f52..cd9eb26 100644 --- a/chrome/browser/renderer_host/render_view_host.cc +++ b/chrome/browser/renderer_host/render_view_host.cc @@ -20,6 +20,7 @@ #include "chrome/browser/dom_operation_notification_details.h" #include "chrome/browser/extensions/extension_message_service.h" #include "chrome/browser/metrics/user_metrics.h" +#include "chrome/browser/notifications/desktop_notification_service.h" #include "chrome/browser/profile.h" #include "chrome/browser/renderer_host/render_process_host.h" #include "chrome/browser/renderer_host/render_view_host_delegate.h" @@ -833,6 +834,12 @@ void RenderViewHost::OnMessageReceived(const IPC::Message& msg) { OnQueryFormFieldAutofill) IPC_MESSAGE_HANDLER(ViewHostMsg_RemoveAutofillEntry, OnRemoveAutofillEntry) + IPC_MESSAGE_HANDLER(ViewHostMsg_ShowDesktopNotification, + OnShowDesktopNotification) + IPC_MESSAGE_HANDLER(ViewHostMsg_ShowDesktopNotificationText, + OnShowDesktopNotificationText) + IPC_MESSAGE_HANDLER(ViewHostMsg_RequestNotificationPermission, + OnRequestNotificationPermission) IPC_MESSAGE_HANDLER(ViewHostMsg_ExtensionRequest, OnExtensionRequest) IPC_MESSAGE_HANDLER(ViewHostMsg_SelectionChanged, OnMsgSelectionChanged) IPC_MESSAGE_HANDLER(ViewHostMsg_ExtensionPostMessage, @@ -1644,6 +1651,32 @@ void RenderViewHost::ForwardMessageFromExternalHost(const std::string& message, target)); } +void RenderViewHost::OnShowDesktopNotification(const GURL& source_origin, + const GURL& url, int notification_id) { + DesktopNotificationService* service = + process()->profile()->GetDesktopNotificationService(); + service->ShowDesktopNotification(source_origin, url, process()->id(), + routing_id(), DesktopNotificationService::PageNotification, + notification_id); +} + +void RenderViewHost::OnShowDesktopNotificationText(const GURL& source_origin, + const GURL& icon, const string16& title, const string16& text, + int notification_id) { + DesktopNotificationService* service = + process()->profile()->GetDesktopNotificationService(); + service->ShowDesktopNotificationText(source_origin, icon, title, text, + process()->id(), routing_id(), + DesktopNotificationService::PageNotification, notification_id); +} + +void RenderViewHost::OnRequestNotificationPermission( + const GURL& source_origin, int callback_context) { + DesktopNotificationService* service = + process()->profile()->GetDesktopNotificationService(); + service->RequestPermission(source_origin, callback_context); +} + void RenderViewHost::OnExtensionRequest(const std::string& name, const ListValue& args_holder, int request_id, |