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

Issue 16104008: First try at a user management screen for the desktop (Closed)

Created:
7 years, 6 months ago by noms (inactive)
Modified:
7 years, 5 months ago
CC:
chromium-reviews, sail+watch_chromium.org, stevenjb+watch_chromium.org, arv+watch_chromium.org, oshima+watch_chromium.org, nkostylev+watch_chromium.org, xiyuan
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Visibility:
Public.

Description

First try at a user management screen for the desktop. This should look and have similar functionality as the CrOS account picker screen. The implementation cannot be fully merged, however, as some actions do not make sense in a desktop sense (for example shut down), and the server code is slightly different. More details can be found in this design document: https://docs.google.com/a/google.com/document/d/1fg47-s19akfqaKNqjggS6Igj_pkXExhgTgdVPl2BZ7Y/edit?usp=sharing The desktop user chooser can be accessible by enabling the --new-profile-management flag and going to chrome://user-chooser. It is not available on CrOs/iOS/Android. In a future CL, it will be linked to the avatar menu, and will come up when users sign out. This code is *not* meant to replace the CrOS account picker, and should not be used in CrOS. Implementation quirks: 1) Guest-mode is currently not ready for the desktop, so "Browse as Guest" brings up an Incognito browser. 2) If a profile is signed-out/locked, the corresponding pod shows a password field, but this password is not actually validated, and the profile browser is launched. This can't be fixed at the moment, but will be fixed in a future CL. 3) There are no high-resolution avatar resources. Until this problem is solved, we are displaying a standard "chrome user" avatar. This will be fixed in a future CL with either higher resolution resources or the CrOS profile picture chooser dialog. BUG=257033 TEST=Enable --new-profile-management. Go to chrome://user-chooser. This should display a row of user pods, for each existing profile. Clicking on the pods should either give you a password field, or a "Sign in" button, both of which should launch a new browser window for the selected profile (no password authentication is done at the moment). Screenshot: https://docs.google.com/a/chromium.org/file/d/0B1B1Up4p2NRMMHRMaHlITGxRdUk/edit?usp=sharing RTL screenshot: https://docs.google.com/a/chromium.org/file/d/0B1B1Up4p2NRMMVFrZUdnQjBISkU/edit?usp=sharing Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=212688

Patch Set 1 #

Patch Set 2 : $('add-user-button') #

Patch Set 3 : clicking on pods opens profiles #

Patch Set 4 : fake email authentication #

Patch Set 5 : fix add user button #

Patch Set 6 : #

Patch Set 7 : fix whitespace #

Patch Set 8 : rebase #

Patch Set 9 : refactored handler #

Patch Set 10 : fix incorrect setBoolean #

Patch Set 11 : add action for 'remove user' #

Patch Set 12 : code cleanup #

Total comments: 16

Patch Set 13 : refactored profile switching logic #

Patch Set 14 : clean up JS code #

Patch Set 15 : clean up JS code #

Total comments: 72

Patch Set 16 : review comments #

Total comments: 12

Patch Set 17 : forgot untracked files #

Total comments: 4

Patch Set 18 : rebase of doom #

Patch Set 19 : fix rebase disaster and some review comments #

Total comments: 4

Patch Set 20 : rebase and review comments #

Total comments: 10

Patch Set 21 : updated resource files #

Patch Set 22 : titlecased resources #

Patch Set 23 : fix button styles & local profile avatar #

Patch Set 24 : rebase #

Patch Set 25 : move util function out of the profile manager #

Total comments: 2

Patch Set 26 : unbreak browser tests #

Patch Set 27 : nit #

Patch Set 28 : fix linux CrOS browser test #

Unified diffs Side-by-side diffs Delta from patch set Stats (+971 lines, -106 lines) Patch
M chrome/app/generated_resources.grd View 1 chunk +47 lines, -0 lines 0 comments Download
M chrome/app/theme/theme_resources.grd View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 1 chunk +7 lines, -1 line 0 comments Download
M chrome/browser/browser_resources.grd View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 1 chunk +4 lines, -1 line 0 comments Download
M chrome/browser/profiles/avatar_menu_model.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 1 chunk +1 line, -9 lines 0 comments Download
M chrome/browser/profiles/avatar_menu_model_browsertest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 2 chunks +52 lines, -0 lines 0 comments Download
M chrome/browser/profiles/profile_manager.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 1 chunk +1 line, -0 lines 0 comments Download
M chrome/browser/profiles/profile_manager_browsertest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 2 chunks +54 lines, -0 lines 0 comments Download
M chrome/browser/profiles/profile_window.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 2 chunks +9 lines, -0 lines 0 comments Download
M chrome/browser/profiles/profile_window.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 3 chunks +38 lines, -0 lines 0 comments Download
M chrome/browser/resources/chromeos/login/display_manager.js View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +3 lines, -1 line 0 comments Download
M chrome/browser/resources/chromeos/login/header_bar.js View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 1 chunk +0 lines, -1 line 0 comments Download
M chrome/browser/resources/chromeos/login/screen_account_picker.js View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +3 lines, -1 line 0 comments Download
M chrome/browser/resources/chromeos/login/user_pod_row.js View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 7 chunks +93 lines, -8 lines 0 comments Download
A chrome/browser/resources/user_chooser/control_bar.css View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 1 chunk +51 lines, -0 lines 0 comments Download
A chrome/browser/resources/user_chooser/control_bar.html View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 1 chunk +9 lines, -0 lines 0 comments Download
A + chrome/browser/resources/user_chooser/control_bar.js View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 7 chunks +11 lines, -84 lines 0 comments Download
A chrome/browser/resources/user_chooser/desktop_user_pod_template.html View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +25 lines, -0 lines 0 comments Download
A chrome/browser/resources/user_chooser/user_chooser.html View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 1 chunk +50 lines, -0 lines 0 comments Download
A chrome/browser/resources/user_chooser/user_chooser.js View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +119 lines, -0 lines 0 comments Download
M chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 2 chunks +8 lines, -0 lines 0 comments Download
A chrome/browser/ui/webui/signin/user_chooser_screen_handler.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +39 lines, -0 lines 0 comments Download
A chrome/browser/ui/webui/signin/user_chooser_screen_handler.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 1 chunk +229 lines, -0 lines 0 comments Download
A chrome/browser/ui/webui/signin/user_chooser_ui.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +35 lines, -0 lines 0 comments Download
A chrome/browser/ui/webui/signin/user_chooser_ui.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +75 lines, -0 lines 0 comments Download
M chrome/chrome_browser_ui.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 1 chunk +4 lines, -0 lines 0 comments Download
M chrome/common/url_constants.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 2 chunks +2 lines, -0 lines 0 comments Download
M chrome/common/url_constants.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 2 chunks +2 lines, -0 lines 0 comments Download

Messages

Total messages: 39 (0 generated)
Roger Tawa OOO till Jul 10th
https://codereview.chromium.org/16104008/diff/21001/chrome/browser/resources/chromeos/login/user_pod_row.js File chrome/browser/resources/chromeos/login/user_pod_row.js (right): https://codereview.chromium.org/16104008/diff/21001/chrome/browser/resources/chromeos/login/user_pod_row.js#newcode307 chrome/browser/resources/chromeos/login/user_pod_row.js:307: } Would it be possible to derive something like ...
7 years, 6 months ago (2013-06-05 18:53:56 UTC) #1
Nikita (slow)
Please ping when this CL is ready for review.
7 years, 6 months ago (2013-06-06 15:05:27 UTC) #2
noms
https://codereview.chromium.org/16104008/diff/21001/chrome/browser/resources/chromeos/login/user_pod_row.js File chrome/browser/resources/chromeos/login/user_pod_row.js (right): https://codereview.chromium.org/16104008/diff/21001/chrome/browser/resources/chromeos/login/user_pod_row.js#newcode307 chrome/browser/resources/chromeos/login/user_pod_row.js:307: } On 2013/06/05 18:53:56, Roger Tawa wrote: > Would ...
7 years, 6 months ago (2013-06-06 19:01:30 UTC) #3
noms (inactive)
Hi Nikita, I think this is ready for review. Would you mind taking a look ...
7 years, 6 months ago (2013-06-10 13:47:44 UTC) #4
Nikita (slow)
first round of comments https://codereview.chromium.org/16104008/diff/33001/chrome/app/generated_resources.grd File chrome/app/generated_resources.grd (right): https://codereview.chromium.org/16104008/diff/33001/chrome/app/generated_resources.grd#newcode14961 chrome/app/generated_resources.grd:14961: + <message name="IDS_LOGIN_PUBLIC_ACCOUNT_ENTER_ACCESSIBLE_NAME" desc="Text to ...
7 years, 6 months ago (2013-06-11 18:22:15 UTC) #5
Nikita (slow)
https://codereview.chromium.org/16104008/diff/33001/chrome/browser/resources/user_chooser/user_chooser.js File chrome/browser/resources/user_chooser/user_chooser.js (right): https://codereview.chromium.org/16104008/diff/33001/chrome/browser/resources/user_chooser/user_chooser.js#newcode1 chrome/browser/resources/user_chooser/user_chooser.js:1: // Copyright (c) 2012 The Chromium Authors. All rights ...
7 years, 6 months ago (2013-06-11 18:43:28 UTC) #6
noms (inactive)
I've answered some of the comments, while I'm fixing all the rest. https://codereview.chromium.org/16104008/diff/33001/chrome/browser/resources/chromeos/login/user_pod_row.js File chrome/browser/resources/chromeos/login/user_pod_row.js ...
7 years, 6 months ago (2013-06-11 19:39:41 UTC) #7
noms
https://codereview.chromium.org/16104008/diff/33001/chrome/app/generated_resources.grd File chrome/app/generated_resources.grd (right): https://codereview.chromium.org/16104008/diff/33001/chrome/app/generated_resources.grd#newcode14961 chrome/app/generated_resources.grd:14961: + <message name="IDS_LOGIN_PUBLIC_ACCOUNT_ENTER_ACCESSIBLE_NAME" desc="Text to be spoken when focus ...
7 years, 6 months ago (2013-06-12 20:41:54 UTC) #8
Nikita (slow)
https://codereview.chromium.org/16104008/diff/33001/chrome/browser/ui/webui/signin/user_chooser_screen_handler.cc File chrome/browser/ui/webui/signin/user_chooser_screen_handler.cc (right): https://codereview.chromium.org/16104008/diff/33001/chrome/browser/ui/webui/signin/user_chooser_screen_handler.cc#newcode101 chrome/browser/ui/webui/signin/user_chooser_screen_handler.cc:101: info_cache.GetNameOfProfileAtIndex(i) == displayName) { On 2013/06/11 19:39:41, Monica Dinculescu ...
7 years, 6 months ago (2013-06-13 08:12:38 UTC) #9
Nikita (slow)
https://codereview.chromium.org/16104008/diff/59001/chrome/browser/resources/user_chooser/user_chooser.html File chrome/browser/resources/user_chooser/user_chooser.html (right): https://codereview.chromium.org/16104008/diff/59001/chrome/browser/resources/user_chooser/user_chooser.html#newcode37 chrome/browser/resources/user_chooser/user_chooser.html:37: <div id="inner-container" class="down"> nit: 2 space indentation https://codereview.chromium.org/16104008/diff/59001/chrome/browser/resources/user_chooser/user_chooser.html#newcode37 chrome/browser/resources/user_chooser/user_chooser.html:37: ...
7 years, 6 months ago (2013-06-14 16:51:35 UTC) #10
Nikita (slow)
Overall looks okay. I'll do a final check once all existing comments are addressed. https://codereview.chromium.org/16104008/diff/74001/chrome/browser/profiles/profile_manager.h ...
7 years, 6 months ago (2013-06-14 17:23:15 UTC) #11
noms (inactive)
This can't actually happen on the desktop. If UserA is signed in with user1@gmail.com, then ...
7 years, 6 months ago (2013-06-18 20:40:33 UTC) #12
Nikita (slow)
On 2013/06/18 20:40:33, Monica Dinculescu wrote: > This can't actually happen on the desktop. If ...
7 years, 6 months ago (2013-06-19 13:33:19 UTC) #13
noms (inactive)
There was a bit of a rebase disaster; please ignore Patch #18 which accidentally deletes ...
7 years, 5 months ago (2013-06-28 17:31:04 UTC) #14
Nikita (slow)
https://codereview.chromium.org/16104008/diff/59001/chrome/browser/resources/user_chooser/user_chooser.html File chrome/browser/resources/user_chooser/user_chooser.html (right): https://codereview.chromium.org/16104008/diff/59001/chrome/browser/resources/user_chooser/user_chooser.html#newcode45 chrome/browser/resources/user_chooser/user_chooser.html:45: <div id="bubble" class="bubble faded" hidden></div> On 2013/06/28 17:31:04, Monica ...
7 years, 5 months ago (2013-07-02 14:20:11 UTC) #15
Nikita (slow)
lgtm https://codereview.chromium.org/16104008/diff/110001/chrome/browser/resources/user_chooser/desktop_user_pod_template.html File chrome/browser/resources/user_chooser/desktop_user_pod_template.html (right): https://codereview.chromium.org/16104008/diff/110001/chrome/browser/resources/user_chooser/desktop_user_pod_template.html#newcode30 chrome/browser/resources/user_chooser/desktop_user_pod_template.html:30: </div> nit: It seems that you have extra ...
7 years, 5 months ago (2013-07-02 14:26:09 UTC) #16
noms
+ Sailesh for owners stamp on: chrome/app/theme/theme_resources.grd chrome/browser/profiles/* Thanks! https://codereview.chromium.org/16104008/diff/110001/chrome/browser/resources/user_chooser/desktop_user_pod_template.html File chrome/browser/resources/user_chooser/desktop_user_pod_template.html (right): https://codereview.chromium.org/16104008/diff/110001/chrome/browser/resources/user_chooser/desktop_user_pod_template.html#newcode30 chrome/browser/resources/user_chooser/desktop_user_pod_template.html:30: ...
7 years, 5 months ago (2013-07-02 21:14:53 UTC) #17
sail
Some high level comments: - CL description needs better formatting: - First line should be ...
7 years, 5 months ago (2013-07-02 21:46:39 UTC) #18
sail
Also, this needs a bug number.
7 years, 5 months ago (2013-07-02 23:11:46 UTC) #19
noms
I've updated the CL description. For the pixelated avatars, the plan is to move towards ...
7 years, 5 months ago (2013-07-03 17:11:34 UTC) #20
sail
> For the pixelated avatars, the plan is to move > towards the CrOS profile ...
7 years, 5 months ago (2013-07-03 18:18:04 UTC) #21
noms
I've put together a small design document that explains the motivation behind this feature, and ...
7 years, 5 months ago (2013-07-05 17:39:27 UTC) #22
sail
It seems like the current approach is to implement the feature and design it later. ...
7 years, 5 months ago (2013-07-05 17:49:28 UTC) #23
noms
I have uploaded a new patch that has: - consistent button styles - RTL support ...
7 years, 5 months ago (2013-07-09 20:41:57 UTC) #24
sail
LGTM Looks great. Thanks so much for sticking through this.
7 years, 5 months ago (2013-07-11 07:10:15 UTC) #25
noms
Roger: I have moved the utility function out of the ProfileManager and into profile_window.cc, as ...
7 years, 5 months ago (2013-07-18 15:43:28 UTC) #26
Roger Tawa OOO till Jul 10th
still lgtm https://codereview.chromium.org/16104008/diff/186001/chrome/browser/profiles/profile_window.cc File chrome/browser/profiles/profile_window.cc (right): https://codereview.chromium.org/16104008/diff/186001/chrome/browser/profiles/profile_window.cc#newcode30 chrome/browser/profiles/profile_window.cc:30: Profile::CreateStatus status) { Align args to first ...
7 years, 5 months ago (2013-07-18 16:04:37 UTC) #27
Nikita (slow)
CC: xiyuan@
7 years, 5 months ago (2013-07-18 17:24:20 UTC) #28
noms
https://codereview.chromium.org/16104008/diff/186001/chrome/browser/profiles/profile_window.cc File chrome/browser/profiles/profile_window.cc (right): https://codereview.chromium.org/16104008/diff/186001/chrome/browser/profiles/profile_window.cc#newcode30 chrome/browser/profiles/profile_window.cc:30: Profile::CreateStatus status) { On 2013/07/18 16:04:37, Roger Tawa wrote: ...
7 years, 5 months ago (2013-07-18 18:04:54 UTC) #29
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/noms@chromium.org/16104008/193003
7 years, 5 months ago (2013-07-18 18:05:44 UTC) #30
commit-bot: I haz the power
Retried try job too often on chromium_presubmit for step(s) presubmit http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=chromium_presubmit&number=15952
7 years, 5 months ago (2013-07-18 19:20:33 UTC) #31
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/noms@chromium.org/16104008/193003
7 years, 5 months ago (2013-07-18 19:22:40 UTC) #32
commit-bot: I haz the power
Retried try job too often on chromium_presubmit for step(s) presubmit http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=chromium_presubmit&number=15961
7 years, 5 months ago (2013-07-18 19:43:14 UTC) #33
noms
Oops! Missed an owner. +Scott for owner stamp on chrome/browser/browser_resources.grd
7 years, 5 months ago (2013-07-18 20:16:56 UTC) #34
sky
LGTM
7 years, 5 months ago (2013-07-19 14:56:16 UTC) #35
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/noms@chromium.org/16104008/193003
7 years, 5 months ago (2013-07-19 14:57:35 UTC) #36
commit-bot: I haz the power
Retried try job too often on linux_chromeos for step(s) browser_tests http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=linux_chromeos&number=137385
7 years, 5 months ago (2013-07-19 18:55:29 UTC) #37
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/noms@chromium.org/16104008/241001
7 years, 5 months ago (2013-07-19 19:21:30 UTC) #38
commit-bot: I haz the power
7 years, 5 months ago (2013-07-19 23:35:45 UTC) #39
Message was sent while issue was closed.
Change committed as 212688

Powered by Google App Engine
This is Rietveld 408576698