refactor: NotificationPresenter::Create() returns a std::unique_ptr<> (#43806)

Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
This commit is contained in:
trop[bot] 2024-09-19 22:11:59 -05:00 committed by GitHub
parent 08579bdcd5
commit 2bc8797fed
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 14 additions and 14 deletions

View file

@ -963,9 +963,8 @@ ElectronBrowserClient::CreateDevToolsManagerDelegate() {
}
NotificationPresenter* ElectronBrowserClient::GetNotificationPresenter() {
if (!notification_presenter_) {
notification_presenter_.reset(NotificationPresenter::Create());
}
if (!notification_presenter_)
notification_presenter_ = NotificationPresenter::Create();
return notification_presenter_.get();
}

View file

@ -10,10 +10,10 @@
namespace electron {
// static
NotificationPresenter* NotificationPresenter::Create() {
if (!LibnotifyNotification::Initialize())
return nullptr;
return new NotificationPresenterLinux;
std::unique_ptr<NotificationPresenter> NotificationPresenter::Create() {
if (LibnotifyNotification::Initialize())
return std::make_unique<NotificationPresenterLinux>();
return {};
}
NotificationPresenterLinux::NotificationPresenterLinux() = default;

View file

@ -12,8 +12,8 @@
namespace electron {
// static
NotificationPresenter* NotificationPresenter::Create() {
return new NotificationPresenterMac;
std::unique_ptr<NotificationPresenter> NotificationPresenter::Create() {
return std::make_unique<NotificationPresenterMac>();
}
CocoaNotification* NotificationPresenterMac::GetNotification(

View file

@ -5,6 +5,7 @@
#ifndef ELECTRON_SHELL_BROWSER_NOTIFICATIONS_NOTIFICATION_PRESENTER_H_
#define ELECTRON_SHELL_BROWSER_NOTIFICATIONS_NOTIFICATION_PRESENTER_H_
#include <memory>
#include <set>
#include <string>
@ -17,7 +18,7 @@ class NotificationDelegate;
class NotificationPresenter {
public:
static NotificationPresenter* Create();
static std::unique_ptr<NotificationPresenter> Create();
virtual ~NotificationPresenter();

View file

@ -46,17 +46,17 @@ bool SaveIconToPath(const SkBitmap& bitmap, const base::FilePath& path) {
} // namespace
// static
NotificationPresenter* NotificationPresenter::Create() {
std::unique_ptr<NotificationPresenter> NotificationPresenter::Create() {
if (!WindowsToastNotification::Initialize())
return nullptr;
return {};
auto presenter = std::make_unique<NotificationPresenterWin>();
if (!presenter->Init())
return nullptr;
return {};
if (IsDebuggingNotifications())
LOG(INFO) << "Successfully created Windows notifications presenter";
return presenter.release();
return presenter;
}
NotificationPresenterWin::NotificationPresenterWin() = default;