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 8 class 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