DescriptionRe-reland: chromeos: Fix shelf appearing at login screen under mash
The reland adds a fix for a crash in window animation code when restoring
a session that has a minimized window. The animation tries to compute a
shelf item position before the shelf is initialized. The animation is not
visible to the user. Returning an empty rect results in a default target
position, which is fine in this case.
Added guards for access to ShelfView before shelf is initialized.
Original CL description:
Previously chrome --mash would always create the shelf on startup, even at
the login screen. Now it waits until login is complete, like classic ash.
Ash watches for SessionState::ACTIVE via a SessionStateObserver to create the
shelf, rather than NOTIFICATION_LOGIN_USER_PROFILE_PREPARED. For most login
flows this doesn't matter, but for supervised user creation it means that the
shelf is not created until the flow is completed. This is an improvement
because in the old code the shelf would be created too early and had to be
explicitly hidden.
Always create a SessionControllerClient in chrome, even in classic ash. This
allows classic ash to use the mojo pathway via ash::SessionController.
Remove WmShell::ShowShelf(), which was introduced in crrev.com/10693003 to
delay showing the shelf until post-login OOBE (like avatar picture select)
was complete. It does not seem to be needed anymore, either in production or
in tests.
Change AshTestImplMus to simulate a user logging in which is required to
create the shelf on the primary display and also to have a non-zero user
count to create the shelf on additional displays.
Remove some unnecessary OS_CHROMEOS ifdefs in //c/b/ui/ash.
BUG=666021, 679513
TEST=ash_unittests and chrome browser_tests
Committed: https://crrev.com/7f99e933e595824281102ff6737075dccbbc4d5c
Cr-Commit-Position: refs/heads/master@{#439845}
Reverted:
Review-Url: https://codereview.chromium.org/2619943002
Cr-Original-Original-Commit-Position: refs/heads/master@{#442484}
Review-Url: https://codereview.chromium.org/2625733003
Cr-Original-Commit-Position: refs/heads/master@{#443106}
Committed: https://chromium.googlesource.com/chromium/src/+/75298de72cf7c25e137c3c5e63e4d01aa0569c1c
Review-Url: https://codereview.chromium.org/2625733003
Cr-Commit-Position: refs/heads/master@{#443174}
Committed: https://chromium.googlesource.com/chromium/src/+/e3d63f666dd906c320f67c7286f2d9a9316c2ef5
Patch Set 1 #Patch Set 2 : Fix crash, add SessionRestoreTestChromeOS.RestoreMinimized, remove FlushForTesting #Patch Set 3 : cleanup #Patch Set 4 : remove include #
Total comments: 9
Patch Set 5 : msw comments #Patch Set 6 : rebase #Patch Set 7 : fix mash_unittests #Patch Set 8 : rebase, fix conflict with sky #Messages
Total messages: 59 (42 generated)
|