Lock screen/login shelf should be implemented in views instead of webui. This will enable materialization of those elements. See additional context in issue 686195 .
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/c01d07dff75c0e7aeb8ef9f792652d32f1fd8957 commit c01d07dff75c0e7aeb8ef9f792652d32f1fd8957 Author: jdufault <jdufault@chromium.org> Date: Thu Mar 23 16:58:20 2017 cros: Add CHECK to ShelfWidget initialization enabling future cleanup. BUG= 701157 Review-Url: https://codereview.chromium.org/2773473003 Cr-Commit-Position: refs/heads/master@{#459123} [modify] https://crrev.com/c01d07dff75c0e7aeb8ef9f792652d32f1fd8957/ash/common/shelf/shelf_widget.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/933963d487425664d97c8b6a2f8dc624597aa045 commit 933963d487425664d97c8b6a2f8dc624597aa045 Author: Wenzhao Zang <wzang@chromium.org> Date: Tue Sep 12 20:19:45 2017 Add tray action interface to close lock screen notes The interface is used to close the note taking app from the views-based login shelf. Also added TestTrayActionClient which are shared by various unit tests. Bug: 701157 Change-Id: I88c871f1597369f11b5b2c9d1c3548c790c0b088 Reviewed-on: https://chromium-review.googlesource.com/656059 Reviewed-by: Oliver Chang <ochang@chromium.org> Reviewed-by: James Cook <jamescook@chromium.org> Reviewed-by: Toni Barzic <tbarzic@chromium.org> Commit-Queue: Wenzhao (Colin) Zang <wzang@chromium.org> Cr-Commit-Position: refs/heads/master@{#501378} [modify] https://crrev.com/933963d487425664d97c8b6a2f8dc624597aa045/ash/BUILD.gn [modify] https://crrev.com/933963d487425664d97c8b6a2f8dc624597aa045/ash/public/interfaces/tray_action.mojom [modify] https://crrev.com/933963d487425664d97c8b6a2f8dc624597aa045/ash/system/lock_screen_action/lock_screen_action_tray_unittest.cc [add] https://crrev.com/933963d487425664d97c8b6a2f8dc624597aa045/ash/tray_action/test_tray_action_client.cc [add] https://crrev.com/933963d487425664d97c8b6a2f8dc624597aa045/ash/tray_action/test_tray_action_client.h [modify] https://crrev.com/933963d487425664d97c8b6a2f8dc624597aa045/ash/tray_action/tray_action.cc [modify] https://crrev.com/933963d487425664d97c8b6a2f8dc624597aa045/ash/tray_action/tray_action.h [modify] https://crrev.com/933963d487425664d97c8b6a2f8dc624597aa045/ash/tray_action/tray_action_unittest.cc [modify] https://crrev.com/933963d487425664d97c8b6a2f8dc624597aa045/ash/wm/lock_action_handler_layout_manager_unittest.cc [modify] https://crrev.com/933963d487425664d97c8b6a2f8dc624597aa045/chrome/browser/chromeos/lock_screen_apps/state_controller.cc [modify] https://crrev.com/933963d487425664d97c8b6a2f8dc624597aa045/chrome/browser/chromeos/lock_screen_apps/state_controller.h [modify] https://crrev.com/933963d487425664d97c8b6a2f8dc624597aa045/chrome/browser/chromeos/lock_screen_apps/state_controller_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/16e7ea72e54a3e88de3d92a1859468740fef0df6 commit 16e7ea72e54a3e88de3d92a1859468740fef0df6 Author: Wenzhao Zang <wzang@chromium.org> Date: Sat Sep 16 01:27:30 2017 Create LoginShelfView for views-based lock screen 1) Hide the views-based shelf behind --show-md-login. 2) Only support lock/add user screens. Will support login screen when views-based login is in place. 3) The buttons do not match the spec yet, and there's known issue with focus and accessibility. Bug: 701157 Change-Id: If6462f90a80f62f8fbca32674d30757fd48aecb5 Reviewed-on: https://chromium-review.googlesource.com/583942 Commit-Queue: Wenzhao (Colin) Zang <wzang@chromium.org> Reviewed-by: James Cook <jamescook@chromium.org> Reviewed-by: Oliver Chang <ochang@chromium.org> Reviewed-by: Michael Wasserman <msw@chromium.org> Reviewed-by: Jacob Dufault <jdufault@chromium.org> Cr-Commit-Position: refs/heads/master@{#502462} [modify] https://crrev.com/16e7ea72e54a3e88de3d92a1859468740fef0df6/ash/BUILD.gn [modify] https://crrev.com/16e7ea72e54a3e88de3d92a1859468740fef0df6/ash/login/lock_screen_controller.cc [modify] https://crrev.com/16e7ea72e54a3e88de3d92a1859468740fef0df6/ash/login/lock_screen_controller.h [modify] https://crrev.com/16e7ea72e54a3e88de3d92a1859468740fef0df6/ash/login/mock_lock_screen_client.h [modify] https://crrev.com/16e7ea72e54a3e88de3d92a1859468740fef0df6/ash/public/cpp/shell_window_ids.h [modify] https://crrev.com/16e7ea72e54a3e88de3d92a1859468740fef0df6/ash/public/interfaces/lock_screen.mojom [modify] https://crrev.com/16e7ea72e54a3e88de3d92a1859468740fef0df6/ash/root_window_controller.cc [add] https://crrev.com/16e7ea72e54a3e88de3d92a1859468740fef0df6/ash/shelf/login_shelf_view.cc [add] https://crrev.com/16e7ea72e54a3e88de3d92a1859468740fef0df6/ash/shelf/login_shelf_view.h [add] https://crrev.com/16e7ea72e54a3e88de3d92a1859468740fef0df6/ash/shelf/login_shelf_view_unittest.cc [modify] https://crrev.com/16e7ea72e54a3e88de3d92a1859468740fef0df6/ash/shelf/shelf.cc [modify] https://crrev.com/16e7ea72e54a3e88de3d92a1859468740fef0df6/ash/shelf/shelf.h [modify] https://crrev.com/16e7ea72e54a3e88de3d92a1859468740fef0df6/ash/shelf/shelf_view.h [modify] https://crrev.com/16e7ea72e54a3e88de3d92a1859468740fef0df6/ash/shelf/shelf_widget.cc [modify] https://crrev.com/16e7ea72e54a3e88de3d92a1859468740fef0df6/ash/shelf/shelf_widget.h [modify] https://crrev.com/16e7ea72e54a3e88de3d92a1859468740fef0df6/ash/shelf/shelf_widget_unittest.cc [modify] https://crrev.com/16e7ea72e54a3e88de3d92a1859468740fef0df6/ash/shutdown_controller.cc [modify] https://crrev.com/16e7ea72e54a3e88de3d92a1859468740fef0df6/ash/shutdown_controller.h [modify] https://crrev.com/16e7ea72e54a3e88de3d92a1859468740fef0df6/chrome/browser/ui/ash/lock_screen_client.cc [modify] https://crrev.com/16e7ea72e54a3e88de3d92a1859468740fef0df6/chrome/browser/ui/ash/lock_screen_client.h [modify] https://crrev.com/16e7ea72e54a3e88de3d92a1859468740fef0df6/chrome/browser/ui/webui/chromeos/login/oobe_ui.cc [modify] https://crrev.com/16e7ea72e54a3e88de3d92a1859468740fef0df6/ui/login/account_picker/md_user_pod_row.js [modify] https://crrev.com/16e7ea72e54a3e88de3d92a1859468740fef0df6/ui/login/display_manager.js
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/4ca20523c37be2604719682cc7c9265cffbd184d commit 4ca20523c37be2604719682cc7c9265cffbd184d Author: Wenzhao Zang <wzang@chromium.org> Date: Wed Sep 20 00:42:32 2017 Add fade-in animation to make shelf visible on lock screen The views-based shelf is hidden behind flag. The fade-in animation is a no-op if the flag is not added because the shelf is in non_lock_screen_containers without the flag. (Follow-up to CL 583942.) Bug: 701157 , 760775 Change-Id: I14421b22c21361a7ff97e9c0e50a23ff0dd6fa45 Reviewed-on: https://chromium-review.googlesource.com/662417 Commit-Queue: Wenzhao (Colin) Zang <wzang@chromium.org> Reviewed-by: James Cook <jamescook@chromium.org> Reviewed-by: Jacob Dufault <jdufault@chromium.org> Cr-Commit-Position: refs/heads/master@{#503008} [modify] https://crrev.com/4ca20523c37be2604719682cc7c9265cffbd184d/ash/shelf/shelf_background_animator.cc [modify] https://crrev.com/4ca20523c37be2604719682cc7c9265cffbd184d/ash/shelf/shelf_background_animator.h [modify] https://crrev.com/4ca20523c37be2604719682cc7c9265cffbd184d/ash/system/power/power_event_observer_unittest.cc [modify] https://crrev.com/4ca20523c37be2604719682cc7c9265cffbd184d/ash/system/power/tablet_power_button_controller_unittest.cc [modify] https://crrev.com/4ca20523c37be2604719682cc7c9265cffbd184d/ash/wm/lock_state_controller.cc [modify] https://crrev.com/4ca20523c37be2604719682cc7c9265cffbd184d/ash/wm/lock_state_controller_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/05a00715f55c0e4652d33f595ef2341ab1024767 commit 05a00715f55c0e4652d33f595ef2341ab1024767 Author: Wenzhao Zang <wzang@chromium.org> Date: Thu Sep 21 21:05:21 2017 Update views-based shelf to match spec Make views-based shelf 'pixel perfect'. Attached spec: https://gallery.googleplex.com/projects/MCHbtQVoQ2HCZdwfnbqy2eSi/files/MCEsH2HvLAyNFee2Qy7YOnr3 Bug: 701157 Change-Id: Idfe816d20ea3eb1f7abfbe147be90a8edc8cb18e Reviewed-on: https://chromium-review.googlesource.com/671474 Reviewed-by: Mitsuru Oshima <oshima@chromium.org> Reviewed-by: Xiyuan Xia <xiyuan@chromium.org> Reviewed-by: Jacob Dufault <jdufault@chromium.org> Commit-Queue: Wenzhao (Colin) Zang <wzang@chromium.org> Cr-Commit-Position: refs/heads/master@{#503559} [modify] https://crrev.com/05a00715f55c0e4652d33f595ef2341ab1024767/ash/ash_strings.grd [modify] https://crrev.com/05a00715f55c0e4652d33f595ef2341ab1024767/ash/resources/vector_icons/BUILD.gn [add] https://crrev.com/05a00715f55c0e4652d33f595ef2341ab1024767/ash/resources/vector_icons/shelf_cancel_button.1x.icon [add] https://crrev.com/05a00715f55c0e4652d33f595ef2341ab1024767/ash/resources/vector_icons/shelf_cancel_button.icon [add] https://crrev.com/05a00715f55c0e4652d33f595ef2341ab1024767/ash/resources/vector_icons/shelf_shutdown_button.1x.icon [add] https://crrev.com/05a00715f55c0e4652d33f595ef2341ab1024767/ash/resources/vector_icons/shelf_shutdown_button.icon [add] https://crrev.com/05a00715f55c0e4652d33f595ef2341ab1024767/ash/resources/vector_icons/shelf_sign_out_button.1x.icon [add] https://crrev.com/05a00715f55c0e4652d33f595ef2341ab1024767/ash/resources/vector_icons/shelf_sign_out_button.icon [add] https://crrev.com/05a00715f55c0e4652d33f595ef2341ab1024767/ash/resources/vector_icons/shelf_unlock_button.1x.icon [add] https://crrev.com/05a00715f55c0e4652d33f595ef2341ab1024767/ash/resources/vector_icons/shelf_unlock_button.icon [modify] https://crrev.com/05a00715f55c0e4652d33f595ef2341ab1024767/ash/shelf/login_shelf_view.cc [modify] https://crrev.com/05a00715f55c0e4652d33f595ef2341ab1024767/ash/shelf/login_shelf_view.h [modify] https://crrev.com/05a00715f55c0e4652d33f595ef2341ab1024767/chrome/app/chromeos_strings.grdp [modify] https://crrev.com/05a00715f55c0e4652d33f595ef2341ab1024767/chrome/app/generated_resources.grd [modify] https://crrev.com/05a00715f55c0e4652d33f595ef2341ab1024767/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/404639fb69986fbd73f84df30221c1356e472520 commit 404639fb69986fbd73f84df30221c1356e472520 Author: Wenzhao Zang <wzang@chromium.org> Date: Wed Sep 27 03:08:54 2017 Allow tab/shift+tab to navigate to shelf and status area Handles two cases: 1) Views-based lock -> views-based shelf -> status area 2) Web UI Add user screen -> views-based shelf -> status area The behavior of web UI login (including web UI shelf) -> status area remains unchanged. Also reuse the existing |StatusAreaFocusObserver| but rename it to |SystemTrayFocusObserver|. We have to use this observer because RotateFocus won't work with |LockContentsView|. Bug: 701157 Change-Id: Iccdabf043441844755fc8cf7a9eea9a8cb1e6131 Reviewed-on: https://chromium-review.googlesource.com/676083 Commit-Queue: Wenzhao (Colin) Zang <wzang@chromium.org> Reviewed-by: Stefan Kuhne <skuhne@chromium.org> Reviewed-by: Jacob Dufault <jdufault@chromium.org> Cr-Commit-Position: refs/heads/master@{#504565} [modify] https://crrev.com/404639fb69986fbd73f84df30221c1356e472520/ash/BUILD.gn [modify] https://crrev.com/404639fb69986fbd73f84df30221c1356e472520/ash/login/ui/lock_contents_view.cc [modify] https://crrev.com/404639fb69986fbd73f84df30221c1356e472520/ash/login/ui/lock_contents_view.h [modify] https://crrev.com/404639fb69986fbd73f84df30221c1356e472520/ash/login/ui/lock_screen_sanity_unittest.cc [modify] https://crrev.com/404639fb69986fbd73f84df30221c1356e472520/ash/login/ui/login_test_base.cc [modify] https://crrev.com/404639fb69986fbd73f84df30221c1356e472520/ash/login/ui/login_test_base.h [modify] https://crrev.com/404639fb69986fbd73f84df30221c1356e472520/ash/shelf/login_shelf_view.cc [modify] https://crrev.com/404639fb69986fbd73f84df30221c1356e472520/ash/shelf/login_shelf_view.h [modify] https://crrev.com/404639fb69986fbd73f84df30221c1356e472520/ash/shelf/login_shelf_view_unittest.cc [modify] https://crrev.com/404639fb69986fbd73f84df30221c1356e472520/ash/shelf/shelf_widget.cc [modify] https://crrev.com/404639fb69986fbd73f84df30221c1356e472520/ash/shelf/shelf_widget.h [delete] https://crrev.com/ede95e57e7fcccc7a29217ebd5611e1ca1b0623a/ash/system/status_area_focus_observer.h [modify] https://crrev.com/404639fb69986fbd73f84df30221c1356e472520/ash/system/status_area_widget_delegate.cc [modify] https://crrev.com/404639fb69986fbd73f84df30221c1356e472520/ash/system/status_area_widget_delegate.h [modify] https://crrev.com/404639fb69986fbd73f84df30221c1356e472520/ash/system/status_area_widget_unittest.cc [add] https://crrev.com/404639fb69986fbd73f84df30221c1356e472520/ash/system/system_tray_focus_observer.h [modify] https://crrev.com/404639fb69986fbd73f84df30221c1356e472520/ash/system/tray/system_tray_notifier.cc [modify] https://crrev.com/404639fb69986fbd73f84df30221c1356e472520/ash/system/tray/system_tray_notifier.h [modify] https://crrev.com/404639fb69986fbd73f84df30221c1356e472520/ash/system/tray/tray_background_view.cc [modify] https://crrev.com/404639fb69986fbd73f84df30221c1356e472520/chrome/browser/chromeos/login/ui/webui_login_view.cc [modify] https://crrev.com/404639fb69986fbd73f84df30221c1356e472520/chrome/browser/chromeos/login/ui/webui_login_view.h
Comment 1 by jdufault@chromium.org
, Mar 13 2017