Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3887)

Unified Diff: chrome/browser/ui/views/status_icons/status_tray_win.cc

Issue 17286015: Adds a first-run balloon to the Windows notification center. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix test failures Created 7 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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;
}
}

Powered by Google App Engine
This is Rietveld 408576698