Tab dragging: Only merge back to the source window when dragging back.

It's possible that when dragging the dragged window back toward the top
of the screen, it may merge into another browser window other than its
source window as the source window may still in process of bounds change
animation. To prevent this, we create an observer to observe the source
window's bounds animation and during the animation, set the dragged
window not be able to attach to any browser window.

Note the issue does not always happen when dragging the window back
toward the top of the screen, see a record video:
https://drive.google.com/open?id=19ic0rx-1jm6m5PB0wVlob8EfN99PP3_e

Bug: 823769
Change-Id: I98dddbc69160e8146b7394dc5b572069ff92eb11
Reviewed-on: https://chromium-review.googlesource.com/1132534
Commit-Queue: Xiaoqian Dai <xdai@chromium.org>
Reviewed-by: Mitsuru Oshima <oshima@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Cr-Commit-Position: refs/heads/master@{#576583}
6 files changed