Chromium Code Reviews| 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..5363e6d405d4082dd16718ef0be735e5623fbd66 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. |
| +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; |
| + gfx::Point cursor_pos( |
| + gfx::Screen::GetNativeScreen()->GetCursorScreenPoint()); |
|
Andrew T Wilson (Slow)
2013/06/20 21:08:59
Do we really need to move the cursor_pos stuff up
dewittj
2013/06/21 20:35:15
Done.
|
| + |
| + // 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; |
| - } |
| - } |
| + win_icon->HandleClickEvent(cursor_pos, lparam == WM_LBUTTONDOWN); |
| return TRUE; |
| } |
| } |