New issue
Advanced search Search tips

Issue 792656 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jan 2018
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug

Blocking:
issue 784495



Sign in to add a comment

Add shelf to views-based login

Project Member Reported by jdufault@chromium.org, Dec 6 2017

Issue description

Add shelf to views-based login

The shelf is currently not displayed when chrome is started with `--session-manager --show-views-login`. LoginDisplayHostViews::SetStatusAreaVisible[1] is currently a no-op; it should enable or disable the shelf.

It's also be good to rename the method to SetShelfVisible or SetShelfAndStatusAreaVisible, since the status area is separate from the shelf.

1: https://cs.chromium.org/chromium/src/chrome/browser/chromeos/login/ui/login_display_host_views.cc?l=56&rcl=7c498e59105b72ba9986dd5d9b55e9a69e07c66d
 
If possible we should move shelf visibility logic so that the login UI code controls it (ie, the logic lives in ash/ and we essentially ignore LoginDisplayHostViews::SetStatusAreaVisible). This is part of the effort to remove chrome/ control over UI state.
Labels: -M-64 M-65
Status: Started (was: Assigned)
Project Member

Comment 4 by bugdroid1@chromium.org, Dec 20 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e195ad2b0cee3dc6ac029b40dfd6ef4b7c721e7b

commit e195ad2b0cee3dc6ac029b40dfd6ef4b7c721e7b
Author: Aga Wronska <agawronska@chromium.org>
Date: Wed Dec 20 01:38:11 2017

Add shelf to views based login.

Show shelf on views based login screen. It requires initilizing shelf
earlier when creating window.
Move control over shelf visibility into ShelfWidget, because the
visibility depends on session state and ash switches. It is no longer
possible to control it only by parent container.

This change will cause showing shelf on secondary display on login screen
when views base login is enabled. See  crbug.com/796239  for details.

This change results in showing shelf with shutdown button only. It will
be followed by update to status area and implementation of missing shelf
buttons.

Bug:  792656 
Change-Id: I1281d661d62e71b99f5c607f6c90c831eb4d2414
Reviewed-on: https://chromium-review.googlesource.com/832919
Commit-Queue: Aga Wronska <agawronska@chromium.org>
Reviewed-by: James Cook <jamescook@chromium.org>
Reviewed-by: Jacob Dufault <jdufault@chromium.org>
Cr-Commit-Position: refs/heads/master@{#525219}
[modify] https://crrev.com/e195ad2b0cee3dc6ac029b40dfd6ef4b7c721e7b/ash/root_window_controller.cc
[modify] https://crrev.com/e195ad2b0cee3dc6ac029b40dfd6ef4b7c721e7b/ash/root_window_controller.h
[modify] https://crrev.com/e195ad2b0cee3dc6ac029b40dfd6ef4b7c721e7b/ash/shelf/shelf_widget.cc
[modify] https://crrev.com/e195ad2b0cee3dc6ac029b40dfd6ef4b7c721e7b/ash/shelf/shelf_widget.h
[modify] https://crrev.com/e195ad2b0cee3dc6ac029b40dfd6ef4b7c721e7b/ash/shelf/shelf_widget_unittest.cc
[modify] https://crrev.com/e195ad2b0cee3dc6ac029b40dfd6ef4b7c721e7b/ash/shell.cc
[modify] https://crrev.com/e195ad2b0cee3dc6ac029b40dfd6ef4b7c721e7b/ash/shell.h
[modify] https://crrev.com/e195ad2b0cee3dc6ac029b40dfd6ef4b7c721e7b/ash/system/tray/tray_background_view.cc
[modify] https://crrev.com/e195ad2b0cee3dc6ac029b40dfd6ef4b7c721e7b/chrome/browser/chromeos/login/ui/webui_login_view.cc

Project Member

Comment 5 by bugdroid1@chromium.org, Jan 3 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/732b86f21764f160078064f4b50165562e644b5b

commit 732b86f21764f160078064f4b50165562e644b5b
Author: Aga Wronska <agawronska@chromium.org>
Date: Wed Jan 03 22:48:57 2018

Refactor IsUsingWebUiLock to IsUsingViewsLock to match IsUsingViewsLogin.

Update views based shelf visibility check in web UI
to include both cases lock and login.

Bug:  792656 
Change-Id: I38c2ce0bed6c7ef5545e0ccd7d18266d0c2fa97b
Reviewed-on: https://chromium-review.googlesource.com/834049
Reviewed-by: Mitsuru Oshima <oshima@chromium.org>
Reviewed-by: Jacob Dufault <jdufault@chromium.org>
Commit-Queue: Aga Wronska <agawronska@chromium.org>
Cr-Commit-Position: refs/heads/master@{#526848}
[modify] https://crrev.com/732b86f21764f160078064f4b50165562e644b5b/ash/lock_screen_action/lock_screen_action_background_controller.cc
[modify] https://crrev.com/732b86f21764f160078064f4b50165562e644b5b/ash/public/cpp/ash_switches.cc
[modify] https://crrev.com/732b86f21764f160078064f4b50165562e644b5b/ash/public/cpp/ash_switches.h
[modify] https://crrev.com/732b86f21764f160078064f4b50165562e644b5b/ash/shelf/shelf_widget.cc
[modify] https://crrev.com/732b86f21764f160078064f4b50165562e644b5b/chrome/browser/chromeos/lock_screen_apps/state_controller.cc
[modify] https://crrev.com/732b86f21764f160078064f4b50165562e644b5b/chrome/browser/chromeos/login/lock/screen_locker.cc
[modify] https://crrev.com/732b86f21764f160078064f4b50165562e644b5b/chrome/browser/chromeos/login/lock/webui_screen_locker.cc
[modify] https://crrev.com/732b86f21764f160078064f4b50165562e644b5b/chrome/browser/ui/webui/chromeos/login/oobe_ui.cc
[modify] https://crrev.com/732b86f21764f160078064f4b50165562e644b5b/ui/login/display_manager.js

Project Member

Comment 6 by bugdroid1@chromium.org, Jan 8 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4b1aa819190c166a193b0a6066834eb089044b67

commit 4b1aa819190c166a193b0a6066834eb089044b67
Author: Aga Wronska <agawronska@chromium.org>
Date: Mon Jan 08 02:49:32 2018

Add buttons to the login shelf (Browse as guest, Add user).

Bug:  792656 
Change-Id: Ic34fdf78337af9c542db62d4477dcd26a198027f
Reviewed-on: https://chromium-review.googlesource.com/843047
Commit-Queue: Aga Wronska <agawronska@chromium.org>
Reviewed-by: Mitsuru Oshima <oshima@chromium.org>
Reviewed-by: Jacob Dufault <jdufault@chromium.org>
Reviewed-by: Xiaoyin Hu <xiaoyinh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#527558}
[modify] https://crrev.com/4b1aa819190c166a193b0a6066834eb089044b67/ash/ash_strings.grd
[modify] https://crrev.com/4b1aa819190c166a193b0a6066834eb089044b67/ash/resources/vector_icons/BUILD.gn
[add] https://crrev.com/4b1aa819190c166a193b0a6066834eb089044b67/ash/resources/vector_icons/shelf_add_person_button.1x.icon
[add] https://crrev.com/4b1aa819190c166a193b0a6066834eb089044b67/ash/resources/vector_icons/shelf_add_person_button.icon
[add] https://crrev.com/4b1aa819190c166a193b0a6066834eb089044b67/ash/resources/vector_icons/shelf_browse_as_guest_button.1x.icon
[add] https://crrev.com/4b1aa819190c166a193b0a6066834eb089044b67/ash/resources/vector_icons/shelf_browse_as_guest_button.icon
[modify] https://crrev.com/4b1aa819190c166a193b0a6066834eb089044b67/ash/shelf/login_shelf_view.cc
[modify] https://crrev.com/4b1aa819190c166a193b0a6066834eb089044b67/ash/shelf/login_shelf_view.h
[modify] https://crrev.com/4b1aa819190c166a193b0a6066834eb089044b67/ash/shelf/login_shelf_view_unittest.cc
[modify] https://crrev.com/4b1aa819190c166a193b0a6066834eb089044b67/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc

Project Member

Comment 7 by bugdroid1@chromium.org, Jan 8 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6a32f9873bcb173b91ba9f757a2ada073b3eaff3

commit 6a32f9873bcb173b91ba9f757a2ada073b3eaff3
Author: Aga Wronska <agawronska@chromium.org>
Date: Mon Jan 08 04:58:32 2018

Implement action for 'Browse as guest' shelf button.

Bug:  792656 
Change-Id: Ic26cfc02cce32c0c630df4fa6d33fbdfa56b1b21
Reviewed-on: https://chromium-review.googlesource.com/843532
Commit-Queue: Aga Wronska <agawronska@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Michael Wasserman <msw@chromium.org>
Reviewed-by: Jacob Dufault <jdufault@chromium.org>
Reviewed-by: Xiaoyin Hu <xiaoyinh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#527573}
[modify] https://crrev.com/6a32f9873bcb173b91ba9f757a2ada073b3eaff3/ash/login/login_screen_controller.cc
[modify] https://crrev.com/6a32f9873bcb173b91ba9f757a2ada073b3eaff3/ash/login/login_screen_controller.h
[modify] https://crrev.com/6a32f9873bcb173b91ba9f757a2ada073b3eaff3/ash/login/mock_login_screen_client.h
[modify] https://crrev.com/6a32f9873bcb173b91ba9f757a2ada073b3eaff3/ash/public/interfaces/login_screen.mojom
[modify] https://crrev.com/6a32f9873bcb173b91ba9f757a2ada073b3eaff3/ash/shelf/login_shelf_view.cc
[modify] https://crrev.com/6a32f9873bcb173b91ba9f757a2ada073b3eaff3/ash/shelf/login_shelf_view_unittest.cc
[modify] https://crrev.com/6a32f9873bcb173b91ba9f757a2ada073b3eaff3/chrome/browser/chromeos/login/lock/views_screen_locker.cc
[modify] https://crrev.com/6a32f9873bcb173b91ba9f757a2ada073b3eaff3/chrome/browser/chromeos/login/lock/views_screen_locker.h
[modify] https://crrev.com/6a32f9873bcb173b91ba9f757a2ada073b3eaff3/chrome/browser/chromeos/login/ui/login_display_host_views.cc
[modify] https://crrev.com/6a32f9873bcb173b91ba9f757a2ada073b3eaff3/chrome/browser/chromeos/login/ui/login_display_host_views.h
[modify] https://crrev.com/6a32f9873bcb173b91ba9f757a2ada073b3eaff3/chrome/browser/ui/ash/login_screen_client.cc
[modify] https://crrev.com/6a32f9873bcb173b91ba9f757a2ada073b3eaff3/chrome/browser/ui/ash/login_screen_client.h

Project Member

Comment 8 by bugdroid1@chromium.org, Jan 11 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/16abb43dd01897f007590b790fd3a19f209b392a

commit 16abb43dd01897f007590b790fd3a19f209b392a
Author: Aga Wronska <agawronska@chromium.org>
Date: Thu Jan 11 23:49:59 2018

Show system tray on views based shelf.

Add basic logic to show system tray from LoginScreenController. It
removes need for chrome control over this part of UI.

Do not show views based shelf in OOBE, because it still strongly relies
on web UI.

Bug:  792656 ,  798869 

Do not show views based shelf in OOBE.

Change-Id: Ia50695c44f9e78b7fc50c5e97dafd108ef1876a5
Reviewed-on: https://chromium-review.googlesource.com/848425
Commit-Queue: Aga Wronska <agawronska@chromium.org>
Reviewed-by: Xiyuan Xia <xiyuan@chromium.org>
Reviewed-by: Jacob Dufault <jdufault@chromium.org>
Reviewed-by: Steven Bennetts <stevenjb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#528818}
[modify] https://crrev.com/16abb43dd01897f007590b790fd3a19f209b392a/ash/login/login_screen_controller.cc
[modify] https://crrev.com/16abb43dd01897f007590b790fd3a19f209b392a/ash/login/login_screen_controller_unittest.cc
[modify] https://crrev.com/16abb43dd01897f007590b790fd3a19f209b392a/ash/shelf/login_shelf_view.cc
[modify] https://crrev.com/16abb43dd01897f007590b790fd3a19f209b392a/ash/shelf/shelf_widget.cc
[modify] https://crrev.com/16abb43dd01897f007590b790fd3a19f209b392a/ash/shelf/shelf_widget_unittest.cc
[modify] https://crrev.com/16abb43dd01897f007590b790fd3a19f209b392a/ash/system/status_area_widget.cc
[modify] https://crrev.com/16abb43dd01897f007590b790fd3a19f209b392a/ash/system/status_area_widget.h
[modify] https://crrev.com/16abb43dd01897f007590b790fd3a19f209b392a/ash/system/tray/system_tray_controller.cc
[modify] https://crrev.com/16abb43dd01897f007590b790fd3a19f209b392a/ui/login/display_manager.js

Status: Fixed (was: Started)

Sign in to add a comment