Index: chrome/browser/ui/views/status_icons/status_tray_win.cc |
diff --git a/chrome/browser/ui/views/status_icons/status_tray_win.cc b/chrome/browser/ui/views/status_icons/status_tray_win.cc |
index 03797c0769777f22bd7fcb3baee9ab6eaf8e72ee..0ef319793e2f0b6079880a155cb4e9134c01597b 100644 |
--- a/chrome/browser/ui/views/status_icons/status_tray_win.cc |
+++ b/chrome/browser/ui/views/status_icons/status_tray_win.cc |
@@ -12,6 +12,8 @@ |
#include "win8/util/win8_util.h" |
static const UINT kStatusIconMessage = WM_APP + 1; |
+// This message is TB_INDETERMINATE, fired when the balloon is clicked. |
Dmitry Titov
2013/06/21 20:53:40
Is there a link to msdn or some other source that
dewittj
2013/06/21 21:56:51
Instead, I found the header file and included that
|
+static const UINT kBalloonClickedMessage = WM_USER + 5; |
StatusTrayWin::StatusTrayWin() |
: next_icon_id_(1), |
@@ -68,22 +70,32 @@ LRESULT CALLBACK StatusTrayWin::WndProc(HWND hwnd, |
} |
return TRUE; |
} else if (message == kStatusIconMessage) { |
+ StatusIconWin* win_icon = NULL; |
+ |
+ // Find the selected status icon. |
+ for (StatusIcons::const_iterator i(status_icons().begin()); |
+ i != status_icons().end(); |
+ ++i) { |
+ StatusIconWin* current_win_icon = static_cast<StatusIconWin*>(*i); |
+ if (current_win_icon->icon_id() == wparam) { |
+ win_icon = current_win_icon; |
+ break; |
+ } |
+ } |
+ |
switch (lparam) { |
+ case kBalloonClickedMessage: |
+ win_icon->HandleBalloonClickEvent(); |
+ return TRUE; |
+ |
case WM_LBUTTONDOWN: |
case WM_RBUTTONDOWN: |
case WM_CONTEXTMENU: |
// Walk our icons, find which one was clicked on, and invoke its |
// HandleClickEvent() method. |
- for (StatusIcons::const_iterator i(status_icons().begin()); |
- i != status_icons().end(); ++i) { |
- StatusIconWin* win_icon = static_cast<StatusIconWin*>(*i); |
- if (win_icon->icon_id() == wparam) { |
- gfx::Point cursor_pos( |
- gfx::Screen::GetNativeScreen()->GetCursorScreenPoint()); |
- win_icon->HandleClickEvent(cursor_pos, lparam == WM_LBUTTONDOWN); |
- break; |
- } |
- } |
+ gfx::Point cursor_pos( |
+ gfx::Screen::GetNativeScreen()->GetCursorScreenPoint()); |
+ win_icon->HandleClickEvent(cursor_pos, lparam == WM_LBUTTONDOWN); |
return TRUE; |
} |
} |