Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1213)

Unified Diff: chrome/browser/extensions/api/system_indicator/system_indicator_manager.cc

Issue 2705193004: linked_ptr->unique_ptr in system_indicator_manager.cc/h (Closed)
Patch Set: Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/extensions/api/system_indicator/system_indicator_manager.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/extensions/api/system_indicator/system_indicator_manager.cc
diff --git a/chrome/browser/extensions/api/system_indicator/system_indicator_manager.cc b/chrome/browser/extensions/api/system_indicator/system_indicator_manager.cc
index 11caece66e9beb7f4ac0716eb7d7e68008bb66d6..1f445043c1d017f2cee99081d32adaadcb14c116 100644
--- a/chrome/browser/extensions/api/system_indicator/system_indicator_manager.cc
+++ b/chrome/browser/extensions/api/system_indicator/system_indicator_manager.cc
@@ -6,7 +6,6 @@
#include <utility>
-#include "base/memory/linked_ptr.h"
#include "base/strings/utf_string_conversions.h"
#include "chrome/browser/extensions/extension_action.h"
#include "chrome/browser/profiles/profile.h"
@@ -31,10 +30,11 @@ namespace system_indicator = api::system_indicator;
class ExtensionIndicatorIcon : public StatusIconObserver,
public ExtensionActionIconFactory::Observer {
public:
- static ExtensionIndicatorIcon* Create(const Extension* extension,
- ExtensionAction* action,
- Profile* profile,
- StatusTray* status_tray);
+ static std::unique_ptr<ExtensionIndicatorIcon> Create(
+ const Extension* extension,
+ ExtensionAction* action,
+ Profile* profile,
+ StatusTray* status_tray);
~ExtensionIndicatorIcon() override;
// StatusIconObserver implementation.
@@ -56,7 +56,7 @@ class ExtensionIndicatorIcon : public StatusIconObserver,
ExtensionActionIconFactory icon_factory_;
};
-ExtensionIndicatorIcon* ExtensionIndicatorIcon::Create(
+std::unique_ptr<ExtensionIndicatorIcon> ExtensionIndicatorIcon::Create(
const Extension* extension,
ExtensionAction* action,
Profile* profile,
@@ -66,10 +66,10 @@ ExtensionIndicatorIcon* ExtensionIndicatorIcon::Create(
// Check if a status icon was successfully created.
if (extension_icon->icon_)
- return extension_icon.release();
+ return extension_icon;
// We could not create a status icon.
- return NULL;
+ return std::unique_ptr<ExtensionIndicatorIcon>();
}
ExtensionIndicatorIcon::~ExtensionIndicatorIcon() {
@@ -183,10 +183,11 @@ void SystemIndicatorManager::CreateOrUpdateIndicator(
return;
}
- ExtensionIndicatorIcon* extension_icon = ExtensionIndicatorIcon::Create(
- extension, extension_action, profile_, status_tray_);
+ std::unique_ptr<ExtensionIndicatorIcon> extension_icon =
+ ExtensionIndicatorIcon::Create(extension, extension_action, profile_,
+ status_tray_);
if (extension_icon)
- system_indicators_[extension->id()] = make_linked_ptr(extension_icon);
+ system_indicators_[extension->id()] = std::move(extension_icon);
}
void SystemIndicatorManager::RemoveIndicator(const std::string& extension_id) {
« no previous file with comments | « chrome/browser/extensions/api/system_indicator/system_indicator_manager.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698