Index: chrome/browser/ui/views/status_icons/status_icon_win.cc |
diff --git a/chrome/browser/ui/views/status_icons/status_icon_win.cc b/chrome/browser/ui/views/status_icons/status_icon_win.cc |
index 9dd59976ad971898ee40688847855c606e36b4bf..b1785a7b1c4917f3f474d8e99ce931fbf13cb976 100644 |
--- a/chrome/browser/ui/views/status_icons/status_icon_win.cc |
+++ b/chrome/browser/ui/views/status_icons/status_icon_win.cc |
@@ -7,12 +7,20 @@ |
#include "base/strings/string_number_conversions.h" |
#include "base/win/metro.h" |
#include "base/win/windows_version.h" |
+#include "chrome/browser/ui/views/status_icons/status_tray_win.h" |
#include "third_party/skia/include/core/SkBitmap.h" |
#include "ui/gfx/icon_util.h" |
#include "ui/gfx/point.h" |
#include "ui/views/controls/menu/menu_item_view.h" |
#include "ui/views/controls/menu/menu_runner.h" |
-#include "win8/util/win8_util.h" |
+ |
+// Implements AsStatusIconWin. This is only implemented on Windows and will |
+// cause a link error if the function is declared on any other platform. |
+StatusIconWin* StatusIcon::AsStatusIconWin() { |
+ if (StatusTrayWin::DisabledForMetroMode()) |
+ return NULL; |
+ return (StatusIconWin*)this; |
+} |
//////////////////////////////////////////////////////////////////////////////// |
// StatusIconWin, public: |
@@ -22,6 +30,7 @@ StatusIconWin::StatusIconWin(UINT id, HWND window, UINT message) |
window_(window), |
message_id_(message), |
menu_model_(NULL) { |
+ DCHECK(!StatusTrayWin::DisabledForMetroMode()); |
NOTIFYICONDATA icon_data; |
InitIconData(&icon_data); |
icon_data.uFlags = NIF_MESSAGE; |
@@ -173,7 +182,7 @@ void StatusIconWin::InitIconData(NOTIFYICONDATA* icon_data) { |
StatusIconMetro::StatusIconMetro(UINT id) |
: id_(id) { |
- DCHECK(win8::IsSingleWindowMetroMode()); |
+ DCHECK(StatusTrayWin::DisabledForMetroMode()); |
} |
StatusIconMetro::~StatusIconMetro() { |