Index: chrome/browser/status_icons/status_tray.cc |
diff --git a/chrome/browser/status_icons/status_tray.cc b/chrome/browser/status_icons/status_tray.cc |
index 0cfe61814aec681e60e2f9096f50b44bea72e0d1..bc68e9a25eaaae15e1424b85238c5e3c710bbf47 100644 |
--- a/chrome/browser/status_icons/status_tray.cc |
+++ b/chrome/browser/status_icons/status_tray.cc |
@@ -4,8 +4,6 @@ |
#include "chrome/browser/status_icons/status_tray.h" |
-#include <algorithm> |
- |
#include "chrome/browser/status_icons/status_icon.h" |
StatusTray::~StatusTray() { |
@@ -14,22 +12,22 @@ StatusTray::~StatusTray() { |
StatusIcon* StatusTray::CreateStatusIcon(StatusIconType type, |
const gfx::ImageSkia& image, |
const base::string16& tool_tip) { |
- StatusIcon* icon = CreatePlatformStatusIcon(type, image, tool_tip); |
- if (icon) |
- status_icons_.push_back(icon); |
- return icon; |
+ auto icon = CreatePlatformStatusIcon(type, image, tool_tip); |
+ if (!icon) |
+ return nullptr; |
+ |
+ status_icons_.push_back(std::move(icon)); |
+ return status_icons_.back().get(); |
} |
void StatusTray::RemoveStatusIcon(StatusIcon* icon) { |
- StatusIcons::iterator i( |
- std::find(status_icons_.begin(), status_icons_.end(), icon)); |
- |
- if (i == status_icons_.end()) { |
- NOTREACHED(); |
- return; |
+ for (auto iter = status_icons_.begin(); iter != status_icons_.end(); ++iter) { |
+ if (iter->get() == icon) { |
+ status_icons_.erase(iter); |
+ return; |
+ } |
} |
- |
- status_icons_.erase(i); |
+ NOTREACHED(); |
} |
StatusTray::StatusTray() { |