#include "chrome/browser/notifications/notification_ui_manager_impl.h"
#include <memory>
#include <utility>
#include "base/check_op.h"
#include "build/build_config.h"
#include "chrome/browser/notifications/fullscreen_notification_blocker.h"
#include "chrome/browser/notifications/popups_only_ui_controller.h"
#include "chrome/browser/notifications/profile_notification.h"
#include "chrome/browser/notifications/screen_lock_notification_blocker.h"
#include "chrome/browser/profiles/profile.h"
#include "content/public/browser/browser_task_traits.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/web_contents.h"
#include "content/public/common/url_constants.h"
#include "extensions/browser/extension_registry.h"
#include "extensions/common/extension_set.h"
#include "extensions/common/permissions/permissions_data.h"
#include "ui/gfx/image/image_skia.h"
#include "ui/message_center/message_center.h"
#include "ui/message_center/message_center_types.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/notifier_id.h"
#include "url/origin.h"
MessageCenter;
NotifierId;
std::unique_ptr<NotificationUIManager> NotificationUIManager::Create() { … }
NotificationUIManagerImpl::NotificationUIManagerImpl()
: … { … }
NotificationUIManagerImpl::~NotificationUIManagerImpl() { … }
void NotificationUIManagerImpl::Add(
const message_center::Notification& notification,
Profile* profile) { … }
bool NotificationUIManagerImpl::Update(
const message_center::Notification& notification,
Profile* profile) { … }
const message_center::Notification* NotificationUIManagerImpl::FindById(
const std::string& id,
ProfileNotification::ProfileID profile_id) const { … }
bool NotificationUIManagerImpl::CancelById(
const std::string& id,
ProfileNotification::ProfileID profile_id) { … }
std::set<std::string> NotificationUIManagerImpl::GetAllIdsByProfile(
ProfileNotification::ProfileID profile_id) { … }
std::set<std::string> NotificationUIManagerImpl::GetAllIdsByProfileAndOrigin(
ProfileNotification::ProfileID profile_id,
const GURL& origin) { … }
bool NotificationUIManagerImpl::CancelAllBySourceOrigin(const GURL& source) { … }
void NotificationUIManagerImpl::CancelAll() { … }
void NotificationUIManagerImpl::StartShutdown() { … }
void NotificationUIManagerImpl::OnNotificationRemoved(const std::string& id,
bool by_user) { … }
void NotificationUIManagerImpl::OnProfileWillBeDestroyed(Profile* profile) { … }
void NotificationUIManagerImpl::ResetUiControllerForTest() { … }
std::string NotificationUIManagerImpl::GetMessageCenterNotificationIdForTest(
const std::string& id,
Profile* profile) { … }
void NotificationUIManagerImpl::AddProfileNotification(
std::unique_ptr<ProfileNotification> profile_notification) { … }
void NotificationUIManagerImpl::RemoveProfileNotification(
const std::string& notification_id) { … }
ProfileNotification* NotificationUIManagerImpl::FindProfileNotification(
const std::string& id) const { … }