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

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

Issue 1986493002: Show message center on lock screen (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed comments Created 4 years, 6 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
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/ash_switches.h" 7 #include "ash/ash_switches.h"
8 #include "ash/root_window_controller.h" 8 #include "ash/root_window_controller.h"
9 #include "ash/shelf/shelf_layout_manager.h" 9 #include "ash/shelf/shelf_layout_manager.h"
10 #include "ash/shelf/shelf_layout_manager_observer.h" 10 #include "ash/shelf/shelf_layout_manager_observer.h"
(...skipping 284 matching lines...) Expand 10 before | Expand all | Expand 10 after
295 } 295 }
296 296
297 void WebNotificationTray::HidePopups() { 297 void WebNotificationTray::HidePopups() {
298 DCHECK(popup_collection_.get()); 298 DCHECK(popup_collection_.get());
299 popup_collection_->MarkAllPopupsShown(); 299 popup_collection_->MarkAllPopupsShown();
300 } 300 }
301 301
302 // Private methods. 302 // Private methods.
303 303
304 bool WebNotificationTray::ShouldShowMessageCenter() { 304 bool WebNotificationTray::ShouldShowMessageCenter() {
305 return status_area_widget()->login_status() != user::LOGGED_IN_LOCKED && 305 return !(status_area_widget()->system_tray() &&
306 !(status_area_widget()->system_tray() && 306 status_area_widget()->system_tray()->HasNotificationBubble());
307 status_area_widget()->system_tray()->HasNotificationBubble());
308 } 307 }
309 308
310 bool WebNotificationTray::ShouldBlockShelfAutoHide() const { 309 bool WebNotificationTray::ShouldBlockShelfAutoHide() const {
311 return should_block_shelf_auto_hide_; 310 return should_block_shelf_auto_hide_;
312 } 311 }
313 312
314 bool WebNotificationTray::IsMessageCenterBubbleVisible() const { 313 bool WebNotificationTray::IsMessageCenterBubbleVisible() const {
315 return (message_center_bubble() && 314 return (message_center_bubble() &&
316 message_center_bubble()->bubble()->IsVisible()); 315 message_center_bubble()->bubble()->IsVisible());
317 } 316 }
318 317
319 bool WebNotificationTray::IsMouseInNotificationBubble() const { 318 bool WebNotificationTray::IsMouseInNotificationBubble() const {
320 return false; 319 return false;
321 } 320 }
322 321
323 void WebNotificationTray::ShowMessageCenterBubble() { 322 void WebNotificationTray::ShowMessageCenterBubble() {
324 if (!IsMessageCenterBubbleVisible()) 323 if (!IsMessageCenterBubbleVisible())
325 message_center_tray_->ShowMessageCenterBubble(); 324 message_center_tray_->ShowMessageCenterBubble();
326 } 325 }
327 326
328 void WebNotificationTray::UpdateAfterLoginStatusChange( 327 void WebNotificationTray::UpdateAfterLoginStatusChange(
329 user::LoginStatus login_status) { 328 user::LoginStatus login_status) {
329 message_center()->SetLockedState(login_status == user::LOGGED_IN_LOCKED);
330 OnMessageCenterTrayChanged(); 330 OnMessageCenterTrayChanged();
331 } 331 }
332 332
333 void WebNotificationTray::SetShelfAlignment(wm::ShelfAlignment alignment) { 333 void WebNotificationTray::SetShelfAlignment(wm::ShelfAlignment alignment) {
334 if (alignment == shelf_alignment()) 334 if (alignment == shelf_alignment())
335 return; 335 return;
336 TrayBackgroundView::SetShelfAlignment(alignment); 336 TrayBackgroundView::SetShelfAlignment(alignment);
337 tray_container()->SetBorder(views::Border::NullBorder()); 337 tray_container()->SetBorder(views::Border::NullBorder());
338 // Destroy any existing bubble so that it will be rebuilt correctly. 338 // Destroy any existing bubble so that it will be rebuilt correctly.
339 message_center_tray_->HideMessageCenterBubble(); 339 message_center_tray_->HideMessageCenterBubble();
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
402 } 402 }
403 return ShowMessageCenterInternal(true /* show_settings */); 403 return ShowMessageCenterInternal(true /* show_settings */);
404 } 404 }
405 405
406 bool WebNotificationTray::IsContextMenuEnabled() const { 406 bool WebNotificationTray::IsContextMenuEnabled() const {
407 user::LoginStatus login_status = status_area_widget()->login_status(); 407 user::LoginStatus login_status = status_area_widget()->login_status();
408 bool userAddingRunning = ash::Shell::GetInstance() 408 bool userAddingRunning = ash::Shell::GetInstance()
409 ->session_state_delegate() 409 ->session_state_delegate()
410 ->IsInSecondaryLoginScreen(); 410 ->IsInSecondaryLoginScreen();
411 411
412 return login_status != user::LOGGED_IN_NONE 412 return login_status != user::LOGGED_IN_NONE && !userAddingRunning;
413 && login_status != user::LOGGED_IN_LOCKED && !userAddingRunning;
414 } 413 }
415 414
416 message_center::MessageCenterTray* WebNotificationTray::GetMessageCenterTray() { 415 message_center::MessageCenterTray* WebNotificationTray::GetMessageCenterTray() {
417 return message_center_tray_.get(); 416 return message_center_tray_.get();
418 } 417 }
419 418
420 bool WebNotificationTray::IsCommandIdChecked(int command_id) const { 419 bool WebNotificationTray::IsCommandIdChecked(int command_id) const {
421 if (command_id != kToggleQuietMode) 420 if (command_id != kToggleQuietMode)
422 return false; 421 return false;
423 return message_center()->IsQuietMode(); 422 return message_center()->IsQuietMode();
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
471 button_->SetUnreadCount(message_center->UnreadNotificationCount()); 470 button_->SetUnreadCount(message_center->UnreadNotificationCount());
472 if (IsMessageCenterBubbleVisible()) 471 if (IsMessageCenterBubbleVisible())
473 button_->SetState(views::CustomButton::STATE_PRESSED); 472 button_->SetState(views::CustomButton::STATE_PRESSED);
474 else 473 else
475 button_->SetState(views::CustomButton::STATE_NORMAL); 474 button_->SetState(views::CustomButton::STATE_NORMAL);
476 bool userAddingRunning = ash::Shell::GetInstance() 475 bool userAddingRunning = ash::Shell::GetInstance()
477 ->session_state_delegate() 476 ->session_state_delegate()
478 ->IsInSecondaryLoginScreen(); 477 ->IsInSecondaryLoginScreen();
479 478
480 SetVisible((status_area_widget()->login_status() != user::LOGGED_IN_NONE) && 479 SetVisible((status_area_widget()->login_status() != user::LOGGED_IN_NONE) &&
481 (status_area_widget()->login_status() != user::LOGGED_IN_LOCKED) &&
482 !userAddingRunning); 480 !userAddingRunning);
483 Layout(); 481 Layout();
484 SchedulePaint(); 482 SchedulePaint();
485 } 483 }
486 484
487 void WebNotificationTray::ClickedOutsideBubble() { 485 void WebNotificationTray::ClickedOutsideBubble() {
488 // Only hide the message center 486 // Only hide the message center
489 if (!message_center_bubble()) 487 if (!message_center_bubble())
490 return; 488 return;
491 489
(...skipping 12 matching lines...) Expand all
504 502
505 message_center::MessageCenterBubble* 503 message_center::MessageCenterBubble*
506 WebNotificationTray::GetMessageCenterBubbleForTest() { 504 WebNotificationTray::GetMessageCenterBubbleForTest() {
507 if (!message_center_bubble()) 505 if (!message_center_bubble())
508 return NULL; 506 return NULL;
509 return static_cast<message_center::MessageCenterBubble*>( 507 return static_cast<message_center::MessageCenterBubble*>(
510 message_center_bubble()->bubble()); 508 message_center_bubble()->bubble());
511 } 509 }
512 510
513 } // namespace ash 511 } // namespace ash
OLDNEW
« no previous file with comments | « no previous file | ui/message_center/fake_message_center.h » ('j') | ui/message_center/notification_list.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698