#include "ui/message_center/views/message_view.h"
#include "base/observer_list.h"
#include "base/strings/utf_string_conversions.h"
#include "build/build_config.h"
#include "build/chromeos_buildflags.h"
#include "ui/accessibility/ax_enums.mojom.h"
#include "ui/accessibility/ax_node_data.h"
#include "ui/base/l10n/l10n_util.h"
#include "ui/base/metadata/metadata_impl_macros.h"
#include "ui/color/color_id.h"
#include "ui/color/color_provider.h"
#include "ui/compositor/layer.h"
#include "ui/compositor/scoped_layer_animation_settings.h"
#include "ui/gfx/canvas.h"
#include "ui/gfx/color_palette.h"
#include "ui/gfx/geometry/rounded_corners_f.h"
#include "ui/gfx/image/image_skia_operations.h"
#include "ui/gfx/shadow_util.h"
#include "ui/gfx/shadow_value.h"
#include "ui/message_center/message_center.h"
#include "ui/message_center/public/cpp/message_center_constants.h"
#include "ui/message_center/views/notification_background_painter.h"
#include "ui/message_center/views/notification_control_buttons_view.h"
#include "ui/strings/grit/ui_strings.h"
#include "ui/views/accessibility/view_accessibility.h"
#include "ui/views/background.h"
#include "ui/views/border.h"
#include "ui/views/controls/button/image_button.h"
#include "ui/views/controls/focus_ring.h"
#include "ui/views/controls/highlight_path_generator.h"
#include "ui/views/controls/image_view.h"
#include "ui/views/controls/scroll_view.h"
#include "ui/views/focus/focus_manager.h"
#include "ui/views/widget/widget.h"
#if BUILDFLAG(IS_CHROMEOS_ASH)
#include "base/time/time.h"
#endif
namespace message_center {
namespace {
bool ShouldShowAeroShadowBorder() { … }
void InstallHighlightPathGenerator(views::View* view,
float top_radius,
float bottom_radius) { … }
}
MessageView::MessageView(const Notification& notification)
: … { … }
MessageView::~MessageView() { … }
views::View* MessageView::FindGroupNotificationView(
const std::string& notification_id) { … }
std::u16string MessageView::CreateAccessibleName(
const Notification& notification) { … }
void MessageView::UpdateWithNotification(const Notification& notification) { … }
void MessageView::SetIsNested() { … }
void MessageView::CloseSwipeControl() { … }
void MessageView::SlideOutAndClose(int direction) { … }
void MessageView::SetExpanded(bool expanded) { … }
bool MessageView::IsExpanded() const { … }
bool MessageView::IsAutoExpandingAllowed() const { … }
bool MessageView::IsManuallyExpandedOrCollapsed() const { … }
void MessageView::SetManuallyExpandedOrCollapsed(ExpandState state) { … }
void MessageView::ToggleInlineSettings(const ui::Event& event) { … }
void MessageView::ToggleSnoozeSettings(const ui::Event& event) { … }
void MessageView::UpdateCornerRadius(int top_radius, int bottom_radius) { … }
void MessageView::OnContainerAnimationStarted() { … }
void MessageView::OnContainerAnimationEnded() { … }
bool MessageView::OnMousePressed(const ui::MouseEvent& event) { … }
bool MessageView::OnMouseDragged(const ui::MouseEvent& event) { … }
void MessageView::OnMouseReleased(const ui::MouseEvent& event) { … }
void MessageView::OnMouseEntered(const ui::MouseEvent& event) { … }
void MessageView::OnMouseExited(const ui::MouseEvent& event) { … }
bool MessageView::OnKeyPressed(const ui::KeyEvent& event) { … }
bool MessageView::OnKeyReleased(const ui::KeyEvent& event) { … }
void MessageView::OnPaint(gfx::Canvas* canvas) { … }
void MessageView::OnBlur() { … }
void MessageView::OnGestureEvent(ui::GestureEvent* event) { … }
void MessageView::RemovedFromWidget() { … }
void MessageView::AddedToWidget() { … }
void MessageView::OnThemeChanged() { … }
ui::Layer* MessageView::GetSlideOutLayer() { … }
void MessageView::OnSlideStarted() { … }
void MessageView::OnSlideChanged(bool in_progress) { … }
void MessageView::AddObserver(MessageView::Observer* observer) { … }
void MessageView::RemoveObserver(MessageView::Observer* observer) { … }
void MessageView::OnSlideOut() { … }
void MessageView::OnWillChangeFocus(views::View* before, views::View* now) { … }
void MessageView::OnDidChangeFocus(views::View* before, views::View* now) { … }
views::SlideOutController::SlideMode MessageView::CalculateSlideMode() const { … }
MessageView::Mode MessageView::GetMode() const { … }
float MessageView::GetSlideAmount() const { … }
void MessageView::SetSettingMode(bool setting_mode) { … }
void MessageView::DisableNotification() { … }
void MessageView::DisableSlideForcibly(bool disable) { … }
void MessageView::SetSlideButtonWidth(int control_button_width) { … }
void MessageView::SetCornerRadius(int top_radius, int bottom_radius) { … }
void MessageView::OnCloseButtonPressed() { … }
void MessageView::OnSettingsButtonPressed(const ui::Event& event) { … }
void MessageView::OnSnoozeButtonPressed(const ui::Event& event) { … }
#if BUILDFLAG(IS_CHROMEOS_ASH)
base::TimeDelta MessageView::GetBoundsAnimationDuration(
const Notification& notification) const {
return base::Milliseconds(0);
}
#endif
bool MessageView::ShouldShowControlButtons() const { … }
bool MessageView::ShouldParentHandleSlide() const { … }
void MessageView::UpdateBackgroundPainter() { … }
void MessageView::UpdateNestedBorder() { … }
void MessageView::UpdateControlButtonsVisibility() { … }
void MessageView::UpdateControlButtonsVisibilityWithNotification(
const Notification& notification) { … }
BEGIN_METADATA(…)
}