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

Side by Side Diff: ash/system/web_notification/web_notification_tray.cc

Issue 2961313003: Touch gestures for System Tray/ IME/ Stylus/ Notifications (Closed)
Patch Set: Fixed nits. Created 3 years, 5 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 | « ash/system/web_notification/web_notification_tray.h ('k') | ui/views/bubble/tray_bubble_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) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "ash/system/web_notification/web_notification_tray.h" 5 #include "ash/system/web_notification/web_notification_tray.h"
6 6
7 #include "ash/accelerators/accelerator_controller.h" 7 #include "ash/accelerators/accelerator_controller.h"
8 #include "ash/accessibility_delegate.h" 8 #include "ash/accessibility_delegate.h"
9 #include "ash/resources/vector_icons/vector_icons.h" 9 #include "ash/resources/vector_icons/vector_icons.h"
10 #include "ash/root_window_controller.h" 10 #include "ash/root_window_controller.h"
(...skipping 287 matching lines...) Expand 10 before | Expand all | Expand 10 after
298 popup_alignment_delegate_.reset(new AshPopupAlignmentDelegate(shelf)); 298 popup_alignment_delegate_.reset(new AshPopupAlignmentDelegate(shelf));
299 popup_collection_.reset(new message_center::MessagePopupCollection( 299 popup_collection_.reset(new message_center::MessagePopupCollection(
300 message_center(), message_center_tray_.get(), 300 message_center(), message_center_tray_.get(),
301 popup_alignment_delegate_.get())); 301 popup_alignment_delegate_.get()));
302 display::Screen* screen = display::Screen::GetScreen(); 302 display::Screen* screen = display::Screen::GetScreen();
303 popup_alignment_delegate_->StartObserving( 303 popup_alignment_delegate_->StartObserving(
304 screen, screen->GetDisplayNearestWindow(status_area_window_)); 304 screen, screen->GetDisplayNearestWindow(status_area_window_));
305 OnMessageCenterTrayChanged(); 305 OnMessageCenterTrayChanged();
306 306
307 tray_container()->SetMargin(kTrayMainAxisInset, kTrayCrossAxisInset); 307 tray_container()->SetMargin(kTrayMainAxisInset, kTrayCrossAxisInset);
308
309 if (!drag_controller())
310 set_drag_controller(base::MakeUnique<TrayDragController>(shelf));
308 } 311 }
309 312
310 WebNotificationTray::~WebNotificationTray() { 313 WebNotificationTray::~WebNotificationTray() {
311 // Release any child views that might have back pointers before ~View(). 314 // Release any child views that might have back pointers before ~View().
312 message_center_bubble_.reset(); 315 message_center_bubble_.reset();
313 popup_alignment_delegate_.reset(); 316 popup_alignment_delegate_.reset();
314 popup_collection_.reset(); 317 popup_collection_.reset();
315 } 318 }
316 319
317 // static 320 // static
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
392 bool WebNotificationTray::ShouldShowMessageCenter() const { 395 bool WebNotificationTray::ShouldShowMessageCenter() const {
393 // Hidden at login screen, during supervised user creation, etc. 396 // Hidden at login screen, during supervised user creation, etc.
394 return Shell::Get()->session_controller()->ShouldShowNotificationTray(); 397 return Shell::Get()->session_controller()->ShouldShowNotificationTray();
395 } 398 }
396 399
397 bool WebNotificationTray::IsMessageCenterBubbleVisible() const { 400 bool WebNotificationTray::IsMessageCenterBubbleVisible() const {
398 return (message_center_bubble() && 401 return (message_center_bubble() &&
399 message_center_bubble()->bubble()->IsVisible()); 402 message_center_bubble()->bubble()->IsVisible());
400 } 403 }
401 404
402 void WebNotificationTray::ShowMessageCenterBubble() {
403 if (!IsMessageCenterBubbleVisible())
404 message_center_tray_->ShowMessageCenterBubble();
405 }
406
407 void WebNotificationTray::UpdateAfterLoginStatusChange( 405 void WebNotificationTray::UpdateAfterLoginStatusChange(
408 LoginStatus login_status) { 406 LoginStatus login_status) {
409 message_center()->SetLockedState(login_status == LoginStatus::LOCKED); 407 message_center()->SetLockedState(login_status == LoginStatus::LOCKED);
410 OnMessageCenterTrayChanged(); 408 OnMessageCenterTrayChanged();
411 } 409 }
412 410
413 void WebNotificationTray::UpdateAfterShelfAlignmentChange() { 411 void WebNotificationTray::UpdateAfterShelfAlignmentChange() {
414 TrayBackgroundView::UpdateAfterShelfAlignmentChange(); 412 TrayBackgroundView::UpdateAfterShelfAlignmentChange();
415 // Destroy any existing bubble so that it will be rebuilt correctly. 413 // Destroy any existing bubble so that it will be rebuilt correctly.
416 message_center_tray_->HideMessageCenterBubble(); 414 message_center_tray_->HideMessageCenterBubble();
(...skipping 14 matching lines...) Expand all
431 void WebNotificationTray::HideBubbleWithView( 429 void WebNotificationTray::HideBubbleWithView(
432 const views::TrayBubbleView* bubble_view) { 430 const views::TrayBubbleView* bubble_view) {
433 if (message_center_bubble() && 431 if (message_center_bubble() &&
434 bubble_view == message_center_bubble()->bubble_view()) { 432 bubble_view == message_center_bubble()->bubble_view()) {
435 message_center_tray_->HideMessageCenterBubble(); 433 message_center_tray_->HideMessageCenterBubble();
436 } else if (popup_collection_.get()) { 434 } else if (popup_collection_.get()) {
437 message_center_tray_->HidePopupBubble(); 435 message_center_tray_->HidePopupBubble();
438 } 436 }
439 } 437 }
440 438
441 bool WebNotificationTray::PerformAction(const ui::Event& event) {
442 if (message_center_bubble())
443 message_center_tray_->HideMessageCenterBubble();
444 else
445 message_center_tray_->ShowMessageCenterBubble();
446 return true;
447 }
448
449 void WebNotificationTray::BubbleViewDestroyed() { 439 void WebNotificationTray::BubbleViewDestroyed() {
450 if (message_center_bubble()) 440 if (message_center_bubble())
451 message_center_bubble()->bubble()->BubbleViewDestroyed(); 441 message_center_bubble()->bubble()->BubbleViewDestroyed();
452 } 442 }
453 443
454 void WebNotificationTray::OnMouseEnteredView() {} 444 void WebNotificationTray::OnMouseEnteredView() {}
455 445
456 void WebNotificationTray::OnMouseExitedView() {} 446 void WebNotificationTray::OnMouseExitedView() {}
457 447
458 void WebNotificationTray::RegisterAccelerators( 448 void WebNotificationTray::RegisterAccelerators(
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after
595 } 585 }
596 586
597 void WebNotificationTray::ClickedOutsideBubble() { 587 void WebNotificationTray::ClickedOutsideBubble() {
598 // Only hide the message center 588 // Only hide the message center
599 if (!message_center_bubble()) 589 if (!message_center_bubble())
600 return; 590 return;
601 591
602 message_center_tray_->HideMessageCenterBubble(); 592 message_center_tray_->HideMessageCenterBubble();
603 } 593 }
604 594
595 bool WebNotificationTray::PerformAction(const ui::Event& event) {
596 if (message_center_bubble())
597 message_center_tray_->HideMessageCenterBubble();
598 else
599 message_center_tray_->ShowMessageCenterBubble();
600 return true;
601 }
602
603 void WebNotificationTray::CloseBubble() {
604 message_center_tray_->HideMessageCenterBubble();
605 }
606
607 void WebNotificationTray::ShowBubble() {
608 if (!IsMessageCenterBubbleVisible())
609 message_center_tray_->ShowMessageCenterBubble();
610 }
611
612 views::TrayBubbleView* WebNotificationTray::GetBubbleView() {
613 return message_center_bubble_ ? message_center_bubble_->bubble_view()
614 : nullptr;
615 }
616
605 message_center::MessageCenter* WebNotificationTray::message_center() const { 617 message_center::MessageCenter* WebNotificationTray::message_center() const {
606 return message_center_tray_->message_center(); 618 return message_center_tray_->message_center();
607 } 619 }
608 620
609 // Methods for testing 621 // Methods for testing
610 622
611 bool WebNotificationTray::IsPopupVisible() const { 623 bool WebNotificationTray::IsPopupVisible() const {
612 return message_center_tray_->popups_visible(); 624 return message_center_tray_->popups_visible();
613 } 625 }
614 626
615 message_center::MessageCenterBubble* 627 message_center::MessageCenterBubble*
616 WebNotificationTray::GetMessageCenterBubbleForTest() { 628 WebNotificationTray::GetMessageCenterBubbleForTest() {
617 if (!message_center_bubble()) 629 if (!message_center_bubble())
618 return nullptr; 630 return nullptr;
619 return static_cast<message_center::MessageCenterBubble*>( 631 return static_cast<message_center::MessageCenterBubble*>(
620 message_center_bubble()->bubble()); 632 message_center_bubble()->bubble());
621 } 633 }
622 634
623 } // namespace ash 635 } // namespace ash
OLDNEW
« no previous file with comments | « ash/system/web_notification/web_notification_tray.h ('k') | ui/views/bubble/tray_bubble_view.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698