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

Issue 2625733003: Re-reland: chromeos: Fix shelf appearing at login screen under mash (Closed)

Created:
3 years, 11 months ago by James Cook
Modified:
3 years, 11 months ago
Reviewers:
msw, sky, xiyuan
CC:
chromium-reviews, alemate+watch_chromium.org, sadrul, tfarina, achuith+watch_chromium.org, pam+watch_chromium.org, oshima+watch_chromium.org, kalyank, davemoore+watch_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Re-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 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+191 lines, -88 lines) Patch
M ash/aura/wm_shell_aura.h View 1 chunk +3 lines, -0 lines 0 comments Download
M ash/aura/wm_shell_aura.cc View 1 chunk +9 lines, -0 lines 0 comments Download
M ash/common/shelf/shelf_widget.h View 1 2 3 chunks +7 lines, -3 lines 0 comments Download
M ash/common/shelf/shelf_widget.cc View 1 2 3 4 5 4 chunks +14 lines, -5 lines 0 comments Download
M ash/common/test/test_session_state_delegate.cc View 1 chunk +3 lines, -6 lines 0 comments Download
M ash/common/wm_shell.h View 1 2 3 4 5 5 chunks +8 lines, -6 lines 0 comments Download
M ash/common/wm_shell.cc View 1 2 3 4 5 4 chunks +11 lines, -6 lines 0 comments Download
M ash/mus/test/wm_test_base.h View 1 2 3 4 5 6 1 chunk +4 lines, -0 lines 0 comments Download
M ash/mus/test/wm_test_base.cc View 1 2 3 4 5 6 3 chunks +31 lines, -0 lines 0 comments Download
M ash/mus/window_manager.cc View 1 2 3 4 5 3 chunks +4 lines, -6 lines 0 comments Download
M ash/root_window_controller.h View 1 2 3 4 5 6 7 1 chunk +0 lines, -4 lines 0 comments Download
M ash/root_window_controller.cc View 1 2 3 4 5 6 7 1 chunk +0 lines, -8 lines 0 comments Download
M ash/root_window_controller_unittest.cc View 1 2 3 4 5 4 chunks +6 lines, -4 lines 0 comments Download
M ash/shell.h View 1 2 3 4 5 6 7 1 chunk +0 lines, -3 lines 0 comments Download
M ash/shell.cc View 1 2 3 4 5 6 7 1 chunk +0 lines, -5 lines 0 comments Download
M chrome/browser/chromeos/login/session/chrome_session_manager.cc View 1 2 3 1 chunk +0 lines, -1 line 0 comments Download
M chrome/browser/chromeos/login/supervised/supervised_user_creation_screen.cc View 2 chunks +0 lines, -3 lines 0 comments Download
M chrome/browser/sessions/session_restore_browsertest_chromeos.cc View 1 2 3 chunks +42 lines, -2 lines 0 comments Download
M chrome/browser/ui/ash/chrome_shell_delegate.cc View 2 chunks +0 lines, -2 lines 0 comments Download
M chrome/browser/ui/ash/launcher/chrome_launcher_controller_impl_browsertest.cc View 1 2 3 chunks +9 lines, -0 lines 0 comments Download
M chrome/browser/ui/ash/multi_user/multi_user_window_manager_stub.h View 1 chunk +2 lines, -2 lines 0 comments Download
M chrome/browser/ui/ash/multi_user/multi_user_window_manager_stub.cc View 1 chunk +4 lines, -0 lines 0 comments Download
M chrome/browser/ui/ash/session_controller_client.h View 1 chunk +3 lines, -0 lines 0 comments Download
M chrome/browser/ui/ash/session_controller_client.cc View 3 chunks +13 lines, -0 lines 0 comments Download
M chrome/browser/ui/browser_browsertest.cc View 1 2 2 chunks +8 lines, -0 lines 0 comments Download
M chrome/browser/ui/views/ash/chrome_browser_main_extra_parts_ash.h View 1 2 3 4 5 1 chunk +2 lines, -0 lines 0 comments Download
M chrome/browser/ui/views/ash/chrome_browser_main_extra_parts_ash.cc View 1 2 3 4 5 6 chunks +8 lines, -22 lines 0 comments Download

Messages

Total messages: 59 (42 generated)
James Cook
msw, xiyuan, please take another look. Patchset #1 is the patch I reverted (the one ...
3 years, 11 months ago (2017-01-11 00:39:50 UTC) #16
msw
lgtm with nits and a q; nice testing, I hope this one sticks! https://codereview.chromium.org/2625733003/diff/80001/ash/common/shelf/shelf_widget.cc File ...
3 years, 11 months ago (2017-01-11 00:54:55 UTC) #17
xiyuan
lgtm++
3 years, 11 months ago (2017-01-11 17:02:17 UTC) #24
James Cook
Thanks for the review. https://codereview.chromium.org/2625733003/diff/80001/ash/common/shelf/shelf_widget.cc File ash/common/shelf/shelf_widget.cc (right): https://codereview.chromium.org/2625733003/diff/80001/ash/common/shelf/shelf_widget.cc#newcode404 ash/common/shelf/shelf_widget.cc:404: // view is created. On ...
3 years, 11 months ago (2017-01-11 17:03:49 UTC) #25
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2625733003/100001
3 years, 11 months ago (2017-01-11 17:04:12 UTC) #28
commit-bot: I haz the power
Try jobs failed on following builders: chromium_presubmit on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/339632)
3 years, 11 months ago (2017-01-11 17:11:25 UTC) #30
James Cook
sky, can I get OWNERS for chrome/browser/session/session_restore_browsertest_chromeos.cc? (Also, WDYT of adding a per-file chromeos owner ...
3 years, 11 months ago (2017-01-11 22:24:21 UTC) #32
James Cook
On 2017/01/11 22:24:21, James Cook wrote: > sky, can I get OWNERS for > chrome/browser/session/session_restore_browsertest_chromeos.cc? ...
3 years, 11 months ago (2017-01-12 00:18:05 UTC) #38
sky
chrome/browser/session/session_restore_browsertest_chromeos.cc LGTM - I'm definitely in favor of more owners where it makes sense.
3 years, 11 months ago (2017-01-12 00:19:16 UTC) #39
James Cook
On 2017/01/12 00:19:16, sky wrote: > chrome/browser/session/session_restore_browsertest_chromeos.cc LGTM - I'm > definitely in favor of ...
3 years, 11 months ago (2017-01-12 00:39:53 UTC) #42
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2625733003/140001
3 years, 11 months ago (2017-01-12 00:41:34 UTC) #46
commit-bot: I haz the power
Committed patchset #7 (id:140001) as https://chromium.googlesource.com/chromium/src/+/75298de72cf7c25e137c3c5e63e4d01aa0569c1c
3 years, 11 months ago (2017-01-12 01:24:24 UTC) #49
ynovikov
On 2017/01/12 01:24:24, commit-bot: I haz the power wrote: > Committed patchset #7 (id:140001) as ...
3 years, 11 months ago (2017-01-12 02:24:11 UTC) #50
Timothy Loh
A revert of this CL (patchset #7 id:140001) has been created in https://codereview.chromium.org/2628933003/ by timloh@chromium.org. ...
3 years, 11 months ago (2017-01-12 03:24:16 UTC) #51
James Cook
sky has relanded https://codereview.chromium.org/2628973002 I've rebased on top of that and resolved the conflict. (I ...
3 years, 11 months ago (2017-01-12 06:38:01 UTC) #52
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2625733003/160001
3 years, 11 months ago (2017-01-12 06:39:09 UTC) #56
commit-bot: I haz the power
3 years, 11 months ago (2017-01-12 07:13:22 UTC) #59
Message was sent while issue was closed.
Committed patchset #8 (id:160001) as
https://chromium.googlesource.com/chromium/src/+/e3d63f666dd906c320f67c7286f2...

Powered by Google App Engine
This is Rietveld 408576698