// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef CHROME_BROWSER_DESKTOP_NOTIFICATION_HANDLER_H_ #define CHROME_BROWSER_DESKTOP_NOTIFICATION_HANDLER_H_ #pragma once #include "content/browser/renderer_host/render_view_host_observer.h" class GURL; struct DesktopNotificationHostMsg_Show_Params; // Per-tab Desktop notification handler. Handles desktop notification IPCs // coming in from the renderer. class DesktopNotificationHandler : public RenderViewHostObserver { public: explicit DesktopNotificationHandler(RenderViewHost* render_view_host); virtual ~DesktopNotificationHandler(); private: // RenderViewHostObserver implementation. virtual bool OnMessageReceived(const IPC::Message& message); // IPC handlers. void OnShow(const DesktopNotificationHostMsg_Show_Params& params); void OnCancel(int notification_id); void OnRequestPermission(const GURL& origin, int callback_id); private: DISALLOW_COPY_AND_ASSIGN(DesktopNotificationHandler); }; #endif // CHROME_BROWSER_DESKTOP_NOTIFICATION_HANDLER_H_