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

Issue 718673002: New user type introduced. Combines regular and supervised features. (Closed)

Created:
6 years, 1 month ago by merkulova
Modified:
6 years ago
CC:
sadrul, oshima+watch_chromium.org, plundblad+watch_chromium.org, aboxhall+watch_chromium.org, yuzo+watch_chromium.org, dmazzoni+watch_chromium.org, dtseng+watch_chromium.org, kalyank, stevenjb+watch_chromium.org, davemoore+watch_chromium.org, nkostylev+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Project:
chromium
Visibility:
Public.

Description

New user type introduced. Combines regular and supervised features. BUG=419009 Inherited from initial CL https://chromereviews.googleplex.com/100407014/ TBR=oshima@chromium.org, achuithb@chromium.org, Finnur@chromium.org, xiyuan@chromium.org, jennyz@chromium.org, bartfab@chromium.org Committed: https://crrev.com/c3ae44da8c3e504e6a74726837016f9eb54c05e6 Cr-Commit-Position: refs/heads/master@{#304398}

Patch Set 1 #

Total comments: 8

Patch Set 2 : First comments addressed. #

Total comments: 29

Patch Set 3 : Comments addressed. #

Total comments: 4

Patch Set 4 : Comment updated. #

Patch Set 5 : To avoid confusion HasGaia methods introduced. #

Total comments: 4

Patch Set 6 : A couple of nits. #

Patch Set 7 : Logical expression fixed. #

Total comments: 19
Unified diffs Side-by-side diffs Delta from patch set Stats (+124 lines, -98 lines) Patch
M chrome/browser/chromeos/accessibility/accessibility_manager.cc View 1 2 3 1 chunk +3 lines, -1 line 1 comment Download
M chrome/browser/chromeos/display/display_preferences.cc View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/chromeos/display/display_preferences_unittest.cc View 1 2 3 4 1 chunk +2 lines, -2 lines 0 comments Download
M chrome/browser/chromeos/first_run/drive_first_run_controller.cc View 1 2 3 4 1 chunk +1 line, -1 line 1 comment Download
M chrome/browser/chromeos/login/existing_user_controller.cc View 1 2 3 4 5 6 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/chromeos/login/session/user_session_manager.cc View 1 2 3 4 5 6 chunks +8 lines, -7 lines 2 comments Download
M chrome/browser/chromeos/login/signin/auth_sync_observer.cc View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/chromeos/login/signin/merge_session_throttle.cc View 1 2 3 4 2 chunks +3 lines, -2 lines 1 comment Download
M chrome/browser/chromeos/login/users/avatar/user_image_manager_impl.h View 1 2 3 4 1 chunk +2 lines, -2 lines 1 comment Download
M chrome/browser/chromeos/login/users/avatar/user_image_manager_impl.cc View 1 2 3 4 4 chunks +5 lines, -8 lines 0 comments Download
M chrome/browser/chromeos/login/users/chrome_user_manager_impl.cc View 1 2 3 4 2 chunks +2 lines, -3 lines 1 comment Download
M chrome/browser/chromeos/login/users/fake_user_manager.h View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/chromeos/login/users/fake_user_manager.cc View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/chromeos/login/users/mock_user_manager.h View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/chromeos/policy/device_status_collector.cc View 1 2 3 4 5 6 1 chunk +2 lines, -2 lines 1 comment Download
M chrome/browser/chromeos/policy/user_cloud_policy_manager_factory_chromeos.cc View 1 2 3 4 2 chunks +4 lines, -5 lines 1 comment Download
M chrome/browser/chromeos/policy/user_network_configuration_updater_factory.cc View 1 2 3 4 2 chunks +1 line, -3 lines 0 comments Download
M chrome/browser/chromeos/profiles/profile_helper.cc View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/extensions/api/autotest_private/autotest_private_api.cc View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/extensions/extension_assets_manager_chromeos.cc View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/signin/easy_unlock_service_regular.cc View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/ui/ash/system_tray_delegate_chromeos.cc View 1 2 1 chunk +1 line, -1 line 0 comments Download
M components/user_manager/user.h View 1 2 3 4 5 2 chunks +11 lines, -2 lines 3 comments Download
M components/user_manager/user.cc View 1 2 3 4 5 7 chunks +30 lines, -20 lines 1 comment Download
M components/user_manager/user_manager.h View 1 2 3 4 1 chunk +5 lines, -2 lines 1 comment Download
M components/user_manager/user_manager_base.h View 1 2 3 4 2 chunks +4 lines, -3 lines 1 comment Download
M components/user_manager/user_manager_base.cc View 1 2 3 4 5 9 chunks +26 lines, -23 lines 4 comments Download
M components/user_manager/user_type.h View 1 chunk +3 lines, -1 line 0 comments Download
M tools/metrics/histograms/histograms.xml View 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 44 (13 generated)
merkulova
derat@ for chrome/browser/ui/ash/system_tray_delegate_chromeos.cc review dtseng@ for chrome/browser/chromeos/accessibility/accessibility_manager.cc review bartfab@ for chrome/browser/chromeos/policy/* review nkostylev@ for general ...
6 years, 1 month ago (2014-11-11 11:34:38 UTC) #3
Nikita (slow)
https://codereview.chromium.org/718673002/diff/1/chrome/browser/chromeos/login/existing_user_controller.cc File chrome/browser/chromeos/login/existing_user_controller.cc (right): https://codereview.chromium.org/718673002/diff/1/chrome/browser/chromeos/login/existing_user_controller.cc#newcode231 chrome/browser/chromeos/login/existing_user_controller.cc:231: LoginUtils::IsWhitelisted((*it)->email(), NULL) || (*it)->IsRegular(); This has to be !(*it)->IsRegular() ...
6 years, 1 month ago (2014-11-11 12:06:36 UTC) #4
merkulova
https://codereview.chromium.org/718673002/diff/1/chrome/browser/chromeos/login/existing_user_controller.cc File chrome/browser/chromeos/login/existing_user_controller.cc (right): https://codereview.chromium.org/718673002/diff/1/chrome/browser/chromeos/login/existing_user_controller.cc#newcode231 chrome/browser/chromeos/login/existing_user_controller.cc:231: LoginUtils::IsWhitelisted((*it)->email(), NULL) || (*it)->IsRegular(); On 2014/11/11 12:06:36, Nikita wrote: ...
6 years, 1 month ago (2014-11-11 15:47:44 UTC) #5
Nikita (slow)
lgtm
6 years, 1 month ago (2014-11-11 15:51:55 UTC) #6
Daniel Erat
lgtm for c/b/ui with some comments https://codereview.chromium.org/718673002/diff/20001/chrome/browser/ui/ash/system_tray_delegate_chromeos.cc File chrome/browser/ui/ash/system_tray_delegate_chromeos.cc (right): https://codereview.chromium.org/718673002/diff/20001/chrome/browser/ui/ash/system_tray_delegate_chromeos.cc#newcode556 chrome/browser/ui/ash/system_tray_delegate_chromeos.cc:556: // Only regular ...
6 years, 1 month ago (2014-11-11 16:02:49 UTC) #7
bartfab (slow)
Since this is a new user type, why do we not introduce a new subclass ...
6 years, 1 month ago (2014-11-11 17:22:58 UTC) #8
David Tseng
lgtm for accessibility_manager.cc
6 years, 1 month ago (2014-11-11 17:41:30 UTC) #9
David Tseng
https://codereview.chromium.org/718673002/diff/20001/chrome/browser/chromeos/accessibility/accessibility_manager.cc File chrome/browser/chromeos/accessibility/accessibility_manager.cc (right): https://codereview.chromium.org/718673002/diff/20001/chrome/browser/chromeos/accessibility/accessibility_manager.cc#newcode485 chrome/browser/chromeos/accessibility/accessibility_manager.cc:485: user_manager::UserManager::Get()-> nit: simplify this expression to !a && !b
6 years, 1 month ago (2014-11-11 17:44:58 UTC) #10
bartfab (slow)
https://codereview.chromium.org/718673002/diff/20001/chrome/browser/chromeos/login/users/avatar/user_image_manager_impl.cc File chrome/browser/chromeos/login/users/avatar/user_image_manager_impl.cc (right): https://codereview.chromium.org/718673002/diff/20001/chrome/browser/chromeos/login/users/avatar/user_image_manager_impl.cc#newcode36 chrome/browser/chromeos/login/users/avatar/user_image_manager_impl.cc:36: #include "components/user_manager/user_type.h" Nit: No longer used. https://codereview.chromium.org/718673002/diff/20001/chrome/browser/chromeos/policy/user_cloud_policy_manager_factory_chromeos.cc File chrome/browser/chromeos/policy/user_cloud_policy_manager_factory_chromeos.cc ...
6 years, 1 month ago (2014-11-11 19:42:07 UTC) #11
merkulova
+asvitkine@ for histograms.xml review
6 years, 1 month ago (2014-11-11 20:22:05 UTC) #13
Alexei Svitkine (slow)
lgtm
6 years, 1 month ago (2014-11-11 20:32:00 UTC) #14
merkulova
https://codereview.chromium.org/718673002/diff/20001/chrome/browser/chromeos/accessibility/accessibility_manager.cc File chrome/browser/chromeos/accessibility/accessibility_manager.cc (right): https://codereview.chromium.org/718673002/diff/20001/chrome/browser/chromeos/accessibility/accessibility_manager.cc#newcode485 chrome/browser/chromeos/accessibility/accessibility_manager.cc:485: user_manager::UserManager::Get()-> On 2014/11/11 17:44:57, David Tseng wrote: > nit: ...
6 years, 1 month ago (2014-11-12 10:01:02 UTC) #15
Nikita (slow)
https://codereview.chromium.org/718673002/diff/40001/components/user_manager/user.h File components/user_manager/user.h (right): https://codereview.chromium.org/718673002/diff/40001/components/user_manager/user.h#newcode100 components/user_manager/user.h:100: // Returns true if user is regular. nit: mention ...
6 years, 1 month ago (2014-11-12 10:55:38 UTC) #16
Nikita (slow)
https://codereview.chromium.org/718673002/diff/40001/components/user_manager/user.h File components/user_manager/user.h (right): https://codereview.chromium.org/718673002/diff/40001/components/user_manager/user.h#newcode100 components/user_manager/user.h:100: // Returns true if user is regular. On 2014/11/12 ...
6 years, 1 month ago (2014-11-12 10:56:33 UTC) #17
merkulova
https://codereview.chromium.org/718673002/diff/40001/components/user_manager/user.h File components/user_manager/user.h (right): https://codereview.chromium.org/718673002/diff/40001/components/user_manager/user.h#newcode100 components/user_manager/user.h:100: // Returns true if user is regular. On 2014/11/12 ...
6 years, 1 month ago (2014-11-12 11:01:17 UTC) #18
bartfab (slow)
https://codereview.chromium.org/718673002/diff/20001/components/user_manager/user.cc File components/user_manager/user.cc (right): https://codereview.chromium.org/718673002/diff/20001/components/user_manager/user.cc#newcode48 components/user_manager/user.cc:48: bool User::IsRegular() const { On 2014/11/12 10:01:02, merkulova wrote: ...
6 years, 1 month ago (2014-11-12 16:20:26 UTC) #19
merkulova
On discussion with bartfab@ renaming was introduced. Nikita, Bartosz, PTAL before I add more reviewers ...
6 years, 1 month ago (2014-11-13 14:15:35 UTC) #20
Nikita (slow)
On 2014/11/13 14:15:35, merkulova wrote: > On discussion with bartfab@ renaming was introduced. > Nikita, ...
6 years, 1 month ago (2014-11-13 15:51:47 UTC) #21
Nikita (slow)
On 2014/11/13 15:51:47, Nikita wrote: > On 2014/11/13 14:15:35, merkulova wrote: > > On discussion ...
6 years, 1 month ago (2014-11-14 09:30:22 UTC) #22
Nikita (slow)
On 2014/11/13 14:15:35, merkulova wrote: > On discussion with bartfab@ renaming was introduced. > Nikita, ...
6 years, 1 month ago (2014-11-14 09:34:41 UTC) #23
Nikita (slow)
https://codereview.chromium.org/718673002/diff/80001/components/user_manager/user.cc File components/user_manager/user.cc (right): https://codereview.chromium.org/718673002/diff/80001/components/user_manager/user.cc#newcode32 components/user_manager/user.cc:32: bool User::TypeHasGaia(UserType user_type) { nit: TypeHasGaiaAccount https://codereview.chromium.org/718673002/diff/80001/components/user_manager/user_manager_base.cc File components/user_manager/user_manager_base.cc ...
6 years, 1 month ago (2014-11-14 09:34:52 UTC) #24
merkulova
+oshima@ for .../display/* review +dzhioev@ for drive_first_run_controller review +achuith@ for autotest_private_api.cc review +finnur@ for extension_asset_manager_chromeos.cc ...
6 years, 1 month ago (2014-11-14 10:09:49 UTC) #26
merkulova
Moving to TBR
6 years, 1 month ago (2014-11-14 10:16:45 UTC) #28
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/718673002/100001
6 years, 1 month ago (2014-11-14 13:36:56 UTC) #33
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_chromeos_rel on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_chromeos_rel/builds/11936)
6 years, 1 month ago (2014-11-14 14:56:18 UTC) #35
xiyuan
easy_unlock* LGTM
6 years, 1 month ago (2014-11-14 16:19:07 UTC) #37
Finnur
extension_asset_manager_chromeos.cc LGTM (rubberstamp)
6 years, 1 month ago (2014-11-14 18:46:44 UTC) #38
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/718673002/120001
6 years, 1 month ago (2014-11-17 08:39:12 UTC) #40
commit-bot: I haz the power
Committed patchset #7 (id:120001)
6 years, 1 month ago (2014-11-17 09:35:17 UTC) #41
commit-bot: I haz the power
Patchset 7 (id:??) landed as https://crrev.com/c3ae44da8c3e504e6a74726837016f9eb54c05e6 Cr-Commit-Position: refs/heads/master@{#304398}
6 years, 1 month ago (2014-11-17 09:35:57 UTC) #42
bartfab (slow)
6 years ago (2014-11-27 12:51:51 UTC) #44
Message was sent while issue was closed.
Belated lgtm with a couple of nits.

https://codereview.chromium.org/718673002/diff/120001/chrome/browser/chromeos...
File chrome/browser/chromeos/accessibility/accessibility_manager.cc (right):

https://codereview.chromium.org/718673002/diff/120001/chrome/browser/chromeos...
chrome/browser/chromeos/accessibility/accessibility_manager.cc:486: return
!user_manager::UserManager::Get()->IsLoggedInAsSupervisedUser() &&
Nit: It would be more elegant to do this instead:
const User* user = use user_manager::UserManager::Get()->GetActiveUser();
return !user || !user->IsSupervised();

That way, this code does not need to know all the different supervised user
types.

https://codereview.chromium.org/718673002/diff/120001/chrome/browser/chromeos...
File chrome/browser/chromeos/first_run/drive_first_run_controller.cc (right):

https://codereview.chromium.org/718673002/diff/120001/chrome/browser/chromeos...
chrome/browser/chromeos/first_run/drive_first_run_controller.cc:365: "but not
logged in a regular user.";
Nit: s/a regular/as a gaia/

https://codereview.chromium.org/718673002/diff/120001/chrome/browser/chromeos...
File chrome/browser/chromeos/login/session/user_session_manager.cc (right):

https://codereview.chromium.org/718673002/diff/120001/chrome/browser/chromeos...
chrome/browser/chromeos/login/session/user_session_manager.cc:331: // We need to
restore session only for logged in GAIA (regular) users.
Nit: As elsewhere, I think we can drop the "regular."

https://codereview.chromium.org/718673002/diff/120001/chrome/browser/chromeos...
chrome/browser/chromeos/login/session/user_session_manager.cc:1204: // Only
update Easy unlock keys for regular user.
Nit: s/regular/gaia/

https://codereview.chromium.org/718673002/diff/120001/chrome/browser/chromeos...
File chrome/browser/chromeos/login/signin/merge_session_throttle.cc (right):

https://codereview.chromium.org/718673002/diff/120001/chrome/browser/chromeos...
chrome/browser/chromeos/login/signin/merge_session_throttle.cc:169: // This is
not a regular user session, let's remove the throttle
Nit: s/regular/gaia/

https://codereview.chromium.org/718673002/diff/120001/chrome/browser/chromeos...
File chrome/browser/chromeos/login/users/avatar/user_image_manager_impl.h
(right):

https://codereview.chromium.org/718673002/diff/120001/chrome/browser/chromeos...
chrome/browser/chromeos/login/users/avatar/user_image_manager_impl.h:152: //
Returns true if user with |user_id_| is logged in and has gaia account.
Nit: s/has/has a/

https://codereview.chromium.org/718673002/diff/120001/chrome/browser/chromeos...
File chrome/browser/chromeos/login/users/chrome_user_manager_impl.cc (right):

https://codereview.chromium.org/718673002/diff/120001/chrome/browser/chromeos...
chrome/browser/chromeos/login/users/chrome_user_manager_impl.cc:579: //
opportunity to clean up by removing all regular users except the owner.
Nit: s/regular/gaia/

https://codereview.chromium.org/718673002/diff/120001/chrome/browser/chromeos...
File chrome/browser/chromeos/policy/device_status_collector.cc (right):

https://codereview.chromium.org/718673002/diff/120001/chrome/browser/chromeos...
chrome/browser/chromeos/policy/device_status_collector.cc:434: // Only users
with gaia accounts (regular) are reported.
Nit: As before, I think we should drop the " (regular)"

https://codereview.chromium.org/718673002/diff/120001/chrome/browser/chromeos...
File
chrome/browser/chromeos/policy/user_cloud_policy_manager_factory_chromeos.cc
(right):

https://codereview.chromium.org/718673002/diff/120001/chrome/browser/chromeos...
chrome/browser/chromeos/policy/user_cloud_policy_manager_factory_chromeos.cc:132:
// USER_TYPE_RETAIL_MODE, USER_TYPE_KIOSK_APP, USER_TYPE_GUEST
This is actually out of date. USER_TYPE_KIOSK_APP gets policy from
DeviceLocalAccountPolicyService, just like USER_TYPE_PUBLIC_ACCOUNT.

https://codereview.chromium.org/718673002/diff/120001/components/user_manager...
File components/user_manager/user.cc (right):

https://codereview.chromium.org/718673002/diff/120001/components/user_manager...
components/user_manager/user.cc:147: UserType type = GetType();
Nit: Const.

https://codereview.chromium.org/718673002/diff/120001/components/user_manager...
File components/user_manager/user.h (right):

https://codereview.chromium.org/718673002/diff/120001/components/user_manager...
components/user_manager/user.h:78: // Returns true if user type has gaia
account.
Nit 1: s/user/the user/
Nit 2: s/gaia/a gaia/

https://codereview.chromium.org/718673002/diff/120001/components/user_manager...
components/user_manager/user.h:97: // Allows managing supervised status of the
user. Used for RegularUser.
Nit 1: "Managing" is somewhat overloaded. I think "setting" would be more
neutral.
Nit 2: s/managing supervised status of the user/management of the user's
supervised status/
Nit 3: The reference to the |RegularUser| class here in the header is strange as
that class is only defined as an internal detail in the implementation file. How
about "regular user" instead?

https://codereview.chromium.org/718673002/diff/120001/components/user_manager...
components/user_manager/user.h:100: // Returns true if user has gaia account.
True for users of types
Nit 1: s/user/the user/
Nit 2: s/gaia/a gaia/

https://codereview.chromium.org/718673002/diff/120001/components/user_manager...
File components/user_manager/user_manager.h (right):

https://codereview.chromium.org/718673002/diff/120001/components/user_manager...
components/user_manager/user_manager.h:256: // Returns true if we're logged in
as a user with gaia account.
Nit: s/with/with a/

https://codereview.chromium.org/718673002/diff/120001/components/user_manager...
File components/user_manager/user_manager_base.cc (right):

https://codereview.chromium.org/718673002/diff/120001/components/user_manager...
components/user_manager/user_manager_base.cc:61: // a user with gaia account
(regular) or an empty string if it was another type
Nit: As before, I am not sure "regular" is actually helpful here.

https://codereview.chromium.org/718673002/diff/120001/components/user_manager...
components/user_manager/user_manager_base.cc:251: "Switching to a user without
gaia account (non-regular one)";
Nit: As before, "non-regular one" is not really helpful. We have so many user
types now that "regular" vs. "non-regular" is pretty murky.

https://codereview.chromium.org/718673002/diff/120001/components/user_manager...
components/user_manager/user_manager_base.cc:620: // a) The user logged into a
regular gaia account while the ephemeral users
Nit: s/into a regular/in with a/ (there is not such thing as a "regular gaia
account")

https://codereview.chromium.org/718673002/diff/120001/components/user_manager...
components/user_manager/user_manager_base.cc:668: // Only regular and supervised
users are allowed to be manually removed.
Nit: "regular" and "supervised" overlap now that we also have "regular
supervised." How about "Only gaia and legacy supervised users"?

https://codereview.chromium.org/718673002/diff/120001/components/user_manager...
File components/user_manager/user_manager_base.h (right):

https://codereview.chromium.org/718673002/diff/120001/components/user_manager...
components/user_manager/user_manager_base.h:311: // Sends metrics in response to
a user with gaia account (regular) logging in.
Nit 1: s/gaia/a gaia/
Nit 2: I am not sure the "regular" here makes things clearer. If anything, it
makes it sound like there are different typesof users with gaia accounts and
this method apply to a subset of them (the regular users) only.

Powered by Google App Engine
This is Rietveld 408576698