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

Unified Diff: chrome/browser/extensions/warning_badge_service.cc

Issue 2409443002: Make GlobalErrorService's ownership model slightly less insane. (Closed)
Patch Set: windows, ownership Created 4 years, 2 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
Index: chrome/browser/extensions/warning_badge_service.cc
diff --git a/chrome/browser/extensions/warning_badge_service.cc b/chrome/browser/extensions/warning_badge_service.cc
index cebe7a67f1c7e52ed98aa072528c717124fb3411..b485975be5ccb16a1022e1d177a450dafd6697df 100644
--- a/chrome/browser/extensions/warning_badge_service.cc
+++ b/chrome/browser/extensions/warning_badge_service.cc
@@ -7,6 +7,7 @@
#include <stddef.h>
#include "base/macros.h"
+#include "base/memory/ptr_util.h"
#include "base/stl_util.h"
#include "chrome/app/chrome_command_ids.h"
#include "chrome/browser/extensions/warning_badge_service_factory.h"
@@ -154,12 +155,10 @@ void WarningBadgeService::ShowBadge(bool show) {
ErrorBadge::GetMenuItemCommandID());
// Activate or hide the warning badge in case the current state is incorrect.
- if (error && !show) {
- service->RemoveGlobalError(error);
- delete error;
- } else if (!error && show) {
- service->AddGlobalError(new ErrorBadge(this));
- }
+ if (error && !show)
+ service->RemoveOwnedGlobalError(error);
+ else if (!error && show)
+ service->AddOwnedGlobalError(base::MakeUnique<ErrorBadge>(this));
}
} // namespace extensions

Powered by Google App Engine
This is Rietveld 408576698