Makes tabstrip not shift tabs around after insertion

While dragging within a tabstrip the expectation is the insertion
index is based on the left edge of the tabs being dragged. OTOH when
dragging into a new tabstrip (attaching) the expectation is the
insertion index is based on the cursor. This proves problematic as
insertion may change the size of the tabs, resulting in the index
calculated before the insert differing from the index calculated after
the insert. To alleviate this the index is chosen before insertion,
and subsequently a new index is only used once the mouse moves enough
such that the index changes based on the direction the mouse moved
relative to the point at insertion.

BUG=295776
TEST=none
R=ben@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@228005 0039d316-1c4b-4281-b951-d872f2087c98
Refactors the populateDetails logic.


BUG=306136

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@228006 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 228005
SVN changes up to revision 228006
[ash] IconProxy is not dragged after it is created when overflow button is visible

When LauncherItem is dragged off from the shelf, it is moved to last position of
LauncherModel and it goes to invisible state when overflow button is shown.
Because of this invisiblity, dragging event of |drag_view_| is not issued anymore.

R=skuhne@chromium.org
BUG=305078
TEST=ash_unittests, browser_tests, visual test

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

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