Index: chrome/browser/ui/views/status_icons/status_icon_linux_wrapper.cc |
diff --git a/chrome/browser/ui/views/status_icons/status_icon_linux_wrapper.cc b/chrome/browser/ui/views/status_icons/status_icon_linux_wrapper.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..4d6a6cf974a0100956ad9fc7cc34e37162073cc4 |
--- /dev/null |
+++ b/chrome/browser/ui/views/status_icons/status_icon_linux_wrapper.cc |
@@ -0,0 +1,50 @@ |
+// Copyright (c) 2013 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#include "chrome/browser/ui/views/status_icons/status_icon_linux_wrapper.h" |
+ |
+StatusIconLinuxWrapper::StatusIconLinuxWrapper(StatusIconLinux* status_icon) { |
+ status_icon_.reset(status_icon); |
+ status_icon_->set_delegate(this); |
+} |
+ |
+void StatusIconLinuxWrapper::SetImage(const gfx::ImageSkia& image) { |
+ status_icon_->SetImage(image); |
+} |
+ |
+void StatusIconLinuxWrapper::SetPressedImage(const gfx::ImageSkia& image) { |
+ status_icon_->SetPressedImage(image); |
+} |
+ |
+void StatusIconLinuxWrapper::SetToolTip(const string16& tool_tip) { |
+ status_icon_->SetToolTip(tool_tip); |
+} |
+ |
+void StatusIconLinuxWrapper::SetClickActionLabel(const string16& label) { |
+ status_icon_->SetClickActionLabel(label); |
+} |
+ |
+void StatusIconLinuxWrapper::DisplayBalloon(const gfx::ImageSkia& icon, |
+ const string16& title, |
+ const string16& contents) { |
+ notification_.DisplayBalloon(icon, title, contents); |
+} |
+ |
+void StatusIconLinuxWrapper::OnClick() { |
+ DispatchClickEvent(); |
+} |
+ |
+StatusIconLinuxWrapper* StatusIconLinuxWrapper::CreateWrappedStatusIcon() { |
+ const ui::LinuxUI* linux_ui = ui::LinuxUI::instance(); |
+ if (linux_ui) { |
+ scoped_ptr<StatusIconLinux> status_icon = linux_ui->CreateLinuxStatusIcon(); |
+ if (status_icon.get()) |
+ return new StatusIconLinuxWrapper(status_icon.release()); |
+ } |
+ return NULL; |
+} |
+ |
+void StatusIconLinuxWrapper::UpdatePlatformContextMenu(ui::MenuModel* model) { |
+ status_icon_->UpdatePlatformContextMenu(model); |
+} |