Re-land 71230.

This restores 71230 which was reverted in 71252 by sheriff (to see if it was responsible for a linux test failure -- it was not).

Original change by alekseys:

 Streamline the layout of the BrowserView's children TabContents views.
Modify SingleSplitView to calculate its children view's bounds, but do not actually resize them
and change BrowserViewLayout accordingly (BrowserViewLayout resizes all views now).
Do all reserved contents rect calculations before resizing TabContents views.

Rationale: to do all BrowserView layout related actions in the context of
BrowserViewLayout::Layout call and to minimize actual contents re-layouts.

BUG=51084
TEST=All tests should pass

Review URL: http://codereview.chromium.org/5606012
Review URL: http://codereview.chromium.org/6247001

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