Chromium Code Reviews
DescriptionFix crash during sync load of the signin profile
This fixes hitting a CHECK during restore-after-crash of the
signin profile in case of enrolled device:
[FATAL:device_cloud_policy_manager_chromeos.cc(252)] Check
failed: signin_profile_forwarding_schema_registry_.
The crash was caused by an attempt to start connection for
the device cloud policy manager _before_ the schema
registry of the sign-in profile is passed to it.
This has regressed recently due to the change in commit
afc9d60e96d31a11f756d5c56c2be54a28130960, which, in
particular, made the DeviceSettingsService load much
earlier than previously in case when restore-after-crash
happens. The DeviceSettingsService loading triggers
DeviceCloudPolicyManagerChromeOS::StartConnection(),
which hits a CHECK because this all happens before the
schema registry gets a chance to be passed by
ProfilePolicyConnectorFactory::CreateForBrowserContextInternal().
The fix is to pass the schema registry from a different
location - directly from
SchemaRegistryServiceFactory::CreateForContextInternal() that
constructs the schema registry. This is guaranteed by the
current code to be run before the DeviceSettingsService load
happens.
BUG=698136
TEST=manual: induce a crash on signin screen on an enrolled
device and verify that automatic restart works
Review-Url: https://codereview.chromium.org/2729093002
Cr-Commit-Position: refs/heads/master@{#454627}
(cherry picked from commit 9bae7d67f2a11bc706b9becb3aefa2d2e0286ff0)
Review-Url: https://codereview.chromium.org/2739453004 .
Cr-Commit-Position: refs/branch-heads/3029@{#42}
Cr-Branched-From: 939b32ee5ba05c396eef3fd992822fcca9a2e262-refs/heads/master@{#454471}
Committed: https://chromium.googlesource.com/chromium/src/+/1ef634f4f3ddb8614932d541c203f5584288abc4
Patch Set 1 #
Messages
Total messages: 2 (1 generated)
|
||||||||||||||||||||||||||||