Index: chrome/browser/ui/views/status_icons/status_tray_linux.cc |
diff --git a/chrome/browser/ui/views/status_icons/status_tray_linux.cc b/chrome/browser/ui/views/status_icons/status_tray_linux.cc |
index 9fc274a2b35dd9ae290e13ac8fe182b600ba4ffd..2aa06c491b4cfc17fe0596e9f034b8680bdf4d71 100644 |
--- a/chrome/browser/ui/views/status_icons/status_tray_linux.cc |
+++ b/chrome/browser/ui/views/status_icons/status_tray_linux.cc |
@@ -2,9 +2,32 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#include "chrome/browser/status_icons/status_tray.h" |
+#include "chrome/browser/ui/views/status_icons/status_tray_linux.h" |
-// Status icons are not currently supported on linux/views or Aura. |
+#ifndef OS_CHROMEOS |
+#include "chrome/browser/ui/views/status_icons/status_icon_linux_wrapper.h" |
+#include "ui/linux_ui/linux_ui.h" |
+ |
+StatusTrayLinux::StatusTrayLinux() { |
+} |
+ |
+StatusTrayLinux::~StatusTrayLinux() { |
+} |
+ |
+StatusIcon* StatusTrayLinux::CreatePlatformStatusIcon(StatusIconType type) { |
+ return StatusIconLinuxWrapper::CreateWrappedStatusIcon(); |
+} |
+ |
+StatusTray* StatusTray::Create() { |
+ const ui::LinuxUI* linux_ui = ui::LinuxUI::instance(); |
+ |
+ // Only create a status tray if we can actually create status icons. |
+ if (linux_ui && linux_ui->IsStatusIconSupported()) |
+ return new StatusTrayLinux(); |
+ return NULL; |
+} |
+#else |
StatusTray* StatusTray::Create() { |
return NULL; |
} |
+#endif |