• Jiaquan He's avatar
    app_list: merge AppListViewDelegate into AppListClientImpl in Chrome. · db8976b8
    Jiaquan He authored
    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: default avatarXiyuan Xia <xiyuan@chromium.org>
    Commit-Queue: Jiaquan He <hejq@google.com>
    Cr-Commit-Position: refs/heads/master@{#546247}
    db8976b8
BUILD.gn 171 KB