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.
4
5#ifndef CHROME_BROWSER_STATUS_ICONS_STATUS_ICON_OBSERVER_H_
6#define CHROME_BROWSER_STATUS_ICONS_STATUS_ICON_OBSERVER_H_
7
8class StatusIconObserver {
9 public:
10  // Called when the user clicks on the system tray icon. Clicks that result
11  // in the context menu being displayed will not be passed to this observer
12  // (i.e. if there's a context menu set on this status icon, and the user
13  // right clicks on the icon to display the context menu, OnStatusIconClicked()
14  // will not be called).
15  // Note: Chrome OS displays the context menu on left button clicks.
16  // This will only be fired for this platform if no context menu is present.
17  virtual void OnStatusIconClicked() = 0;
18
19#if defined(OS_WIN)
20  // Called when the user clicks on a balloon generated for a system tray icon.
21  // TODO(dewittj): Implement on platforms other than Windows.  Currently this
22  // event will never fire on non-Windows platforms.
23  virtual void OnBalloonClicked() {}
24#endif
25
26 protected:
27  virtual ~StatusIconObserver() {}
28};
29
30#endif  // CHROME_BROWSER_STATUS_ICONS_STATUS_ICON_OBSERVER_H_
31