After https://codereview.chromium.org/2573703003/ lands the shelf will be created later, after login. This means the shelf view probably doesn't need to support being SetVisible(false) any more.
If that's true then some of the shelf visibility code can be simplified (e.g. IsShelfVisible can go away).
Comment 1 by jamescook@chromium.org
, Dec 16 2016