| 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) {
|
|
|