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

Issue 77773002: Ensure the ExtensionSystem is ready before initializing an ExtensionAppModelBuilder (Closed)

Created:
7 years, 1 month ago by tapted
Modified:
7 years ago
Reviewers:
stevenjb, benwells
CC:
chromium-reviews, chrome-apps-syd-reviews_chromium.org, tfarina
Visibility:
Public.

Description

Ensure the ExtensionSystem is ready before initializing an ExtensionAppModelBuilder Some code paths currently result in an AppListSyncableService being created for a profile before the profile is fully initialized. In this case, the ExtensionSystem can be used, but the Extension*Service* is not yet created, and has not finished loading all the extensions. Attempting to populate the app launcher model at this point results in no apps being found. This CL adds a check in AppListSyncableService to see if the ExtensionSystem is ready. If not, wait for it to become ready and populate apps then. BUG=321514 TEST=(On mac)Have two signed-in profiles; Have app launcher showing Profile "A", Close all browser windows except for a browser showing profile "B", Quit Chrome, Show app launcher [Chrome starts], Switch app launcher to profile "B". App launcher should show apps, and not be blank. Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=236513

Patch Set 1 #

Patch Set 2 : Use is_ready #

Patch Set 3 : fix tests #

Total comments: 17

Patch Set 4 : address comments #

Total comments: 2

Patch Set 5 : System -> Service #

Unified diffs Side-by-side diffs Delta from patch set Stats (+109 lines, -30 lines) Patch
M chrome/browser/extensions/extension_service_unittest.h View 1 2 3 2 chunks +9 lines, -0 lines 0 comments Download
M chrome/browser/extensions/extension_service_unittest.cc View 1 2 3 4 chunks +36 lines, -18 lines 0 comments Download
M chrome/browser/ui/app_list/app_list_controller_delegate.cc View 1 2 3 1 chunk +1 line, -2 lines 0 comments Download
M chrome/browser/ui/app_list/app_list_syncable_service.h View 1 2 3 4 1 chunk +19 lines, -3 lines 0 comments Download
M chrome/browser/ui/app_list/app_list_syncable_service.cc View 1 2 3 4 2 chunks +28 lines, -2 lines 0 comments Download
M chrome/browser/ui/app_list/app_list_syncable_service_factory.cc View 1 2 3 4 3 chunks +8 lines, -2 lines 0 comments Download
M chrome/browser/ui/app_list/extension_app_model_builder_unittest.cc View 1 2 3 2 chunks +7 lines, -2 lines 0 comments Download
M chrome/chrome_tests_unit.gypi View 1 2 3 2 chunks +1 line, -1 line 0 comments Download

Messages

Total messages: 9 (0 generated)
tapted
Steven could you take a first look? But if this looks the wrong direction you ...
7 years, 1 month ago (2013-11-20 11:03:25 UTC) #1
stevenjb
This generally lgtm with one suggestion and one note. Thanks for fixing this. https://codereview.chromium.org/77773002/diff/170001/chrome/browser/extensions/extension_service_unittest.cc File ...
7 years, 1 month ago (2013-11-20 19:41:14 UTC) #2
benwells
https://codereview.chromium.org/77773002/diff/170001/chrome/browser/extensions/extension_service_unittest.cc File chrome/browser/extensions/extension_service_unittest.cc (right): https://codereview.chromium.org/77773002/diff/170001/chrome/browser/extensions/extension_service_unittest.cc#newcode491 chrome/browser/extensions/extension_service_unittest.cc:491: scoped_ptr<TestingProfile>* profile_ptr, On 2013/11/20 19:41:15, stevenjb wrote: > This ...
7 years, 1 month ago (2013-11-21 00:47:47 UTC) #3
tapted
PTAL https://codereview.chromium.org/77773002/diff/170001/chrome/browser/extensions/extension_service_unittest.cc File chrome/browser/extensions/extension_service_unittest.cc (right): https://codereview.chromium.org/77773002/diff/170001/chrome/browser/extensions/extension_service_unittest.cc#newcode491 chrome/browser/extensions/extension_service_unittest.cc:491: scoped_ptr<TestingProfile>* profile_ptr, On 2013/11/21 00:47:47, benwells wrote: > ...
7 years, 1 month ago (2013-11-21 03:29:55 UTC) #4
stevenjb
Much cleaner, thanks. Still lgtm.
7 years, 1 month ago (2013-11-21 06:34:11 UTC) #5
benwells
lgtm About naming - yeah it's a bit whacky. Plan is for ExtensionSystem to dissipate ...
7 years, 1 month ago (2013-11-21 09:48:11 UTC) #6
tapted
https://codereview.chromium.org/77773002/diff/400002/chrome/browser/ui/app_list/app_list_syncable_service.cc File chrome/browser/ui/app_list/app_list_syncable_service.cc (right): https://codereview.chromium.org/77773002/diff/400002/chrome/browser/ui/app_list/app_list_syncable_service.cc#newcode21 chrome/browser/ui/app_list/app_list_syncable_service.cc:21: extensions::ExtensionSystem* extension_system) On 2013/11/21 09:48:11, benwells wrote: > nit: ...
7 years, 1 month ago (2013-11-21 10:39:03 UTC) #7
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/tapted@chromium.org/77773002/530001
7 years, 1 month ago (2013-11-21 10:40:23 UTC) #8
commit-bot: I haz the power
7 years, 1 month ago (2013-11-21 13:05:27 UTC) #9
Message was sent while issue was closed.
Change committed as 236513

Powered by Google App Engine
This is Rietveld 408576698