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

Side by Side Diff: ui/message_center/views/message_popup_collection.cc

Issue 1979583003: Support notifications with custom content (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@messageview-close-button
Patch Set: fix mac build, attempt 2 Created 4 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 unified diff | Download patch
« no previous file with comments | « ui/message_center/views/message_center_view.cc ('k') | ui/message_center/views/message_view.h » ('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 (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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/message_center/views/message_popup_collection.h" 5 #include "ui/message_center/views/message_popup_collection.h"
6 6
7 #include <set> 7 #include <set>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/i18n/rtl.h" 10 #include "base/i18n/rtl.h"
11 #include "base/logging.h" 11 #include "base/logging.h"
12 #include "base/memory/weak_ptr.h" 12 #include "base/memory/weak_ptr.h"
13 #include "base/run_loop.h" 13 #include "base/run_loop.h"
14 #include "base/time/time.h" 14 #include "base/time/time.h"
15 #include "base/timer/timer.h" 15 #include "base/timer/timer.h"
16 #include "ui/accessibility/ax_enums.h" 16 #include "ui/accessibility/ax_enums.h"
17 #include "ui/gfx/animation/animation_delegate.h" 17 #include "ui/gfx/animation/animation_delegate.h"
18 #include "ui/gfx/animation/slide_animation.h" 18 #include "ui/gfx/animation/slide_animation.h"
19 #include "ui/message_center/message_center.h" 19 #include "ui/message_center/message_center.h"
20 #include "ui/message_center/message_center_style.h" 20 #include "ui/message_center/message_center_style.h"
21 #include "ui/message_center/message_center_tray.h" 21 #include "ui/message_center/message_center_tray.h"
22 #include "ui/message_center/notification.h" 22 #include "ui/message_center/notification.h"
23 #include "ui/message_center/notification_list.h" 23 #include "ui/message_center/notification_list.h"
24 #include "ui/message_center/views/message_view.h"
24 #include "ui/message_center/views/message_view_context_menu_controller.h" 25 #include "ui/message_center/views/message_view_context_menu_controller.h"
25 #include "ui/message_center/views/notification_view.h" 26 #include "ui/message_center/views/message_view_factory.h"
26 #include "ui/message_center/views/popup_alignment_delegate.h" 27 #include "ui/message_center/views/popup_alignment_delegate.h"
27 #include "ui/message_center/views/toast_contents_view.h" 28 #include "ui/message_center/views/toast_contents_view.h"
28 #include "ui/views/background.h" 29 #include "ui/views/background.h"
29 #include "ui/views/layout/fill_layout.h" 30 #include "ui/views/layout/fill_layout.h"
30 #include "ui/views/view.h" 31 #include "ui/views/view.h"
31 #include "ui/views/views_delegate.h" 32 #include "ui/views/views_delegate.h"
32 #include "ui/views/widget/widget.h" 33 #include "ui/views/widget/widget.h"
33 #include "ui/views/widget/widget_delegate.h" 34 #include "ui/views/widget/widget_delegate.h"
34 35
35 namespace message_center { 36 namespace message_center {
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
157 continue; 158 continue;
158 159
159 MessageView* view; 160 MessageView* view;
160 // Create top-level notification. 161 // Create top-level notification.
161 #if defined(OS_CHROMEOS) 162 #if defined(OS_CHROMEOS)
162 if ((*iter)->pinned()) { 163 if ((*iter)->pinned()) {
163 Notification notification = *(*iter); 164 Notification notification = *(*iter);
164 // Override pinned status, since toasts should be closable even when it's 165 // Override pinned status, since toasts should be closable even when it's
165 // pinned. 166 // pinned.
166 notification.set_pinned(false); 167 notification.set_pinned(false);
167 view = NotificationView::Create(NULL, notification, true); 168 view = MessageViewFactory::Create(NULL, notification, true);
168 } else 169 } else
169 #endif // defined(OS_CHROMEOS) 170 #endif // defined(OS_CHROMEOS)
170 { 171 {
171 view = NotificationView::Create(NULL, *(*iter), true); 172 view = MessageViewFactory::Create(NULL, *(*iter), true);
172 } 173 }
173 174
174 view->set_context_menu_controller(context_menu_controller_.get()); 175 view->set_context_menu_controller(context_menu_controller_.get());
175 int view_height = ToastContentsView::GetToastSizeForView(view).height(); 176 int view_height = ToastContentsView::GetToastSizeForView(view).height();
176 int height_available = 177 int height_available =
177 top_down ? alignment_delegate_->GetWorkAreaBottom() - base : base; 178 top_down ? alignment_delegate_->GetWorkAreaBottom() - base : base;
178 179
179 if (height_available - view_height - kToastMarginY < 0) { 180 if (height_available - view_height - kToastMarginY < 0) {
180 delete view; 181 delete view;
181 break; 182 break;
(...skipping 355 matching lines...) Expand 10 before | Expand all | Expand 10 after
537 views::Widget* widget = (*iter)->GetWidget(); 538 views::Widget* widget = (*iter)->GetWidget();
538 if (widget) 539 if (widget)
539 return widget->GetWindowBoundsInScreen(); 540 return widget->GetWindowBoundsInScreen();
540 break; 541 break;
541 } 542 }
542 } 543 }
543 return gfx::Rect(); 544 return gfx::Rect();
544 } 545 }
545 546
546 } // namespace message_center 547 } // namespace message_center
OLDNEW
« no previous file with comments | « ui/message_center/views/message_center_view.cc ('k') | ui/message_center/views/message_view.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698