Update mojo surfaces bindings and mojo/cc/ glue
[chromium-blink-merge.git] / chrome / browser / status_icons / desktop_notification_balloon.h
blobc27356bbafae1bbe28131fcdee69c2d603b6a740
1 // Copyright (c) 2012 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.
5 #ifndef CHROME_BROWSER_STATUS_ICONS_DESKTOP_NOTIFICATION_BALLOON_H_
6 #define CHROME_BROWSER_STATUS_ICONS_DESKTOP_NOTIFICATION_BALLOON_H_
8 #include "base/compiler_specific.h"
9 #include "base/memory/scoped_ptr.h"
10 #include "base/strings/string16.h"
12 class Notification;
14 namespace gfx {
15 class ImageSkia;
18 // Provides the notification balloon functionality by using desktop
19 // notifications to platforms that don't have a specific native API.
20 class DesktopNotificationBalloon {
21 public:
22 DesktopNotificationBalloon();
23 virtual ~DesktopNotificationBalloon();
25 void DisplayBalloon(const gfx::ImageSkia& icon,
26 const base::string16& title,
27 const base::string16& contents);
29 private:
30 std::string notification_id_;
32 // Counter to provide unique ids to notifications.
33 static int id_count_;
35 DISALLOW_COPY_AND_ASSIGN(DesktopNotificationBalloon);
38 #endif // CHROME_BROWSER_STATUS_ICONS_DESKTOP_NOTIFICATION_BALLOON_H_