#ifdef UNSAFE_BUFFERS_BUILD
#pragma allow_unsafe_buffers
#endif
#include "chrome/browser/enterprise/reporting/extension_request/extension_request_notification.h"
#include <memory>
#include "chrome/browser/notifications/notification_display_service.h"
#include "chrome/browser/notifications/notification_display_service_factory.h"
#include "chrome/browser/notifications/notification_handler.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/browser_navigator.h"
#include "chrome/browser/ui/browser_navigator_params.h"
#include "chrome/grit/generated_resources.h"
#include "components/vector_icons/vector_icons.h"
#include "ui/base/l10n/l10n_util.h"
#include "ui/color/color_id.h"
#include "ui/message_center/public/cpp/message_center_constants.h"
#include "ui/message_center/public/cpp/notification.h"
#include "ui/message_center/public/cpp/notification_delegate.h"
#include "ui/native_theme/native_theme.h"
namespace enterprise_reporting {
namespace {
constexpr char kApprovedNotificationId[] = …;
constexpr char kRejectedNotificationId[] = …;
constexpr char kInstalledNotificationId[] = …;
constexpr char kExtensionRequestNotifierId[] = …;
constexpr char kChromeWebstoreUrl[] = …;
const char* const kNotificationIds[] = …;
constexpr int kNotificationTitles[] = …;
constexpr int kNotificationBodies[] = …;
}
ExtensionRequestNotification::ExtensionRequestNotification(
Profile* profile,
const NotifyType notify_type,
const ExtensionIds& extension_ids)
: … { … }
ExtensionRequestNotification::~ExtensionRequestNotification() = default;
void ExtensionRequestNotification::Show(NotificationCloseCallback callback) { … }
void ExtensionRequestNotification::CloseNotification() { … }
void ExtensionRequestNotification::Click(
const std::optional<int>& button_index,
const std::optional<std::u16string>& reply) { … }
void ExtensionRequestNotification::Close(bool by_user) { … }
}