[Chrome OS] Content area session is not merged with the OS user session under certain conditions |
||||||
Issue descriptionChrome Version: 65.0.3318.0 OS: Chrome OS What steps will reproduce the problem? (1) Download, flash and install a Chrome OS test image from GoldenEye (2) Complete the OOBE and user sign in flow (3) Build simple Chrome on your workstation and deploy it on the target device (4) Sign into the OS as the previously created user (5) Open any Google property and Sign Out of this account from the content area (6) Sign in with a Google account that is NOT the OS account (7) Sign out from the OS (8) Sign into the OS again (9) Open any Google property and check your accounts What is the expected result? You should see 2 accounts: both these accounts should be merged now What happens instead? Only the second account (the non-OS account) is shown
,
Jan 10 2018
,
Jan 10 2018
Note that in Comment 1, Step 1: Test images do not have an EULA screen and hence |IsEulaAccepted()| returns |false| every time but since OOBE has been completed, we never show the EULA again, even when the device "transitions" to an official build built by developers.
,
Jan 10 2018
,
Jan 10 2018
,
Jan 11 2018
> 2. This causes the Network Portal Detector to be disabled ... - This is wrong. The code you pointed to, does exactly the opposite.
,
Jan 11 2018
Re #3: Test images do have EULA screen.
,
Jan 12 2018
Re Comment #7: Are you sure? In Kushagra's testing, he flashed a test image, didn't get an Eula screen (probably GOOGLE_CHROME_BUILD not defined, see [1]), but finished Oobe. This left the device in a state with EulaAccepted=<unset> but OobeCompleted=true. Then he deploy_chrome'd a build which has the EULA screen (with GOOGLE_CHROME_BUILD defined). So now we're not showing Eula (or any OOBE, because OobeCompleted=true), but the NetworkPortalDetector doesn't get started because is_official_build=true but EulaAccepted=false. I agree that this is basically broken state and you can only get here if you re-deploy a chrome binary with different #defines (without wiping state, which could break random other things too I guess), but if the 'fix' for this is as simple as Kushagra's testing suggest, I'd be in favor of doing it. Especially since I'd assume many developers test Chrome OS changes like this (i.e. cros flash a test version from xbuddy, then chrome_deploy own chrome binary over it). Another fix may be a CHECK-fail if the device is in the is_official_build && OobeCompleted() && !EulaAccepted() state (though that sounds drastic). [1] https://cs.chromium.org/chromium/src/chrome/browser/chromeos/login/wizard_controller.cc?l=729&gs=kythe%253A%252F%252Fchromium%253Flang%253Dc%25252B%25252B%253Fpath%253Dsrc%252Fchrome%252Fbrowser%252Fchromeos%252Flogin%252Fwizard_controller.cc%2523zR6xNbQxcbhqqNxjVrRVPvsWRW3D8OP1TRsd8cM8V38%25253D&gsn=OnNetworkConnected&ct=xref_usages
,
Jan 17 2018
FWIW, I just flashed a M-65 test image and got the EULA screen. Kushagra, are you sure you used test images?
,
Jan 25 2018
I am not so sure anymore. I havent been able to repro the issue since. Closing it as invalid for now. |
||||||
►
Sign in to add a comment |
||||||
Comment 1 by sinhak@chromium.org
, Jan 10 2018