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

Issue 2389763003: arc: Fix race when arc package sync service starts. (Closed)

Created:
4 years, 2 months ago by lgcheng
Modified:
4 years, 2 months ago
Reviewers:
xiyuan, khmel, pavely
CC:
chromium-reviews, elijahtaylor+arcwatch_chromium.org, yusukes+watch_chromium.org, tfarina, hidehiko+watch_chromium.org, lhchavez+watch_chromium.org, Matt Giuca
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

arc: Fix race when arc package sync service starts. Fix the race which happens between initial packagelist refreshed and sync DataTypeController::OnModelStarted by changing the observer of OnAppInstanceReady() to OnPackageListInitialRefreshed(). BUG=652470 Test=Manual Test. Sync service always starts after arc packagelist refreshes correctly. Test=Pass sync integration test. Committed: https://crrev.com/88a14008509adefe2b764ccb573ba629ba68dac5 Cr-Commit-Position: refs/heads/master@{#423362}

Patch Set 1 #

Patch Set 2 : Fix integration test related issue. #

Total comments: 5

Patch Set 3 : Address Yury's comment. #

Total comments: 5

Patch Set 4 : Move RemoveObserver to StopModels. #

Total comments: 2

Patch Set 5 : Add check in case ArcAppListPrefs gets deleted early. #

Patch Set 6 : Add Check in case ArcAppListPrefs gets deleted early. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+43 lines, -30 lines) Patch
M chrome/browser/sync/test/integration/sync_arc_package_helper.cc View 1 1 chunk +5 lines, -0 lines 0 comments Download
M chrome/browser/ui/app_list/arc/arc_app_list_prefs.h View 1 2 3 chunks +8 lines, -0 lines 0 comments Download
M chrome/browser/ui/app_list/arc/arc_app_list_prefs.cc View 1 2 2 chunks +8 lines, -6 lines 0 comments Download
M chrome/browser/ui/app_list/arc/arc_package_sync_data_type_controller.h View 1 2 3 4 5 3 chunks +6 lines, -7 lines 0 comments Download
M chrome/browser/ui/app_list/arc/arc_package_sync_data_type_controller.cc View 1 2 3 4 5 4 chunks +16 lines, -17 lines 0 comments Download

Messages

Total messages: 39 (18 generated)
lgcheng
Hi Xiyuan, Pavel, Yury PTAL at the patch. Thanks!
4 years, 2 months ago (2016-10-04 22:10:12 UTC) #14
khmel
https://codereview.chromium.org/2389763003/diff/60001/chrome/browser/ui/app_list/arc/arc_app_list_prefs.cc File chrome/browser/ui/app_list/arc/arc_app_list_prefs.cc (right): https://codereview.chromium.org/2389763003/diff/60001/chrome/browser/ui/app_list/arc/arc_app_list_prefs.cc#newcode1136 chrome/browser/ui/app_list/arc/arc_app_list_prefs.cc:1136: if (package_list_initial_refreshed_) I don't really understand meaning of package ...
4 years, 2 months ago (2016-10-04 22:31:59 UTC) #16
pavely
lgtm
4 years, 2 months ago (2016-10-05 00:02:06 UTC) #17
lgcheng
Thanks Yury for comments. PTAL. https://codereview.chromium.org/2389763003/diff/60001/chrome/browser/ui/app_list/arc/arc_app_list_prefs.cc File chrome/browser/ui/app_list/arc/arc_app_list_prefs.cc (right): https://codereview.chromium.org/2389763003/diff/60001/chrome/browser/ui/app_list/arc/arc_app_list_prefs.cc#newcode1136 chrome/browser/ui/app_list/arc/arc_app_list_prefs.cc:1136: if (package_list_initial_refreshed_) On 2016/10/04 ...
4 years, 2 months ago (2016-10-05 00:24:36 UTC) #18
khmel
https://codereview.chromium.org/2389763003/diff/60001/chrome/browser/ui/app_list/arc/arc_app_list_prefs.cc File chrome/browser/ui/app_list/arc/arc_app_list_prefs.cc (right): https://codereview.chromium.org/2389763003/diff/60001/chrome/browser/ui/app_list/arc/arc_app_list_prefs.cc#newcode1136 chrome/browser/ui/app_list/arc/arc_app_list_prefs.cc:1136: if (package_list_initial_refreshed_) On 2016/10/05 00:24:36, lgcheng wrote: > On ...
4 years, 2 months ago (2016-10-05 00:30:41 UTC) #19
lgcheng
On 2016/10/05 00:30:41, khmel wrote: > https://codereview.chromium.org/2389763003/diff/60001/chrome/browser/ui/app_list/arc/arc_app_list_prefs.cc > File chrome/browser/ui/app_list/arc/arc_app_list_prefs.cc (right): > > https://codereview.chromium.org/2389763003/diff/60001/chrome/browser/ui/app_list/arc/arc_app_list_prefs.cc#newcode1136 > ...
4 years, 2 months ago (2016-10-05 00:40:02 UTC) #20
xiyuan
https://codereview.chromium.org/2389763003/diff/80001/chrome/browser/ui/app_list/arc/arc_package_sync_data_type_controller.cc File chrome/browser/ui/app_list/arc/arc_package_sync_data_type_controller.cc (right): https://codereview.chromium.org/2389763003/diff/80001/chrome/browser/ui/app_list/arc/arc_package_sync_data_type_controller.cc#newcode71 chrome/browser/ui/app_list/arc/arc_package_sync_data_type_controller.cc:71: arc_prefs_->RemoveObserver(this); Why do we need RemoveObserver then AddObserver?
4 years, 2 months ago (2016-10-05 16:38:58 UTC) #21
lgcheng
https://codereview.chromium.org/2389763003/diff/80001/chrome/browser/ui/app_list/arc/arc_package_sync_data_type_controller.cc File chrome/browser/ui/app_list/arc/arc_package_sync_data_type_controller.cc (right): https://codereview.chromium.org/2389763003/diff/80001/chrome/browser/ui/app_list/arc/arc_package_sync_data_type_controller.cc#newcode71 chrome/browser/ui/app_list/arc/arc_package_sync_data_type_controller.cc:71: arc_prefs_->RemoveObserver(this); On 2016/10/05 16:38:58, xiyuan wrote: > Why do ...
4 years, 2 months ago (2016-10-05 16:50:54 UTC) #22
khmel
https://codereview.chromium.org/2389763003/diff/80001/chrome/browser/ui/app_list/arc/arc_package_sync_data_type_controller.cc File chrome/browser/ui/app_list/arc/arc_package_sync_data_type_controller.cc (right): https://codereview.chromium.org/2389763003/diff/80001/chrome/browser/ui/app_list/arc/arc_package_sync_data_type_controller.cc#newcode71 chrome/browser/ui/app_list/arc/arc_package_sync_data_type_controller.cc:71: arc_prefs_->RemoveObserver(this); On 2016/10/05 16:50:54, lgcheng wrote: > On 2016/10/05 ...
4 years, 2 months ago (2016-10-05 16:55:20 UTC) #23
xiyuan
https://codereview.chromium.org/2389763003/diff/80001/chrome/browser/ui/app_list/arc/arc_package_sync_data_type_controller.cc File chrome/browser/ui/app_list/arc/arc_package_sync_data_type_controller.cc (right): https://codereview.chromium.org/2389763003/diff/80001/chrome/browser/ui/app_list/arc/arc_package_sync_data_type_controller.cc#newcode71 chrome/browser/ui/app_list/arc/arc_package_sync_data_type_controller.cc:71: arc_prefs_->RemoveObserver(this); On 2016/10/05 16:55:20, khmel wrote: > On 2016/10/05 ...
4 years, 2 months ago (2016-10-05 17:00:57 UTC) #24
lgcheng
On 2016/10/05 17:00:57, xiyuan wrote: > https://codereview.chromium.org/2389763003/diff/80001/chrome/browser/ui/app_list/arc/arc_package_sync_data_type_controller.cc > File chrome/browser/ui/app_list/arc/arc_package_sync_data_type_controller.cc > (right): > > https://codereview.chromium.org/2389763003/diff/80001/chrome/browser/ui/app_list/arc/arc_package_sync_data_type_controller.cc#newcode71 ...
4 years, 2 months ago (2016-10-05 17:09:11 UTC) #25
lgcheng
Move RemoveObservers to overrided StopModels. PTAL Thanks!
4 years, 2 months ago (2016-10-05 19:50:16 UTC) #26
xiyuan
lgtm
4 years, 2 months ago (2016-10-05 19:53:26 UTC) #27
khmel
https://codereview.chromium.org/2389763003/diff/80001/chrome/browser/ui/app_list/arc/arc_package_sync_data_type_controller.cc File chrome/browser/ui/app_list/arc/arc_package_sync_data_type_controller.cc (right): https://codereview.chromium.org/2389763003/diff/80001/chrome/browser/ui/app_list/arc/arc_package_sync_data_type_controller.cc#newcode44 chrome/browser/ui/app_list/arc/arc_package_sync_data_type_controller.cc:44: if (arc_prefs_) Can we guarantee that StopModel is always ...
4 years, 2 months ago (2016-10-05 19:55:12 UTC) #28
lgcheng
Check added in StopModels() Thanks for review! https://codereview.chromium.org/2389763003/diff/100001/chrome/browser/ui/app_list/arc/arc_package_sync_data_type_controller.cc File chrome/browser/ui/app_list/arc/arc_package_sync_data_type_controller.cc (right): https://codereview.chromium.org/2389763003/diff/100001/chrome/browser/ui/app_list/arc/arc_package_sync_data_type_controller.cc#newcode75 chrome/browser/ui/app_list/arc/arc_package_sync_data_type_controller.cc:75: arc_prefs_->RemoveObserver(this); On ...
4 years, 2 months ago (2016-10-05 20:17:00 UTC) #29
lgcheng
Hi Yury, This patch fixes discussion offline.
4 years, 2 months ago (2016-10-06 00:21:49 UTC) #30
khmel
On 2016/10/06 00:21:49, lgcheng wrote: > Hi Yury, > > This patch fixes discussion offline. ...
4 years, 2 months ago (2016-10-06 00:23:37 UTC) #31
khmel
On 2016/10/06 00:21:49, lgcheng wrote: > Hi Yury, > > This patch fixes discussion offline. ...
4 years, 2 months ago (2016-10-06 00:23:40 UTC) #32
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2389763003/140001
4 years, 2 months ago (2016-10-06 00:25:23 UTC) #35
commit-bot: I haz the power
Committed patchset #6 (id:140001)
4 years, 2 months ago (2016-10-06 00:53:02 UTC) #37
commit-bot: I haz the power
4 years, 2 months ago (2016-10-06 00:56:04 UTC) #39
Message was sent while issue was closed.
Patchset 6 (id:??) landed as
https://crrev.com/88a14008509adefe2b764ccb573ba629ba68dac5
Cr-Commit-Position: refs/heads/master@{#423362}

Powered by Google App Engine
This is Rietveld 408576698