Chrome needs to keep track of whether tablet mode is enabled/disabled instead of calling into ash each time it needs that data.
I think a good way to do this would be:
1. Introduce a class TabletModeClient in chrome
2. Have TabletModeController in ash sends changes in tablet mode state to TabletModeClient in chrome over mojo
3. Let chrome code add C++ observers to TabletModeClient directly, rather than using mojo observers
4. Get rid of ash::mojom::TabletModeObserver
This allows all the chrome observers to be synchronously notified once when tablet mode state changes, rather than having multiple mojo message sends.
Does this sound OK?
Comment 1 by jamescook@chromium.org
, Sep 19 2017