-
msw authored
Remove ShelfDelegate, subclasses, accessors, etc. Move ShelfDelegate responsibilities to ash::ShelfModel, add tests. Move ChromeLauncherControllerImpl ownership to ChromeShellDelegate. Add lifetime management functions: ShelfInit() and ShelfShutdown(). Apply similar ownership changes in tests; expose an AshTestHelper. Remove ShelfDelegate responsibilities from ChromeLauncherController: * Apply chrome-specific item info/delegates in ShelfItemAdded. - Support ShelfModel::SetItem calls amid ShelfItemAdded in ShelfView. - Register some item delegates early to avoid a default one. * Cleanup chrome-side item info in ShelfItemRemoved. TODO: Make ChromeLauncherControllerImpl lifetime more flexible. TODO: Move functions to (or add accessors on) ash::[mojom::]ShelfController. BUG=557406,698887 TEST=No Chrome OS shelf behavior changes. R=jamescook@chromium.org,sky@chromium.org Review-Url: https://codereview.chromium.org/2791463002 Cr-Commit-Position: refs/heads/master@{#465821}
5138f3dd