Instead of ash connecting to chrome for ash::mojom::AppListPresenter, have chrome set the client interface on ash on startup (which it can then use at any point). This enforces the proper layering.
See https://codereview.chromium.org/2525813004/ for a similar change.
Comment 1 by jamescook@chromium.org
, Dec 2 2016