Home | History | Annotate | Download | only in browser
      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