summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
authortfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-10-03 15:51:02 +0000
committertfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-10-03 15:51:02 +0000
commit7f1f176af553d28ce1afff83bdb3c9629663a59e (patch)
tree0015da408df7f373ea31a96b8ab47b53c5524116 /chrome
parente76cc53b875446d2cd2d1454d838b35fc9680f6f (diff)
downloadchromium_src-7f1f176af553d28ce1afff83bdb3c9629663a59e.zip
chromium_src-7f1f176af553d28ce1afff83bdb3c9629663a59e.tar.gz
chromium_src-7f1f176af553d28ce1afff83bdb3c9629663a59e.tar.bz2
status_icons: Update StatusTray/StatusIcon to use ImageSkia.
StatusTray/StatusIcon (in chrome/browser/status_icons) needs to use ImageSkia instead of SkBitmap. Note: These are not used on mac or chromeos (these are different from the ash status-tray stuff). BUG=143104 R=pkotwicz@chromium.org,atwilson@chromium.org TBR=sky@chromium.org Review URL: https://codereview.chromium.org/11032024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@159902 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r--chrome/browser/background/background_mode_manager.cc4
-rw-r--r--chrome/browser/media/media_stream_capture_indicator.cc12
-rw-r--r--chrome/browser/speech/speech_recognition_tray_icon_controller.cc6
-rw-r--r--chrome/browser/status_icons/desktop_notification_balloon.cc4
-rw-r--r--chrome/browser/status_icons/desktop_notification_balloon.h7
-rw-r--r--chrome/browser/status_icons/status_icon.h10
-rw-r--r--chrome/browser/status_icons/status_icon_unittest.cc6
-rw-r--r--chrome/browser/status_icons/status_tray_unittest.cc6
-rw-r--r--chrome/browser/ui/cocoa/status_icons/status_icon_mac.h7
-rw-r--r--chrome/browser/ui/cocoa/status_icons/status_icon_mac.mm23
-rw-r--r--chrome/browser/ui/cocoa/status_icons/status_icon_mac_unittest.mm9
-rw-r--r--chrome/browser/ui/gtk/status_icons/status_icon_gtk.cc9
-rw-r--r--chrome/browser/ui/gtk/status_icons/status_icon_gtk.h7
-rw-r--r--chrome/browser/ui/gtk/status_icons/status_tray_gtk_unittest.cc8
-rw-r--r--chrome/browser/ui/views/status_icons/status_icon_win.cc18
-rw-r--r--chrome/browser/ui/views/status_icons/status_icon_win.h12
-rw-r--r--chrome/browser/ui/views/status_icons/status_tray_win_unittest.cc8
17 files changed, 79 insertions, 77 deletions
diff --git a/chrome/browser/background/background_mode_manager.cc b/chrome/browser/background/background_mode_manager.cc
index df269ea..4fd087c 100644
--- a/chrome/browser/background/background_mode_manager.cc
+++ b/chrome/browser/background/background_mode_manager.cc
@@ -666,9 +666,9 @@ void BackgroundModeManager::CreateStatusTrayIcon() {
// Set the image and add ourselves as a click observer on it.
// TODO(rlp): Status tray icon should have submenus for each profile.
- gfx::ImageSkia* image_skia = ResourceBundle::GetSharedInstance().
+ gfx::ImageSkia* image_skia = ui::ResourceBundle::GetSharedInstance().
GetImageSkiaNamed(IDR_STATUS_TRAY_ICON);
- status_icon_->SetImage(*image_skia->bitmap());
+ status_icon_->SetImage(*image_skia);
status_icon_->SetToolTip(l10n_util::GetStringUTF16(IDS_PRODUCT_NAME));
UpdateStatusTrayIconContextMenu();
}
diff --git a/chrome/browser/media/media_stream_capture_indicator.cc b/chrome/browser/media/media_stream_capture_indicator.cc
index 0232806..b5a7bac 100644
--- a/chrome/browser/media/media_stream_capture_indicator.cc
+++ b/chrome/browser/media/media_stream_capture_indicator.cc
@@ -287,7 +287,7 @@ void MediaStreamCaptureIndicator::ShowBalloon(
string16 title = l10n_util::GetStringUTF16(IDS_PRODUCT_NAME);
string16 body = l10n_util::GetStringFUTF16(message_id,
GetSecurityOrigin(render_process_id, render_view_id));
- status_icon_->DisplayBalloon(*balloon_image_->bitmap(), title, body);
+ status_icon_->DisplayBalloon(*balloon_image_, title, body);
}
void MediaStreamCaptureIndicator::OnImageLoaded(
@@ -299,9 +299,9 @@ void MediaStreamCaptureIndicator::OnImageLoaded(
pending_messages_.erase(index);
const gfx::ImageSkia* image_skia = !image.IsEmpty() ? image.ToImageSkia() :
- ResourceBundle::GetSharedInstance().GetImageSkiaNamed(
+ ui::ResourceBundle::GetSharedInstance().GetImageSkiaNamed(
IDR_APP_DEFAULT_ICON);
- status_icon_->DisplayBalloon(*image_skia->bitmap(), string16(), message);
+ status_icon_->DisplayBalloon(*image_skia, string16(), message);
}
void MediaStreamCaptureIndicator::Hide() {
@@ -375,13 +375,13 @@ void MediaStreamCaptureIndicator::UpdateStatusTrayIconDisplay(
int message_id = 0;
if (audio && video) {
message_id = IDS_MEDIA_STREAM_STATUS_TRAY_TEXT_AUDIO_AND_VIDEO;
- status_icon_->SetImage(*camera_image_->bitmap());
+ status_icon_->SetImage(*camera_image_);
} else if (audio && !video) {
message_id = IDS_MEDIA_STREAM_STATUS_TRAY_TEXT_AUDIO_ONLY;
- status_icon_->SetImage(*mic_image_->bitmap());
+ status_icon_->SetImage(*mic_image_);
} else if (!audio && video) {
message_id = IDS_MEDIA_STREAM_STATUS_TRAY_TEXT_VIDEO_ONLY;
- status_icon_->SetImage(*camera_image_->bitmap());
+ status_icon_->SetImage(*camera_image_);
}
status_icon_->SetToolTip(l10n_util::GetStringFUTF16(
diff --git a/chrome/browser/speech/speech_recognition_tray_icon_controller.cc b/chrome/browser/speech/speech_recognition_tray_icon_controller.cc
index 0829ce5..26f978a 100644
--- a/chrome/browser/speech/speech_recognition_tray_icon_controller.cc
+++ b/chrome/browser/speech/speech_recognition_tray_icon_controller.cc
@@ -190,9 +190,7 @@ void SpeechRecognitionTrayIconController::ShowNotificationBalloon(
string16 title = l10n_util::GetStringUTF16(
IDS_SPEECH_INPUT_TRAY_BALLOON_TITLE);
string16 message = l10n_util::GetStringFUTF16(
- IDS_SPEECH_INPUT_TRAY_BALLOON_BODY,
- text);
+ IDS_SPEECH_INPUT_TRAY_BALLOON_BODY, text);
- tray_icon_->DisplayBalloon(*g_images.Get().balloon_icon()->bitmap(), title,
- message);
+ tray_icon_->DisplayBalloon(*g_images.Get().balloon_icon(), title, message);
}
diff --git a/chrome/browser/status_icons/desktop_notification_balloon.cc b/chrome/browser/status_icons/desktop_notification_balloon.cc
index 8619c9a..0b1501b 100644
--- a/chrome/browser/status_icons/desktop_notification_balloon.cc
+++ b/chrome/browser/status_icons/desktop_notification_balloon.cc
@@ -71,7 +71,7 @@ DesktopNotificationBalloon::~DesktopNotificationBalloon() {
CloseBalloon(notification_id_);
}
-void DesktopNotificationBalloon::DisplayBalloon(const SkBitmap& icon,
+void DesktopNotificationBalloon::DisplayBalloon(const gfx::ImageSkia& icon,
const string16& title,
const string16& contents) {
// Allowing IO access is required here to cover the corner case where
@@ -83,6 +83,6 @@ void DesktopNotificationBalloon::DisplayBalloon(const SkBitmap& icon,
profile = ProfileManager::GetLastUsedProfile();
}
notification_id_ = DesktopNotificationService::AddIconNotification(
- GURL(), title, contents, gfx::ImageSkia(icon), string16(),
+ GURL(), title, contents, icon, string16(),
new DummyNotificationDelegate(base::IntToString(id_count_++)), profile);
}
diff --git a/chrome/browser/status_icons/desktop_notification_balloon.h b/chrome/browser/status_icons/desktop_notification_balloon.h
index 475857e3..7ce9712 100644
--- a/chrome/browser/status_icons/desktop_notification_balloon.h
+++ b/chrome/browser/status_icons/desktop_notification_balloon.h
@@ -10,7 +10,10 @@
#include "base/string16.h"
class Notification;
-class SkBitmap;
+
+namespace gfx {
+class ImageSkia;
+}
// Provides the notification balloon functionality by using desktop
// notifications to platforms that don't have a specific native API.
@@ -19,7 +22,7 @@ class DesktopNotificationBalloon {
DesktopNotificationBalloon();
virtual ~DesktopNotificationBalloon();
- void DisplayBalloon(const SkBitmap& icon,
+ void DisplayBalloon(const gfx::ImageSkia& icon,
const string16& title,
const string16& contents);
diff --git a/chrome/browser/status_icons/status_icon.h b/chrome/browser/status_icons/status_icon.h
index 6463f94..9cd02d7 100644
--- a/chrome/browser/status_icons/status_icon.h
+++ b/chrome/browser/status_icons/status_icon.h
@@ -10,7 +10,9 @@
#include "base/observer_list.h"
#include "base/string16.h"
-class SkBitmap;
+namespace gfx {
+class ImageSkia;
+}
namespace ui {
class MenuModel;
@@ -24,17 +26,17 @@ class StatusIcon {
virtual ~StatusIcon();
// Sets the image associated with this status icon.
- virtual void SetImage(const SkBitmap& image) = 0;
+ virtual void SetImage(const gfx::ImageSkia& image) = 0;
// Sets the image associated with this status icon when pressed.
- virtual void SetPressedImage(const SkBitmap& image) = 0;
+ virtual void SetPressedImage(const gfx::ImageSkia& image) = 0;
// Sets the hover text for this status icon.
virtual void SetToolTip(const string16& tool_tip) = 0;
// Displays a notification balloon with the specified contents.
// Depending on the platform it might not appear by the icon tray.
- virtual void DisplayBalloon(const SkBitmap& icon,
+ virtual void DisplayBalloon(const gfx::ImageSkia& icon,
const string16& title,
const string16& contents) = 0;
diff --git a/chrome/browser/status_icons/status_icon_unittest.cc b/chrome/browser/status_icons/status_icon_unittest.cc
index 8bb038a..8078665 100644
--- a/chrome/browser/status_icons/status_icon_unittest.cc
+++ b/chrome/browser/status_icons/status_icon_unittest.cc
@@ -18,11 +18,11 @@ class MockStatusIconObserver : public StatusIconObserver {
class TestStatusIcon : public StatusIcon {
public:
TestStatusIcon() {}
- virtual void SetImage(const SkBitmap& image) OVERRIDE {}
- virtual void SetPressedImage(const SkBitmap& image) OVERRIDE {}
+ virtual void SetImage(const gfx::ImageSkia& image) OVERRIDE {}
+ virtual void SetPressedImage(const gfx::ImageSkia& image) OVERRIDE {}
virtual void SetToolTip(const string16& tool_tip) OVERRIDE {}
virtual void UpdatePlatformContextMenu(ui::MenuModel* menu) OVERRIDE {}
- virtual void DisplayBalloon(const SkBitmap& icon,
+ virtual void DisplayBalloon(const gfx::ImageSkia& icon,
const string16& title,
const string16& contents) OVERRIDE {}
};
diff --git a/chrome/browser/status_icons/status_tray_unittest.cc b/chrome/browser/status_icons/status_tray_unittest.cc
index 3983dbe..51d38b4 100644
--- a/chrome/browser/status_icons/status_tray_unittest.cc
+++ b/chrome/browser/status_icons/status_tray_unittest.cc
@@ -13,10 +13,10 @@
using testing::Return;
class MockStatusIcon : public StatusIcon {
- virtual void SetImage(const SkBitmap& image) OVERRIDE {}
- virtual void SetPressedImage(const SkBitmap& image) OVERRIDE {}
+ virtual void SetImage(const gfx::ImageSkia& image) OVERRIDE {}
+ virtual void SetPressedImage(const gfx::ImageSkia& image) OVERRIDE {}
virtual void SetToolTip(const string16& tool_tip) OVERRIDE {}
- virtual void DisplayBalloon(const SkBitmap& icon,
+ virtual void DisplayBalloon(const gfx::ImageSkia& icon,
const string16& title,
const string16& contents) OVERRIDE {}
virtual void UpdatePlatformContextMenu(ui::MenuModel* menu) OVERRIDE {}
diff --git a/chrome/browser/ui/cocoa/status_icons/status_icon_mac.h b/chrome/browser/ui/cocoa/status_icons/status_icon_mac.h
index 106612a..ee606a2 100644
--- a/chrome/browser/ui/cocoa/status_icons/status_icon_mac.h
+++ b/chrome/browser/ui/cocoa/status_icons/status_icon_mac.h
@@ -14,7 +14,6 @@
#include "chrome/browser/status_icons/desktop_notification_balloon.h"
#include "chrome/browser/status_icons/status_icon.h"
-class SkBitmap;
@class MenuController;
@class NSStatusItem;
@class StatusItemController;
@@ -25,10 +24,10 @@ class StatusIconMac : public StatusIcon {
virtual ~StatusIconMac();
// Overridden from StatusIcon.
- virtual void SetImage(const SkBitmap& image) OVERRIDE;
- virtual void SetPressedImage(const SkBitmap& image) OVERRIDE;
+ virtual void SetImage(const gfx::ImageSkia& image) OVERRIDE;
+ virtual void SetPressedImage(const gfx::ImageSkia& image) OVERRIDE;
virtual void SetToolTip(const string16& tool_tip) OVERRIDE;
- virtual void DisplayBalloon(const SkBitmap& icon,
+ virtual void DisplayBalloon(const gfx::ImageSkia& icon,
const string16& title,
const string16& contents) OVERRIDE;
diff --git a/chrome/browser/ui/cocoa/status_icons/status_icon_mac.mm b/chrome/browser/ui/cocoa/status_icons/status_icon_mac.mm
index 30da398..a6cf5e9 100644
--- a/chrome/browser/ui/cocoa/status_icons/status_icon_mac.mm
+++ b/chrome/browser/ui/cocoa/status_icons/status_icon_mac.mm
@@ -11,6 +11,7 @@
#import "chrome/browser/ui/cocoa/menu_controller.h"
#include "skia/ext/skia_utils_mac.h"
#include "third_party/skia/include/core/SkBitmap.h"
+#include "ui/gfx/image/image_skia.h"
@interface StatusItemController : NSObject {
StatusIconMac* statusIcon_; // weak
@@ -62,19 +63,19 @@ NSStatusItem* StatusIconMac::item() {
return item_.get();
}
-void StatusIconMac::SetImage(const SkBitmap& bitmap) {
- if (!bitmap.isNull()) {
- NSImage* image = gfx::SkBitmapToNSImage(bitmap);
- if (image)
- [item() setImage:image];
+void StatusIconMac::SetImage(const gfx::ImageSkia& image) {
+ if (!image.isNull()) {
+ NSImage* ns_image = gfx::SkBitmapToNSImage(*image.bitmap());
+ if (ns_image)
+ [item() setImage:ns_image];
}
}
-void StatusIconMac::SetPressedImage(const SkBitmap& bitmap) {
- if (!bitmap.isNull()) {
- NSImage* image = gfx::SkBitmapToNSImage(bitmap);
- if (image)
- [item() setAlternateImage:image];
+void StatusIconMac::SetPressedImage(const gfx::ImageSkia& image) {
+ if (!image.isNull()) {
+ NSImage* ns_image = gfx::SkBitmapToNSImage(*image.bitmap());
+ if (ns_image)
+ [item() setAlternateImage:ns_image];
}
}
@@ -90,7 +91,7 @@ void StatusIconMac::SetToolTip(const string16& tool_tip) {
}
}
-void StatusIconMac::DisplayBalloon(const SkBitmap& icon,
+void StatusIconMac::DisplayBalloon(const gfx::ImageSkia& icon,
const string16& title,
const string16& contents) {
notification_.DisplayBalloon(icon, title, contents);
diff --git a/chrome/browser/ui/cocoa/status_icons/status_icon_mac_unittest.mm b/chrome/browser/ui/cocoa/status_icons/status_icon_mac_unittest.mm
index 3085342..b546d8a 100644
--- a/chrome/browser/ui/cocoa/status_icons/status_icon_mac_unittest.mm
+++ b/chrome/browser/ui/cocoa/status_icons/status_icon_mac_unittest.mm
@@ -21,11 +21,10 @@ class StatusIconMacTest : public CocoaTest {
TEST_F(StatusIconMacTest, Create) {
// Create an icon, set the tool tip, then shut it down (checks for leaks).
scoped_ptr<StatusIcon> icon(new StatusIconMac());
- SkBitmap* bitmap = ResourceBundle::GetSharedInstance().GetBitmapNamed(
- IDR_STATUS_TRAY_ICON);
- icon->SetImage(*bitmap);
- SkBitmap* pressed = ResourceBundle::GetSharedInstance().GetBitmapNamed(
- IDR_STATUS_TRAY_ICON_PRESSED);
+ ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance();
+ gfx::ImageSkia* image = rb.GetImageSkiaNamed(IDR_STATUS_TRAY_ICON);
+ icon->SetImage(*image);
+ gfx::ImageSkia* pressed = rb.GetImageSkiaNamed(IDR_STATUS_TRAY_ICON_PRESSED);
icon->SetPressedImage(*pressed);
icon->SetToolTip(ASCIIToUTF16("tool tip"));
}
diff --git a/chrome/browser/ui/gtk/status_icons/status_icon_gtk.cc b/chrome/browser/ui/gtk/status_icons/status_icon_gtk.cc
index df04917..cd57b1f 100644
--- a/chrome/browser/ui/gtk/status_icons/status_icon_gtk.cc
+++ b/chrome/browser/ui/gtk/status_icons/status_icon_gtk.cc
@@ -9,6 +9,7 @@
#include "chrome/browser/ui/gtk/menu_gtk.h"
#include "third_party/skia/include/core/SkBitmap.h"
#include "ui/gfx/gtk_util.h"
+#include "ui/gfx/image/image_skia.h"
StatusIconGtk::StatusIconGtk() {
icon_ = gtk_status_icon_new();
@@ -25,16 +26,16 @@ StatusIconGtk::~StatusIconGtk() {
g_object_unref(icon_);
}
-void StatusIconGtk::SetImage(const SkBitmap& image) {
+void StatusIconGtk::SetImage(const gfx::ImageSkia& image) {
if (image.isNull())
return;
- GdkPixbuf* pixbuf = gfx::GdkPixbufFromSkBitmap(image);
+ GdkPixbuf* pixbuf = gfx::GdkPixbufFromSkBitmap(*image.bitmap());
gtk_status_icon_set_from_pixbuf(icon_, pixbuf);
g_object_unref(pixbuf);
}
-void StatusIconGtk::SetPressedImage(const SkBitmap& image) {
+void StatusIconGtk::SetPressedImage(const gfx::ImageSkia& image) {
// Ignore pressed images, since the standard on Linux is to not highlight
// pressed status icons.
}
@@ -43,7 +44,7 @@ void StatusIconGtk::SetToolTip(const string16& tool_tip) {
gtk_status_icon_set_tooltip_text(icon_, UTF16ToUTF8(tool_tip).c_str());
}
-void StatusIconGtk::DisplayBalloon(const SkBitmap& icon,
+void StatusIconGtk::DisplayBalloon(const gfx::ImageSkia& icon,
const string16& title,
const string16& contents) {
notification_.DisplayBalloon(icon, title, contents);
diff --git a/chrome/browser/ui/gtk/status_icons/status_icon_gtk.h b/chrome/browser/ui/gtk/status_icons/status_icon_gtk.h
index c8cfaa2..b85edde 100644
--- a/chrome/browser/ui/gtk/status_icons/status_icon_gtk.h
+++ b/chrome/browser/ui/gtk/status_icons/status_icon_gtk.h
@@ -13,7 +13,6 @@
#include "ui/base/gtk/gtk_signal.h"
class MenuGtk;
-class SkBitmap;
class StatusIconGtk : public StatusIcon {
public:
@@ -21,10 +20,10 @@ class StatusIconGtk : public StatusIcon {
virtual ~StatusIconGtk();
// Overridden from StatusIcon:
- virtual void SetImage(const SkBitmap& image) OVERRIDE;
- virtual void SetPressedImage(const SkBitmap& image) OVERRIDE;
+ virtual void SetImage(const gfx::ImageSkia& image) OVERRIDE;
+ virtual void SetPressedImage(const gfx::ImageSkia& image) OVERRIDE;
virtual void SetToolTip(const string16& tool_tip) OVERRIDE;
- virtual void DisplayBalloon(const SkBitmap& icon,
+ virtual void DisplayBalloon(const gfx::ImageSkia& icon,
const string16& title,
const string16& contents) OVERRIDE;
diff --git a/chrome/browser/ui/gtk/status_icons/status_tray_gtk_unittest.cc b/chrome/browser/ui/gtk/status_icons/status_tray_gtk_unittest.cc
index 13b3bfe..b5a177c 100644
--- a/chrome/browser/ui/gtk/status_icons/status_tray_gtk_unittest.cc
+++ b/chrome/browser/ui/gtk/status_icons/status_tray_gtk_unittest.cc
@@ -30,10 +30,10 @@ TEST(StatusTrayGtkTest, CreateIcon) {
// Create an icon, set the images and tooltip, then shut it down.
StatusTrayGtk tray;
StatusIcon* icon = tray.CreateStatusIcon();
- SkBitmap* bitmap = ui::ResourceBundle::GetSharedInstance().GetBitmapNamed(
- IDR_STATUS_TRAY_ICON);
- icon->SetImage(*bitmap);
- icon->SetPressedImage(*bitmap);
+ ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance();
+ gfx::ImageSkia* image = rb.GetImageSkiaNamed(IDR_STATUS_TRAY_ICON);
+ icon->SetImage(*image);
+ icon->SetPressedImage(*image);
icon->SetToolTip(ASCIIToUTF16("tool tip"));
ui::SimpleMenuModel* menu = new ui::SimpleMenuModel(NULL);
menu->AddItem(0, ASCIIToUTF16("foo"));
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 2ad0983..7f0f317 100644
--- a/chrome/browser/ui/views/status_icons/status_icon_win.cc
+++ b/chrome/browser/ui/views/status_icons/status_icon_win.cc
@@ -83,19 +83,19 @@ void StatusIconWin::ResetIcon() {
LOG(WARNING) << "Unable to re-create status tray icon.";
}
-void StatusIconWin::SetImage(const SkBitmap& image) {
+void StatusIconWin::SetImage(const gfx::ImageSkia& image) {
// Create the icon.
NOTIFYICONDATA icon_data;
InitIconData(&icon_data);
icon_data.uFlags = NIF_ICON;
- icon_.Set(IconUtil::CreateHICONFromSkBitmap(image));
+ icon_.Set(IconUtil::CreateHICONFromSkBitmap(*image.bitmap()));
icon_data.hIcon = icon_.Get();
BOOL result = Shell_NotifyIcon(NIM_MODIFY, &icon_data);
if (!result)
LOG(WARNING) << "Error setting status tray icon image";
}
-void StatusIconWin::SetPressedImage(const SkBitmap& image) {
+void StatusIconWin::SetPressedImage(const gfx::ImageSkia& image) {
// Ignore pressed images, since the standard on Windows is to not highlight
// pressed status icons.
}
@@ -111,7 +111,7 @@ void StatusIconWin::SetToolTip(const string16& tool_tip) {
LOG(WARNING) << "Unable to set tooltip for status tray icon";
}
-void StatusIconWin::DisplayBalloon(const SkBitmap& icon,
+void StatusIconWin::DisplayBalloon(const gfx::ImageSkia& icon,
const string16& title,
const string16& contents) {
NOTIFYICONDATA icon_data;
@@ -123,8 +123,8 @@ void StatusIconWin::DisplayBalloon(const SkBitmap& icon,
icon_data.uTimeout = 0;
base::win::Version win_version = base::win::GetVersion();
- if (!icon.empty() && win_version != base::win::VERSION_PRE_XP) {
- balloon_icon_.Set(IconUtil::CreateHICONFromSkBitmap(icon));
+ if (!icon.isNull() && win_version != base::win::VERSION_PRE_XP) {
+ balloon_icon_.Set(IconUtil::CreateHICONFromSkBitmap(*icon.bitmap()));
if (win_version >= base::win::VERSION_VISTA) {
icon_data.hBalloonIcon = balloon_icon_.Get();
icon_data.dwInfoFlags = NIIF_USER | NIIF_LARGE_ICON;
@@ -172,11 +172,11 @@ StatusIconMetro::StatusIconMetro(UINT id)
StatusIconMetro::~StatusIconMetro() {
}
-void StatusIconMetro::SetImage(const SkBitmap& image) {
+void StatusIconMetro::SetImage(const gfx::ImageSkia& image) {
DVLOG(1) << __FUNCTION__;
}
-void StatusIconMetro::SetPressedImage(const SkBitmap& image) {
+void StatusIconMetro::SetPressedImage(const gfx::ImageSkia& image) {
DVLOG(1) << __FUNCTION__;
}
@@ -185,7 +185,7 @@ void StatusIconMetro::SetToolTip(const string16& tool_tip) {
tool_tip_ = tool_tip;
}
-void StatusIconMetro::DisplayBalloon(const SkBitmap& icon,
+void StatusIconMetro::DisplayBalloon(const gfx::ImageSkia& icon,
const string16& title,
const string16& contents) {
DVLOG(1) << __FUNCTION__;
diff --git a/chrome/browser/ui/views/status_icons/status_icon_win.h b/chrome/browser/ui/views/status_icons/status_icon_win.h
index f880341..b15a5e1 100644
--- a/chrome/browser/ui/views/status_icons/status_icon_win.h
+++ b/chrome/browser/ui/views/status_icons/status_icon_win.h
@@ -40,10 +40,10 @@ class StatusIconWin : public StatusIcon {
UINT message_id() const { return message_id_; }
// Overridden from StatusIcon:
- virtual void SetImage(const SkBitmap& image) OVERRIDE;
- virtual void SetPressedImage(const SkBitmap& image) OVERRIDE;
+ virtual void SetImage(const gfx::ImageSkia& image) OVERRIDE;
+ virtual void SetPressedImage(const gfx::ImageSkia& image) OVERRIDE;
virtual void SetToolTip(const string16& tool_tip) OVERRIDE;
- virtual void DisplayBalloon(const SkBitmap& icon,
+ virtual void DisplayBalloon(const gfx::ImageSkia& icon,
const string16& title,
const string16& contents) OVERRIDE;
@@ -86,10 +86,10 @@ class StatusIconMetro : public StatusIcon {
virtual ~StatusIconMetro();
// Overridden from StatusIcon:
- virtual void SetImage(const SkBitmap& image) OVERRIDE;
- virtual void SetPressedImage(const SkBitmap& image) OVERRIDE;
+ virtual void SetImage(const gfx::ImageSkia& image) OVERRIDE;
+ virtual void SetPressedImage(const gfx::ImageSkia& image) OVERRIDE;
virtual void SetToolTip(const string16& tool_tip) OVERRIDE;
- virtual void DisplayBalloon(const SkBitmap& icon,
+ virtual void DisplayBalloon(const gfx::ImageSkia& icon,
const string16& title,
const string16& contents) OVERRIDE;
protected:
diff --git a/chrome/browser/ui/views/status_icons/status_tray_win_unittest.cc b/chrome/browser/ui/views/status_icons/status_tray_win_unittest.cc
index 084337f..c1e0035 100644
--- a/chrome/browser/ui/views/status_icons/status_tray_win_unittest.cc
+++ b/chrome/browser/ui/views/status_icons/status_tray_win_unittest.cc
@@ -31,10 +31,10 @@ TEST(StatusTrayWinTest, CreateIconAndMenu) {
// down.
StatusTrayWin tray;
StatusIcon* icon = tray.CreateStatusIcon();
- SkBitmap* bitmap = ui::ResourceBundle::GetSharedInstance().GetBitmapNamed(
- IDR_STATUS_TRAY_ICON);
- icon->SetImage(*bitmap);
- icon->SetPressedImage(*bitmap);
+ ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance();
+ gfx::ImageSkia* image = rb.GetImageSkiaNamed(IDR_STATUS_TRAY_ICON);
+ icon->SetImage(*image);
+ icon->SetPressedImage(*image);
icon->SetToolTip(ASCIIToUTF16("tool tip"));
ui::SimpleMenuModel* menu = new ui::SimpleMenuModel(NULL);
menu->AddItem(0, L"foo");