Make lock faster by sharing lock screen web-view across lock sessions. Showing the lock screen can take a long time, especially on slower/older devices, especially when they are under load. This is broken off from issue 452599.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/665ecfc70ddc424fd4e0409b3a9600517c266603 commit 665ecfc70ddc424fd4e0409b3a9600517c266603 Author: jdufault <jdufault@chromium.org> Date: Tue Nov 29 23:39:42 2016 cros: More robust approach for setting login/lock webview background color. BUG= 669638 Review-Url: https://codereview.chromium.org/2535093002 Cr-Commit-Position: refs/heads/master@{#435107} [modify] https://crrev.com/665ecfc70ddc424fd4e0409b3a9600517c266603/chrome/browser/chromeos/BUILD.gn [add] https://crrev.com/665ecfc70ddc424fd4e0409b3a9600517c266603/chrome/browser/chromeos/login/ui/web_contents_set_background_color.cc [add] https://crrev.com/665ecfc70ddc424fd4e0409b3a9600517c266603/chrome/browser/chromeos/login/ui/web_contents_set_background_color.h [modify] https://crrev.com/665ecfc70ddc424fd4e0409b3a9600517c266603/chrome/browser/chromeos/login/ui/webui_login_view.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0de81e6e69550022ed7bfd0ade6d56634890e676 commit 0de81e6e69550022ed7bfd0ade6d56634890e676 Author: jdufault <jdufault@chromium.org> Date: Fri Dec 02 00:11:00 2016 cros: Small JS cleanup in lock screen code. BUG= 669638 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:closure_compilation Review-Url: https://codereview.chromium.org/2533413002 Cr-Commit-Position: refs/heads/master@{#435783} [modify] https://crrev.com/0de81e6e69550022ed7bfd0ade6d56634890e676/chrome/browser/resources/chromeos/login/lock.js [modify] https://crrev.com/0de81e6e69550022ed7bfd0ade6d56634890e676/ui/login/account_picker/user_pod_row.js [modify] https://crrev.com/0de81e6e69550022ed7bfd0ade6d56634890e676/ui/login/display_manager.js
go/cros-lock-screen-optimization contains some additional context.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/3a6fa9bb8a91ec674c9a62d4fc8f4765b41b10b6 commit 3a6fa9bb8a91ec674c9a62d4fc8f4765b41b10b6 Author: jdufault <jdufault@chromium.org> Date: Mon Dec 12 22:52:40 2016 cros: Enable WebUILoginView reuse. This CL also includes a few fixes for loading a WebUILoginView instance by itself without associated helper classes also being initialized. There are three child CLs associated with this one: - [1] contains fixes on the HTML side. - [2] makes the lock screen show up correctly in the task manager. - [3] preloads and reuses the WebUIScreenLocker instance (derived from WebUILoginView). 1: https://codereview.chromium.org/2555453003/ 2: https://codereview.chromium.org/2550263002/ 3: https://codereview.chromium.org/2553863002/ There is additional context at go/cros-lock-screen-optimization. BUG= 669638 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:closure_compilation Review-Url: https://codereview.chromium.org/2512473004 Cr-Commit-Position: refs/heads/master@{#437942} [modify] https://crrev.com/3a6fa9bb8a91ec674c9a62d4fc8f4765b41b10b6/chrome/browser/chromeos/BUILD.gn [modify] https://crrev.com/3a6fa9bb8a91ec674c9a62d4fc8f4765b41b10b6/chrome/browser/chromeos/login/lock/webui_screen_locker.cc [modify] https://crrev.com/3a6fa9bb8a91ec674c9a62d4fc8f4765b41b10b6/chrome/browser/chromeos/login/ui/login_display_host_impl.cc [add] https://crrev.com/3a6fa9bb8a91ec674c9a62d4fc8f4765b41b10b6/chrome/browser/chromeos/login/ui/shared_web_view.cc [add] https://crrev.com/3a6fa9bb8a91ec674c9a62d4fc8f4765b41b10b6/chrome/browser/chromeos/login/ui/shared_web_view.h [add] https://crrev.com/3a6fa9bb8a91ec674c9a62d4fc8f4765b41b10b6/chrome/browser/chromeos/login/ui/shared_web_view_factory.cc [add] https://crrev.com/3a6fa9bb8a91ec674c9a62d4fc8f4765b41b10b6/chrome/browser/chromeos/login/ui/shared_web_view_factory.h [add] https://crrev.com/3a6fa9bb8a91ec674c9a62d4fc8f4765b41b10b6/chrome/browser/chromeos/login/ui/web_view_handle.cc [add] https://crrev.com/3a6fa9bb8a91ec674c9a62d4fc8f4765b41b10b6/chrome/browser/chromeos/login/ui/web_view_handle.h [modify] https://crrev.com/3a6fa9bb8a91ec674c9a62d4fc8f4765b41b10b6/chrome/browser/chromeos/login/ui/webui_login_view.cc [modify] https://crrev.com/3a6fa9bb8a91ec674c9a62d4fc8f4765b41b10b6/chrome/browser/chromeos/login/ui/webui_login_view.h [modify] https://crrev.com/3a6fa9bb8a91ec674c9a62d4fc8f4765b41b10b6/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc [modify] https://crrev.com/3a6fa9bb8a91ec674c9a62d4fc8f4765b41b10b6/components/proximity_auth/screenlock_bridge.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a77510ea644f9233e91d0dd62b02bb659abd95a8 commit a77510ea644f9233e91d0dd62b02bb659abd95a8 Author: jdufault <jdufault@chromium.org> Date: Mon Dec 12 23:57:54 2016 cros: HTML fixes needed to reinitializing an existing lock WebUI. See https://codereview.chromium.org/2512473004/ for additional context. BUG= 669638 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:closure_compilation Review-Url: https://codereview.chromium.org/2555453003 Cr-Commit-Position: refs/heads/master@{#437964} [modify] https://crrev.com/a77510ea644f9233e91d0dd62b02bb659abd95a8/chrome/browser/chromeos/login/screens/user_selection_screen.cc [modify] https://crrev.com/a77510ea644f9233e91d0dd62b02bb659abd95a8/chrome/browser/chromeos/login/signin_screen_controller.h [modify] https://crrev.com/a77510ea644f9233e91d0dd62b02bb659abd95a8/chrome/browser/resources/chromeos/login/lock.js [modify] https://crrev.com/a77510ea644f9233e91d0dd62b02bb659abd95a8/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc [modify] https://crrev.com/a77510ea644f9233e91d0dd62b02bb659abd95a8/ui/login/account_picker/screen_account_picker.js [modify] https://crrev.com/a77510ea644f9233e91d0dd62b02bb659abd95a8/ui/login/account_picker/user_pod_row.css [modify] https://crrev.com/a77510ea644f9233e91d0dd62b02bb659abd95a8/ui/login/screen_container.css
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/befe2a179ce10b19932e8d4743aa7f4971027bda commit befe2a179ce10b19932e8d4743aa7f4971027bda Author: jdufault <jdufault@chromium.org> Date: Tue Dec 13 00:37:50 2016 cros: Ensure task manager shows correct title for lock screen webview See https://codereview.chromium.org/2512473004/ for additional context. BUG= 669638 Review-Url: https://codereview.chromium.org/2550263002 Cr-Commit-Position: refs/heads/master@{#437969} [modify] https://crrev.com/befe2a179ce10b19932e8d4743aa7f4971027bda/chrome/app/chromeos_strings.grdp [modify] https://crrev.com/befe2a179ce10b19932e8d4743aa7f4971027bda/chrome/browser/chromeos/BUILD.gn [add] https://crrev.com/befe2a179ce10b19932e8d4743aa7f4971027bda/chrome/browser/chromeos/login/ui/web_contents_forced_title.cc [add] https://crrev.com/befe2a179ce10b19932e8d4743aa7f4971027bda/chrome/browser/chromeos/login/ui/web_contents_forced_title.h [modify] https://crrev.com/befe2a179ce10b19932e8d4743aa7f4971027bda/chrome/browser/chromeos/login/ui/webui_login_view.cc [modify] https://crrev.com/befe2a179ce10b19932e8d4743aa7f4971027bda/chrome/browser/chromeos/login/ui/webui_login_view.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/314a23a11c9ed8c9a3b0a51816a20c84f4fd822d commit 314a23a11c9ed8c9a3b0a51816a20c84f4fd822d Author: jdufault <jdufault@chromium.org> Date: Thu Dec 15 01:17:38 2016 cros: Preload and reuse the lock screen across lock sessions This is currently behind a feature flag and not enabled by default. - The lock screen webview will be saved and reused across lock sessions. - The lock screen webview will be preloaded after the user has not generated any input events for 8 seconds. See https://codereview.chromium.org/2512473004/ for additional context. BUG= 669638 Review-Url: https://codereview.chromium.org/2553863002 Cr-Commit-Position: refs/heads/master@{#438698} [modify] https://crrev.com/314a23a11c9ed8c9a3b0a51816a20c84f4fd822d/chrome/browser/chromeos/login/lock/webui_screen_locker.cc [modify] https://crrev.com/314a23a11c9ed8c9a3b0a51816a20c84f4fd822d/chrome/browser/chromeos/login/lock/webui_screen_locker.h [modify] https://crrev.com/314a23a11c9ed8c9a3b0a51816a20c84f4fd822d/chrome/browser/chromeos/login/session/chrome_session_manager.cc [modify] https://crrev.com/314a23a11c9ed8c9a3b0a51816a20c84f4fd822d/chrome/browser/chromeos/login/session/chrome_session_manager.h [modify] https://crrev.com/314a23a11c9ed8c9a3b0a51816a20c84f4fd822d/chrome/common/chrome_features.cc [modify] https://crrev.com/314a23a11c9ed8c9a3b0a51816a20c84f4fd822d/chrome/common/chrome_features.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/284264846b3b7131c5f1efc1482d42e06878dd98 commit 284264846b3b7131c5f1efc1482d42e06878dd98 Author: jdufault <jdufault@chromium.org> Date: Fri Jan 13 23:34:05 2017 cros: Only preload the lock screen; do not reuse it. BUG= 669638 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:closure_compilation Review-Url: https://codereview.chromium.org/2610373002 Cr-Commit-Position: refs/heads/master@{#443725} [modify] https://crrev.com/284264846b3b7131c5f1efc1482d42e06878dd98/chrome/browser/chromeos/BUILD.gn [modify] https://crrev.com/284264846b3b7131c5f1efc1482d42e06878dd98/chrome/browser/chromeos/login/lock/webui_screen_locker.cc [modify] https://crrev.com/284264846b3b7131c5f1efc1482d42e06878dd98/chrome/browser/chromeos/login/lock/webui_screen_locker.h [modify] https://crrev.com/284264846b3b7131c5f1efc1482d42e06878dd98/chrome/browser/chromeos/login/session/chrome_session_manager.cc [modify] https://crrev.com/284264846b3b7131c5f1efc1482d42e06878dd98/chrome/browser/chromeos/login/session/chrome_session_manager.h [add] https://crrev.com/284264846b3b7131c5f1efc1482d42e06878dd98/chrome/browser/chromeos/login/ui/preloaded_web_view.cc [add] https://crrev.com/284264846b3b7131c5f1efc1482d42e06878dd98/chrome/browser/chromeos/login/ui/preloaded_web_view.h [add] https://crrev.com/284264846b3b7131c5f1efc1482d42e06878dd98/chrome/browser/chromeos/login/ui/preloaded_web_view_factory.cc [add] https://crrev.com/284264846b3b7131c5f1efc1482d42e06878dd98/chrome/browser/chromeos/login/ui/preloaded_web_view_factory.h [delete] https://crrev.com/67b5583718d2ed35011af6d7468068e3c0237166/chrome/browser/chromeos/login/ui/shared_web_view.cc [delete] https://crrev.com/67b5583718d2ed35011af6d7468068e3c0237166/chrome/browser/chromeos/login/ui/shared_web_view.h [delete] https://crrev.com/67b5583718d2ed35011af6d7468068e3c0237166/chrome/browser/chromeos/login/ui/shared_web_view_factory.cc [delete] https://crrev.com/67b5583718d2ed35011af6d7468068e3c0237166/chrome/browser/chromeos/login/ui/shared_web_view_factory.h [delete] https://crrev.com/67b5583718d2ed35011af6d7468068e3c0237166/chrome/browser/chromeos/login/ui/web_view_handle.cc [delete] https://crrev.com/67b5583718d2ed35011af6d7468068e3c0237166/chrome/browser/chromeos/login/ui/web_view_handle.h [modify] https://crrev.com/284264846b3b7131c5f1efc1482d42e06878dd98/chrome/browser/chromeos/login/ui/webui_login_view.cc [modify] https://crrev.com/284264846b3b7131c5f1efc1482d42e06878dd98/chrome/browser/chromeos/login/ui/webui_login_view.h [modify] https://crrev.com/284264846b3b7131c5f1efc1482d42e06878dd98/chrome/browser/resources/chromeos/login/lock.js [modify] https://crrev.com/284264846b3b7131c5f1efc1482d42e06878dd98/chrome/common/chrome_features.cc [modify] https://crrev.com/284264846b3b7131c5f1efc1482d42e06878dd98/chrome/common/chrome_features.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b65749b36134548e2cc8463b10c63704dccbf396 commit b65749b36134548e2cc8463b10c63704dccbf396 Author: jdufault <jdufault@chromium.org> Date: Mon Jan 30 20:05:27 2017 cros: Fix crash after killing preloaded lock screen in task manager. Crash happens when showing the lock screen after killing a preloaded one in the task manager. BUG= 669638 Review-Url: https://codereview.chromium.org/2659853005 Cr-Commit-Position: refs/heads/master@{#447043} [modify] https://crrev.com/b65749b36134548e2cc8463b10c63704dccbf396/chrome/browser/chromeos/login/ui/preloaded_web_view.cc
Comment 1 by bugdroid1@chromium.org
, Nov 29 2016