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

Issue 2832673002: [Merge to M59] Break circular dependency between InitializeDeviceDisablingManager and DeviceDisable… (Closed)

Created:
3 years, 8 months ago by Ivan Šandrk
Modified:
3 years, 8 months ago
Reviewers:
CC:
chromium-reviews
Target Ref:
refs/branch-heads/3071
Project:
chromium
Visibility:
Public.

Description

[Merge to M59] Break circular dependency between InitializeDeviceDisablingManager and DeviceDisabledScreen crrev.com/2714493002 uncovered a circular dependency between BrowserProcessPlatformPart::InitializeDeviceDisablingManager and DeviceDisabledScreen::DeviceDisabledScreen. Previously there was a part in the call stack that forked off into an asynchronous call, DeviceDisablingManager::UpdateFromCrosSettings, which would queue up a callback in case the CrosSettings wasn't ready yet (and it wasn't). The referenced CL fixed a bug by immediately loading the settings, but it unfortunately broke the assumption here. The suggested fix breaks the dependency by moving Init() outside of the constructor (so the object exists at the time further code called from Init() tries to access it). This bug was causing a crash for disabled devices (ui wouldn't start). The circle starts on the "device_disabling_manager_.reset" line. TEST=manual BUG=709518 Review-Url: https://codereview.chromium.org/2815893002 Cr-Commit-Position: refs/heads/master@{#464708} (cherry picked from commit 87c761f625a57653cc241f5691cb013ad9ca3efa) Review-Url: https://codereview.chromium.org/2832673002 . Cr-Commit-Position: refs/branch-heads/3071@{#68} Cr-Branched-From: a106f0abbf69dad349d4aaf4bcc4f5d376dd2377-refs/heads/master@{#464641} Committed: https://chromium.googlesource.com/chromium/src/+/c438eb0c1cf953e341a196d7ce57e28eecec7aa7

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+6 lines, -6 lines) Patch
M chrome/browser/browser_process_platform_part_chromeos.cc View 1 chunk +1 line, -0 lines 0 comments Download
M chrome/browser/chromeos/login/screens/device_disabled_screen.cc View 1 chunk +1 line, -3 lines 0 comments Download
M chrome/browser/chromeos/system/device_disabling_manager.h View 2 chunks +3 lines, -2 lines 0 comments Download
M chrome/browser/chromeos/system/device_disabling_manager.cc View 1 chunk +0 lines, -1 line 0 comments Download
M chrome/browser/chromeos/system/device_disabling_manager_unittest.cc View 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 2 (1 generated)
Ivan Šandrk
3 years, 8 months ago (2017-04-19 22:13:15 UTC) #2
Message was sent while issue was closed.
Committed patchset #1 (id:1) manually as
c438eb0c1cf953e341a196d7ce57e28eecec7aa7.

Powered by Google App Engine
This is Rietveld 408576698