Relands fixes for 106432, 107287 and 107401. These got reverted
together, so I'm relanding together. Here's the original descriptions:

    Fixes layout bugs in ShelfLayoutManager. The problem with invoking
    SetBounds on the widget during the animation is we end up back in the
    layoutmanager and cancel the change. Also adds some tests for
    ShelfLayoutManager.

and

    Create a visible shelf and constrain window movement

This also includes the fix, which you reviewed @
http://codereview.chromium.org/8914012 .

BUG=106432 107287 107401
TEST=none
[email protected]

Review URL: http://codereview.chromium.org/8914023

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@114502 0039d316-1c4b-4281-b951-d872f2087c98
14 files changed