app_list: merge AppListViewDelegate into AppListClientImpl in Chrome.
This commit does a few things: - merges the Chrome AppListViewDelegate into AppListClientImpl; - cleans up unused references; - updates methods to proper accesses. Ownership of major classes: - Each user has its own AppListSyncableService, and it holds its own AppListModelUpdater, ModelBuilders, etc. - There's only one AppListClientImpl in ChromeBrowserMainExtraPartsAsh shared by all users, and it holds Search classes, a mojo pointer to the AppListControllerImpl in Ash, etc. - There's only one singleton AppListServiceImpl shared by all users, and it holds AppListControllerDelegateImpl. Their lifecycles: - Among these classes, AppListClientImpl is the first to be initiated, in PreProfileInit. It binds to AppListController in Ash, and then tells AppListServiceImpl two pointers (AppListController*, AppListClientImpl*). - When AppListServiceImpl receives the two pointers, it should have been initiated as a singleton. - The AppListClientImpl is associated with the current active user profile when it's accessed from AppListServiceImpl. Bug: 733662 Change-Id: Iac6de011185bf88c4b3c575871b69bd7a67c340b Reviewed-on: https://chromium-review.googlesource.com/974660Reviewed-by:Xiyuan Xia <xiyuan@chromium.org> Commit-Queue: Jiaquan He <hejq@google.com> Cr-Commit-Position: refs/heads/master@{#546247}
Showing
Please register or sign in to comment