New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 849867 link

Starred by 4 users

Issue metadata

Status: Fixed
Owner:
Working on ARC now
Closed: Jul 13
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug-Regression



Sign in to add a comment

ARC: Unable to set B&R / GLS prefs for consumer accounts

Project Member Reported by jhorwich@chromium.org, Jun 5 2018

Issue description

Chrome Version: refs/heads/master@{#564190}   (ToT in 2018-06-04)
OS: 10752.0.x  (Developer build, ToT as of 2018-06-04)

What steps will reproduce the problem?
(1) Add consumer account to Chromebook in login screen
(2) Observe "Google Play apps and services" setup screen - in particular the checkboxes for "Back up to Google Drive" (B&R) and "Help apps find location" (GLS).
(3) After choosing "I Agree" to Play ToS, go to Android Settings > Back up my data or to Android Settings > Location > Scanning

What is the expected result?

User can opt in to B&R or GLS during Play setup
User can toggle settings in Android Settings application

What happens instead?

Checkboxes are greyed out in ARC setup flow (and unchecked)
Android settings app shows B&R / scanning settings as off, "enforced by your administrator" and control is disabled.
printf-debugging reveals pref->IsUserModifiable() to be false for B&R (I suspect GLS too, didn't check) in ArcSettingsServiceImpl::SyncBackupEnabled()

I suspect this regressed when https://chromium-review.googlesource.com/c/chromium/src/+/1068189 landed:

- I tried a simplechrome build @ refs/heads/master@{#561484} and noticed the same behavior with the setup dialog and the Android settings app. This corresponds to https://chromium-review.googlesource.com/c/chromium/src/+/1068189
- I tried a simplechrome build @ the prior revision (effectively reverting https://chromium-review.googlesource.com/c/chromium/src/+/1068189) and the setup dialog allowed me to toggle the B&R / GLS checkboxes. Android settings allowed me to toggle "Back up my data".

Marking M-68 due to the suspected culprit landing before the M68 branch point.
 
Cc: abod...@chromium.org sdantul...@chromium.org
Cc: dhadd...@chromium.org
Yes, this was definitely caused by that CL. We added a new policy handler that changes defaults. This handler should run for users with policy (managed users) only. It runs for consumer users as well for some reason, and that causes the symptoms we are seeing.
Cc: -bartfab@chromium.org
Owner: bartfab@chromium.org
Status: Assigned (was: Untriaged)
Components: Platform>Apps>ARC

Comment 6 by khmel@chromium.org, Jun 25 2018

Cc: bartfab@chromium.org brajkumar@chromium.org ajha@chromium.org
 Issue 847169  has been merged into this issue.

Comment 7 by khmel@chromium.org, Jun 25 2018

Labels: ReleaseBlock-Stable
Transfer Release blocker from 847169
Status: Started (was: Assigned)
Fix under review: https://chromium-review.googlesource.com/c/chromium/src/+/1120177
Project Member

Comment 9 by bugdroid1@chromium.org, Jul 2

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0248c495fd24353a1e9feba0981fddd554a7ac08

commit 0248c495fd24353a1e9feba0981fddd554a7ac08
Author: Bartosz Fabianowski <bartfab@google.com>
Date: Mon Jul 02 13:44:32 2018

Fix Android B&R and GLS check boxes for consumers

We changed the enterprise/edu default so that unless the corresponding
policies are explicitly set to "let the user decide," Android B&R and
GLS are disabled and the corresponding check boxes are grayed out.

Unfortunately, the policy handler code that implements this logic runs
for consumer users as well. Consumers have no policies set, so the new
default behavior kicks in, disabling and graying out the Android B&R
and GLS check boxes.

This CL fixes consumer behavior by only controlling B&R and GLS if the
ArcEnabled policy is set. Since this policy is unset for consumers, they
are shielded from the new behavior. Some enterprise users may also have
the policy unset, but ArcEnabled unset or false for enterprise users
means ARC++ is disabled, so B&R and GLS are N/A anyway.

Bug:  849867 
Test: ArcServicePolicyHandlerTest and manual verification
Change-Id: Id3b785e4cde02716d54391607a64fac58604ed88
Reviewed-on: https://chromium-review.googlesource.com/1120177
Commit-Queue: Bartosz Fabianowski <bartfab@chromium.org>
Reviewed-by: Maksim Ivanov <emaxx@chromium.org>
Cr-Commit-Position: refs/heads/master@{#571879}
[modify] https://crrev.com/0248c495fd24353a1e9feba0981fddd554a7ac08/chrome/browser/chromeos/policy/configuration_policy_handler_chromeos.cc
[modify] https://crrev.com/0248c495fd24353a1e9feba0981fddd554a7ac08/chrome/browser/chromeos/policy/configuration_policy_handler_chromeos.h
[modify] https://crrev.com/0248c495fd24353a1e9feba0981fddd554a7ac08/chrome/browser/chromeos/policy/configuration_policy_handler_chromeos_unittest.cc
[modify] https://crrev.com/0248c495fd24353a1e9feba0981fddd554a7ac08/chrome/browser/policy/policy_browsertest.cc
[modify] https://crrev.com/0248c495fd24353a1e9feba0981fddd554a7ac08/chrome/test/data/policy/policy_test_cases.json
[modify] https://crrev.com/0248c495fd24353a1e9feba0981fddd554a7ac08/components/policy/resources/policy_templates.json

Labels: Merge-Request-68
I just verified the fix on Chrome OS 10845.0.0. Requesting merge for http://crrev/c/1120177 to M68.
Project Member

Comment 11 by sheriffbot@chromium.org, Jul 4

Labels: -Merge-Request-68 Hotlist-Merge-Review Merge-Review-68
This bug requires manual review: M68 has already been promoted to the beta branch, so this requires manual review
Please contact the milestone owner if you have questions.
Owners: cmasso@(Android), kariahda@(iOS), bhthompson@(ChromeOS), abdulsyed@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Labels: -Merge-Review-68 Merge-Approved-68
Project Member

Comment 13 by bugdroid1@chromium.org, Jul 12

Labels: -merge-approved-68 merge-merged-3440
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d92691b9d0124084f6171011b6138402207272c5

commit d92691b9d0124084f6171011b6138402207272c5
Author: Josh Horwich <jhorwich@chromium.org>
Date: Thu Jul 12 16:21:41 2018

Fix Android B&R and GLS check boxes for consumers

We changed the enterprise/edu default so that unless the corresponding
policies are explicitly set to "let the user decide," Android B&R and
GLS are disabled and the corresponding check boxes are grayed out.

Unfortunately, the policy handler code that implements this logic runs
for consumer users as well. Consumers have no policies set, so the new
default behavior kicks in, disabling and graying out the Android B&R
and GLS check boxes.

This CL fixes consumer behavior by only controlling B&R and GLS if the
ArcEnabled policy is set. Since this policy is unset for consumers, they
are shielded from the new behavior. Some enterprise users may also have
the policy unset, but ArcEnabled unset or false for enterprise users
means ARC++ is disabled, so B&R and GLS are N/A anyway.

TBR=bartfab@google.com

(cherry picked from commit 0248c495fd24353a1e9feba0981fddd554a7ac08)

Bug:  849867 
Test: ArcServicePolicyHandlerTest and manual verification
Change-Id: Id3b785e4cde02716d54391607a64fac58604ed88
Reviewed-on: https://chromium-review.googlesource.com/1120177
Commit-Queue: Bartosz Fabianowski <bartfab@chromium.org>
Reviewed-by: Maksim Ivanov <emaxx@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#571879}
Reviewed-on: https://chromium-review.googlesource.com/1134483
Reviewed-by: Josh Horwich <jhorwich@chromium.org>
Cr-Commit-Position: refs/branch-heads/3440@{#656}
Cr-Branched-From: 010ddcfda246975d194964ccf20038ebbdec6084-refs/heads/master@{#561733}
[modify] https://crrev.com/d92691b9d0124084f6171011b6138402207272c5/chrome/browser/chromeos/policy/configuration_policy_handler_chromeos.cc
[modify] https://crrev.com/d92691b9d0124084f6171011b6138402207272c5/chrome/browser/chromeos/policy/configuration_policy_handler_chromeos.h
[modify] https://crrev.com/d92691b9d0124084f6171011b6138402207272c5/chrome/browser/chromeos/policy/configuration_policy_handler_chromeos_unittest.cc
[modify] https://crrev.com/d92691b9d0124084f6171011b6138402207272c5/chrome/browser/policy/policy_browsertest.cc
[modify] https://crrev.com/d92691b9d0124084f6171011b6138402207272c5/chrome/test/data/policy/policy_test_cases.json
[modify] https://crrev.com/d92691b9d0124084f6171011b6138402207272c5/components/policy/resources/policy_templates.json

Status: Fixed (was: Started)
Merge CL made it in to Chrome 68.0.3440.61 / Chrome OS 10718.52.0 - I was able to control B+R/GLS for a consumer account in the ToS dialog and Android settings app, and a managed account did not see the ToS screen and had the settings managed in Android settings, as desired.

Sign in to add a comment