• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #ifndef CHROME_BROWSER_DESKTOP_NOTIFICATION_HANDLER_H_
6 #define CHROME_BROWSER_DESKTOP_NOTIFICATION_HANDLER_H_
7 #pragma once
8 
9 #include "content/browser/renderer_host/render_view_host_observer.h"
10 
11 class GURL;
12 struct DesktopNotificationHostMsg_Show_Params;
13 
14 // Per-tab Desktop notification handler. Handles desktop notification IPCs
15 // coming in from the renderer.
16 class DesktopNotificationHandler : public RenderViewHostObserver {
17  public:
18   explicit DesktopNotificationHandler(RenderViewHost* render_view_host);
19   virtual ~DesktopNotificationHandler();
20 
21  private:
22   // RenderViewHostObserver implementation.
23   virtual bool OnMessageReceived(const IPC::Message& message);
24 
25   // IPC handlers.
26   void OnShow(const DesktopNotificationHostMsg_Show_Params& params);
27   void OnCancel(int notification_id);
28   void OnRequestPermission(const GURL& origin, int callback_id);
29 
30  private:
31   DISALLOW_COPY_AND_ASSIGN(DesktopNotificationHandler);
32 };
33 
34 #endif  // CHROME_BROWSER_DESKTOP_NOTIFICATION_HANDLER_H_
35 
36