Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(325)

Unified Diff: ui/arc/notification/arc_custom_notification_view.cc

Issue 2845003002: Merge ArcNotificationItem and ArcCustomNotificationItem (Closed)
Patch Set: Rebased Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ui/arc/notification/arc_custom_notification_view.h ('k') | ui/arc/notification/arc_notification_delegate.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/arc/notification/arc_custom_notification_view.cc
diff --git a/ui/arc/notification/arc_custom_notification_view.cc b/ui/arc/notification/arc_custom_notification_view.cc
index d28a6dd78de72bc539ce5fdabec940f861690eb1..77a98df0275c9a97cfd1ec3afb208e57a64d11a9 100644
--- a/ui/arc/notification/arc_custom_notification_view.cc
+++ b/ui/arc/notification/arc_custom_notification_view.cc
@@ -212,7 +212,7 @@ ArcCustomNotificationView::ControlButton::ControlButton(
: message_center::PaddedButton(owner), owner_(owner) {
if (owner_->item_) {
set_background(views::Background::CreateSolidBackground(
- GetControlButtonBackgroundColor(owner_->item_->shown_contents())));
+ GetControlButtonBackgroundColor(owner_->item_->GetShownContents())));
} else {
set_background(views::Background::CreateSolidBackground(
message_center::kControlButtonBackgroundColor));
@@ -229,21 +229,23 @@ void ArcCustomNotificationView::ControlButton::OnBlur() {
owner_->UpdateControlButtonsVisibility();
}
-ArcCustomNotificationView::ArcCustomNotificationView(
- ArcCustomNotificationItem* item)
+ArcCustomNotificationView::ArcCustomNotificationView(ArcNotificationItem* item)
: item_(item),
- notification_key_(item->notification_key()),
+ notification_key_(item->GetNotificationKey()),
event_forwarder_(new EventForwarder(this)) {
SetFocusBehavior(FocusBehavior::ALWAYS);
item_->IncrementWindowRefCount();
item_->AddObserver(this);
- ArcNotificationSurfaceManager::Get()->AddObserver(this);
- exo::NotificationSurface* surface =
- ArcNotificationSurfaceManager::Get()->GetSurface(notification_key_);
- if (surface)
- OnNotificationSurfaceAdded(surface);
+ auto* surface_manager = ArcNotificationSurfaceManager::Get();
+ if (surface_manager) {
+ surface_manager->AddObserver(this);
+ exo::NotificationSurface* surface =
+ surface_manager->GetSurface(notification_key_);
+ if (surface)
+ OnNotificationSurfaceAdded(surface);
+ }
// Create a layer as an anchor to insert surface copy during a slide.
SetPaintToLayer();
@@ -252,13 +254,14 @@ ArcCustomNotificationView::ArcCustomNotificationView(
ArcCustomNotificationView::~ArcCustomNotificationView() {
SetSurface(nullptr);
+
+ auto* surface_manager = ArcNotificationSurfaceManager::Get();
+ if (surface_manager)
+ surface_manager->RemoveObserver(this);
if (item_) {
- item_->DecrementWindowRefCount();
item_->RemoveObserver(this);
+ item_->DecrementWindowRefCount();
}
-
- if (ArcNotificationSurfaceManager::Get())
- ArcNotificationSurfaceManager::Get()->RemoveObserver(this);
}
std::unique_ptr<message_center::CustomNotificationContentViewDelegate>
@@ -311,7 +314,7 @@ void ArcCustomNotificationView::MaybeCreateFloatingControlButtons() {
if (item_->IsOpeningSettingsSupported())
CreateSettingsButton();
- if (!item_->pinned())
+ if (!item_->GetPinned())
CreateCloseButton();
views::Widget::InitParams params(views::Widget::InitParams::TYPE_CONTROL);
@@ -360,9 +363,12 @@ void ArcCustomNotificationView::SetSurface(exo::NotificationSurface* surface) {
}
void ArcCustomNotificationView::UpdatePreferredSize() {
- gfx::Size preferred_size =
- surface_ ? surface_->GetSize() : item_ ? item_->snapshot().size()
- : gfx::Size();
+ gfx::Size preferred_size;
+ if (surface_)
+ preferred_size = surface_->GetSize();
+ else if (item_)
+ preferred_size = item_->GetSnapshot().size();
+
if (preferred_size.IsEmpty())
return;
@@ -409,11 +415,11 @@ void ArcCustomNotificationView::UpdatePinnedState() {
if (!item_)
return;
- if (item_->pinned() && close_button_) {
+ if (item_->GetPinned() && close_button_) {
control_buttons_view_->RemoveChildView(close_button_.get());
close_button_.reset();
Layout();
- } else if (!item_->pinned() && !close_button_) {
+ } else if (!item_->GetPinned() && !close_button_) {
CreateCloseButton();
Layout();
}
@@ -467,11 +473,11 @@ bool ArcCustomNotificationView::ShouldUpdateControlButtonsColor() const {
if (settings_button_ &&
settings_button_->background()->get_color() !=
- GetControlButtonBackgroundColor(item_->shown_contents()))
+ GetControlButtonBackgroundColor(item_->GetShownContents()))
return true;
if (close_button_ &&
close_button_->background()->get_color() !=
- GetControlButtonBackgroundColor(item_->shown_contents()))
+ GetControlButtonBackgroundColor(item_->GetShownContents()))
return true;
return false;
}
@@ -556,11 +562,11 @@ void ArcCustomNotificationView::OnPaint(gfx::Canvas* canvas) {
views::NativeViewHost::OnPaint(canvas);
// Bail if there is a |surface_| or no item or no snapshot image.
- if (surface_ || !item_ || item_->snapshot().isNull())
+ if (surface_ || !item_ || item_->GetSnapshot().isNull())
return;
const gfx::Rect contents_bounds = GetContentsBounds();
- canvas->DrawImageInt(item_->snapshot(), 0, 0, item_->snapshot().width(),
- item_->snapshot().height(), contents_bounds.x(),
+ canvas->DrawImageInt(item_->GetSnapshot(), 0, 0, item_->GetSnapshot().width(),
+ item_->GetSnapshot().height(), contents_bounds.x(),
contents_bounds.y(), contents_bounds.width(),
contents_bounds.height(), false);
}
@@ -636,7 +642,7 @@ bool ArcCustomNotificationView::HandleAccessibleAction(
void ArcCustomNotificationView::ButtonPressed(views::Button* sender,
const ui::Event& event) {
- if (item_ && !item_->pinned() && sender == close_button_.get()) {
+ if (item_ && !item_->GetPinned() && sender == close_button_.get()) {
CHECK_EQ(message_center::CustomNotificationView::kViewClassName,
parent()->GetClassName());
static_cast<message_center::CustomNotificationView*>(parent())
@@ -706,7 +712,7 @@ void ArcCustomNotificationView::AnimationProgressed(
if (item_) {
const SkColor target =
- GetControlButtonBackgroundColor(item_->shown_contents());
+ GetControlButtonBackgroundColor(item_->GetShownContents());
const SkColor start =
target == message_center::kControlButtonBackgroundColor
? SK_ColorTRANSPARENT
« no previous file with comments | « ui/arc/notification/arc_custom_notification_view.h ('k') | ui/arc/notification/arc_notification_delegate.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698