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

Side by Side Diff: ui/arc/notification/arc_custom_notification_view.cc

Issue 2269143004: arc: Update notification close button image (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 3 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 unified diff | Download patch
« no previous file with comments | « no previous file | ui/resources/default_100_percent/common/arc_notification_close.png » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "ui/arc/notification/arc_custom_notification_view.h" 5 #include "ui/arc/notification/arc_custom_notification_view.h"
6 6
7 #include "components/exo/notification_surface.h" 7 #include "components/exo/notification_surface.h"
8 #include "components/exo/surface.h" 8 #include "components/exo/surface.h"
9 #include "third_party/skia/include/core/SkColor.h" 9 #include "third_party/skia/include/core/SkColor.h"
10 #include "ui/base/l10n/l10n_util.h" 10 #include "ui/base/l10n/l10n_util.h"
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
118 ArcCustomNotificationView::~ArcCustomNotificationView() { 118 ArcCustomNotificationView::~ArcCustomNotificationView() {
119 SetSurface(nullptr); 119 SetSurface(nullptr);
120 if (item_) 120 if (item_)
121 item_->RemoveObserver(this); 121 item_->RemoveObserver(this);
122 } 122 }
123 123
124 void ArcCustomNotificationView::CreateFloatingCloseButton() { 124 void ArcCustomNotificationView::CreateFloatingCloseButton() {
125 floating_close_button_ = new views::ImageButton(this); 125 floating_close_button_ = new views::ImageButton(this);
126 floating_close_button_->set_background( 126 floating_close_button_->set_background(
127 views::Background::CreateSolidBackground(SK_ColorTRANSPARENT)); 127 views::Background::CreateSolidBackground(SK_ColorTRANSPARENT));
128 floating_close_button_->SetBorder( 128
129 views::Border::CreateEmptyBorder(5, 5, 5, 5)); 129 constexpr int kPaddingFromBorder = 4;
130 constexpr int kImageSize = 16;
131 constexpr int kTouchExtendedPadding =
yoshiki 2016/08/24 09:24:32 nit: could you mention about units in comment? I a
xiyuan 2016/08/24 15:26:50 Done.
132 message_center::kControlButtonSize - kImageSize - kPaddingFromBorder;
133 floating_close_button_->SetBorder(views::Border::CreateEmptyBorder(
134 kPaddingFromBorder, kTouchExtendedPadding, kTouchExtendedPadding,
135 kPaddingFromBorder));
130 136
131 ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance(); 137 ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance();
132 floating_close_button_->SetImage( 138 floating_close_button_->SetImage(
133 views::CustomButton::STATE_NORMAL, 139 views::CustomButton::STATE_NORMAL,
134 rb.GetImageSkiaNamed(IDR_NOTIFICATION_CLOSE)); 140 rb.GetImageSkiaNamed(IDR_ARC_NOTIFICATION_CLOSE));
135 floating_close_button_->SetImage(
136 views::CustomButton::STATE_HOVERED,
137 rb.GetImageSkiaNamed(IDR_NOTIFICATION_CLOSE_HOVER));
138 floating_close_button_->SetImage(
139 views::CustomButton::STATE_PRESSED,
140 rb.GetImageSkiaNamed(IDR_NOTIFICATION_CLOSE_PRESSED));
141 floating_close_button_->set_animate_on_state_change(false); 141 floating_close_button_->set_animate_on_state_change(false);
142 floating_close_button_->SetAccessibleName(l10n_util::GetStringUTF16( 142 floating_close_button_->SetAccessibleName(l10n_util::GetStringUTF16(
143 IDS_MESSAGE_CENTER_CLOSE_NOTIFICATION_BUTTON_ACCESSIBLE_NAME)); 143 IDS_MESSAGE_CENTER_CLOSE_NOTIFICATION_BUTTON_ACCESSIBLE_NAME));
144 144
145 views::Widget::InitParams params(views::Widget::InitParams::TYPE_CONTROL); 145 views::Widget::InitParams params(views::Widget::InitParams::TYPE_CONTROL);
146 params.opacity = views::Widget::InitParams::TRANSLUCENT_WINDOW; 146 params.opacity = views::Widget::InitParams::TRANSLUCENT_WINDOW;
147 params.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET; 147 params.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET;
148 params.parent = surface_->window(); 148 params.parent = surface_->window();
149 149
150 floating_close_button_widget_.reset(new views::Widget); 150 floating_close_button_widget_.reset(new views::Widget);
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
250 gfx::Rect close_button_bounds(floating_close_button_->GetPreferredSize()); 250 gfx::Rect close_button_bounds(floating_close_button_->GetPreferredSize());
251 close_button_bounds.set_x(surface_local_bounds.right() - 251 close_button_bounds.set_x(surface_local_bounds.right() -
252 close_button_bounds.width()); 252 close_button_bounds.width());
253 close_button_bounds.set_y(surface_local_bounds.y()); 253 close_button_bounds.set_y(surface_local_bounds.y());
254 floating_close_button_widget_->SetBounds(close_button_bounds); 254 floating_close_button_widget_->SetBounds(close_button_bounds);
255 255
256 UpdateCloseButtonVisiblity(); 256 UpdateCloseButtonVisiblity();
257 } 257 }
258 258
259 void ArcCustomNotificationView::OnKeyEvent(ui::KeyEvent* event) { 259 void ArcCustomNotificationView::OnKeyEvent(ui::KeyEvent* event) {
260 // Do not handle event targeted to the floating close button.
261 if (floating_close_button_widget_ && event->target() &&
262 floating_close_button_widget_->GetNativeWindow() == event->target()) {
263 return;
264 }
265
260 // Forward to parent CustomNotificationView to handle keyboard dismissal. 266 // Forward to parent CustomNotificationView to handle keyboard dismissal.
261 parent()->OnKeyEvent(event); 267 parent()->OnKeyEvent(event);
262 } 268 }
263 269
264 void ArcCustomNotificationView::OnGestureEvent(ui::GestureEvent* event) { 270 void ArcCustomNotificationView::OnGestureEvent(ui::GestureEvent* event) {
271 // Do not handle event targeted to the floating close button.
272 if (floating_close_button_widget_ && event->target() &&
273 floating_close_button_widget_->GetNativeWindow() == event->target()) {
274 return;
275 }
276
265 // Forward to parent CustomNotificationView to handle sliding out. 277 // Forward to parent CustomNotificationView to handle sliding out.
266 parent()->OnGestureEvent(event); 278 parent()->OnGestureEvent(event);
267 slide_helper_->Update(); 279 slide_helper_->Update();
268 } 280 }
269 281
270 void ArcCustomNotificationView::OnMouseEntered(const ui::MouseEvent&) { 282 void ArcCustomNotificationView::OnMouseEntered(const ui::MouseEvent&) {
271 UpdateCloseButtonVisiblity(); 283 UpdateCloseButtonVisiblity();
272 } 284 }
273 285
274 void ArcCustomNotificationView::OnMouseExited(const ui::MouseEvent&) { 286 void ArcCustomNotificationView::OnMouseExited(const ui::MouseEvent&) {
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
308 } else if (!item_->pinned() && !floating_close_button_widget_) { 320 } else if (!item_->pinned() && !floating_close_button_widget_) {
309 CreateFloatingCloseButton(); 321 CreateFloatingCloseButton();
310 } 322 }
311 } 323 }
312 324
313 void ArcCustomNotificationView::OnItemNotificationSurfaceRemoved() { 325 void ArcCustomNotificationView::OnItemNotificationSurfaceRemoved() {
314 SetSurface(nullptr); 326 SetSurface(nullptr);
315 } 327 }
316 328
317 } // namespace arc 329 } // namespace arc
OLDNEW
« no previous file with comments | « no previous file | ui/resources/default_100_percent/common/arc_notification_close.png » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698