Files
tubestation/widget/cocoa/OSXNotificationCenter.h
Kagami Sascha Rosylight 69ad046946 Bug 1930643 - Part 4: Remove icon support from OSXNotificationCenter r=nalexander
No other browser shows favicon on notifications, and even though the the latest macOS 15.3.2 passes the condition to enter the block, it does not make any actual visual change anymore.

Differential Revision: https://phabricator.services.mozilla.com/D241457
2025-03-14 18:37:56 +00:00

57 lines
1.9 KiB
Objective-C

/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#ifndef OSXNotificationCenter_h
#define OSXNotificationCenter_h
#import <Foundation/Foundation.h>
#include "nsIAlertsService.h"
#include "nsTArray.h"
#include "mozilla/RefPtr.h"
// mozNotificationCenterDelegate is used to access the macOS notification
// center. It is not related to the DesktopNotificationCenter object, which was
// removed in bug 952453. While there are no direct references to this class
// elsewhere, removing this will cause push notifications on macOS to stop
// working.
@class mozNotificationCenterDelegate;
namespace mozilla {
class OSXNotificationInfo;
class OSXNotificationCenter : public nsIAlertsService,
public nsIAlertsDoNotDisturb,
public nsIAlertNotificationImageListener {
public:
NS_DECL_ISUPPORTS
NS_DECL_NSIALERTSSERVICE
NS_DECL_NSIALERTSDONOTDISTURB
NS_DECL_NSIALERTNOTIFICATIONIMAGELISTENER
OSXNotificationCenter();
nsresult Init();
void CloseAlertCocoaString(NSString* aAlertName);
void OnActivate(NSString* aAlertName,
NSUserNotificationActivationType aActivationType,
unsigned long long aAdditionalActionIndex,
NSUserNotificationAction* aAdditionalActivationAction);
void ShowPendingNotification(OSXNotificationInfo* osxni);
protected:
virtual ~OSXNotificationCenter();
private:
mozNotificationCenterDelegate* mDelegate;
nsTArray<RefPtr<OSXNotificationInfo> > mActiveAlerts;
nsTArray<RefPtr<OSXNotificationInfo> > mPendingAlerts;
bool mSuppressForScreenSharing;
};
} // namespace mozilla
#endif // OSXNotificationCenter_h