BMM: Make sure we change the hash before we start the loading

We used to change the hash after the loading of the list was complete.
This is an async action.

In r228598 we started hiding the context menus when the user navigates
within the page (using popstate events).

Now combine these two and we get an issue where the context menu is
shown before the we change the hash, leading to the popstate event being
fired after the menu is shown causing it to hide the menu.

This change changes the hash immediately so that the popstate event is
fired before the context menu is shown. Thus fixing the bug.

BUG=309521
R=dbeam@chromium.org

Review URL: https://codereview.chromium.org/31223004

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@230252 0039d316-1c4b-4281-b951-d872f2087c98
[ash] Refactor ShelfView::LayoutToIdealBounds()

Remove redundant call of CalculateIdealBounds().
AnimateToIdealBounds() also calls CalculateIdealBounds() and set overflow button rect.

R=jamescook@chromium.org
BUG=NONE

Review URL: https://codereview.chromium.org/34373002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@230253 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 230252
SVN changes up to revision 230253